rsync Permission Setting Failure – Operation Not Supported (95) Fix

chmodlinuxrsync

I want to virtualize correctly Android 10 on top of my Jetson nano (arm64) using qemu and kvm on ubuntu 18.04. This is the tutorial that I'm following :

https://github.com/antmicro/kvm-aosp-jetson-nano

everything went good until this command :

sudo rsync -avxHAX system-r{o,w}/

something is not good because I get a lot of errors when I transfer the files and permissions from the source to the destination path (both are on the same disk and on the same ext4 partition. You can see the full log with the errors here :

https://pastebin.ubuntu.com/p/W9GjPCt8G4/

the consequence of these errors is that when I try to emulate android with qemu like this :

qemu-system-aarch64 \
-enable-kvm \
-smp 4 \
-m 2048 \
-cpu host \
-M virt \
-device virtio-gpu-pci \
-device usb-ehci \
-device usb-kbd \
-device virtio-tablet-pci \
-usb \
-serial stdio \
-display sdl,gl=on \
-kernel aosp/Image \
-initrd aosp/ramdisk.img \
-drive index=0,if=none,id=system,file=aosp/system.img \
-device virtio-blk-pci,drive=system \
-drive index=1,if=none,id=vendor,file=aosp/vendor.img \
-device virtio-blk-pci,drive=vendor \
-drive index=2,if=none,id=userdata,file=aosp/userdata.img \
-device virtio-blk-pci,drive=userdata \
-full-screen \
-append "console=ttyAMA0,38400 earlycon=pl011,0x09000000 drm.debug=0x0 rootwait rootdelay=5 androidboot.hardware=ranchu androidboot.selinux=permissive security=selinux selinux=1 androidboot.qemu.hw.mainkeys=0 androidboot.lcd.density=160"

this is the error that I get :

[ 2.532754] init: init first stage started!
[ 2.535936] init: [libfs_mgr]ReadFstabFromDt(): failed to read fstab from dt
[ 2.540632] init: [libfs_mgr]ReadDefaultFstab(): failed to find device default fstab
[ 2.546246] init: Failed to fstab for first stage mount
[ 2.549616] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 2.555116] init: [libfs_mgr]ReadDefaultFstab(): failed to find device default fstab
[ 2.560762] init: First stage mount skipped (missing/incompatible/empty fstab in device tree)
[ 2.566906] init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
[ 2.571227] init: execv("/system/bin/init") failed: No such file or directory
[ 2.593768] init: #00 pc 00000000000e90a0 /init
[ 2.599958] reboot: Restarting system with command 'bootloader'

I've just edited my /etc/fstab file like this :

UUID=84d024e0-c8c7-42c0-ad3e-c3e0c1cacdb7 / ext4 acl,user_xattr,noatime,errors=remount-ro 0 1

and also like this :

UUID=84d024e0-c8c7-42c0-ad3e-c3e0c1cacdb7 / ext4 defaults,acl,user_xattr,noatime,errors=remount-ro 0 1

but the error still there :

sending incremental file list
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/bin": Operation not supported (95)
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/bugreports": Operation not supported (95)
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/charger": Operation not supported (95)
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/d": Operation not supported (95)
.....
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/system/usr/icu": Operation not supported (95)

sent 109,493 bytes received 1,223 bytes 221,432.00 bytes/sec
total size is 1,354,488,586 speedup is 12,233.90
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]

this is also interesting :

root@Z390-AORUS-PRO:/home/ziomario/Scrivania/antmicro/aosp_images# sudo mount -o remount,acl /

root@Z390-AORUS-PRO:/home/ziomario/Scrivania/antmicro/aosp_images# sudo rsync -avxHAX system-r{o,w}/

sending incremental file list
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/bin": Operation not supported (95)
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/bugreports": Operation not supported (95)
rsync: [generator] failed to set permissions on "/home/ziomario/Scrivania/antmicro/aosp_images/system-rw/charger": Operation not supported (95)

and so on.

someone knows why I get those errors and how can I fix them ? thanks.

Best Answer

after hours of searching I found following issue :

owner, group and permissions of restored files with rsyncd are not correct, due to an rsync 3.2.3 / glibc bug.

rsync 3.1.3 in Ubuntu 20.04 worked fine, while 3.2.3 in Ubuntu 20.10, 21.04 ... has this problem:

rsync.log: 
rsync: [receiver] failed to set permissions on "/some_file": Operation not supported (95)

this is due to a glibc bug in Ubuntu 20.10, 21.04, Fedora 33 beta, etc.

If You experience such errors, upgrade from rsync 3.2.3 to (atm of this writing 2021-July-03) at least 3.2.4dev

see also: rsync github issue 109

you can download the latest version of rsync here : rsync sourcecode

and here the install instructions : rsync install

yours sincerely

bitranox