1

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.

2 Answers 2

2

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

18
  • on ubuntu 21.04 the default rsync version is still : rsync version 3.2.3 protocol version 31
    – Marietto
    Jul 4, 2021 at 16:01
  • where I can get the version 3.2.4 dev ?
    – Marietto
    Jul 4, 2021 at 16:18
  • @Marietto : I updated the answer, it should be more clear now.
    – bitranox
    Jul 5, 2021 at 10:21
  • I have compiled rsync to have the 3.24.dev,but I haven't got it. the version I've got is still 3.2.3.70. I've saved all the commands that I have issued here : pastebin.ubuntu.com/p/W2TRbPPM3V
    – Marietto
    Jul 5, 2021 at 14:07
  • rsync installs the binary usually into /usr/local/bin, and the original is in /usr/bin - just copy the file : sudo cp -f /usr/local/bin/rsync /usr/bin/rsync You might check which rsync your commandline is using by : which rsync
    – bitranox
    Jul 5, 2021 at 19:03
0

After a few hours of dealing with this all, here's where I netted out. It worked for me, so hoping someone else finds this helpful.

Btw, I'm running this on Ubunutu 21.04 on Apple silicon in 2021.

cd ~ && \
    mkdir tmp && \
    cd tmp && \
    python3 -mpip install --user commonmark && \
    wget https://github.com/WayneD/rsync/archive/be3d6c0fbbd07781bbae6261cda109f8f08c031b.zip && \
    unzip be3d6c0fbbd07781bbae6261cda109f8f08c031b.zip && \
    cd rsync-be3d6c0fbbd07781bbae6261cda109f8f08c031b && \
    ./md2man --test rsync-ssl.1.md
sudo apt install -y gcc=4:10.3.0-1ubuntu1 && \
    sudo apt install -y g++=4:10.3.0-1ubuntu1 && \
    sudo apt install -y gawk=1:5.1.0-1build1 && \
    sudo apt install -y autoconf=2.69-14 && \
    sudo apt install -y automake=1:1.16.3-2ubuntu1 && \
    sudo apt install -y python3-cmarkgfm=0.4.2-1build3 && \
    sudo apt install -y xxhash=0.8.0-2 && \
    sudo apt install -y zstd=1.4.8+dfsg-2build2 && \
    sudo apt install -y lz4=1.9.3-1ubuntu0.1 && \
    sudo apt install -y acl=2.2.53-10ubuntu1 && \
    sudo apt install -y libacl1-dev=2.2.53-10ubuntu1 && \
    sudo apt install -y attr=1:2.4.48-6build1 && \
    sudo apt install -y libattr1-dev=1:2.4.48-6build1 && \
    sudo apt install -y libxxhash-dev=0.8.0-2 && \
    sudo apt install -y libzstd-dev=1.4.8+dfsg-2build2 && \
    sudo apt install -y liblz4-dev=1.9.3-1ubuntu0.1 && \
    sudo apt install -y libssl-dev=1.1.1j-1ubuntu3.5
 ./configure
 make
 sudo make install
cd ../ && \
    cd ../ && \
    rm -rf tmp/

This will install all dependencies to get rsync version 3.2.4dev running on Ubuntu 21.04.

Thanks for the guidance with your posts and comments everyone :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .