Hello.

I've downloaded this file : aosp_cf_arm64_only_phone-img-12309296.zip and
this file : cvd-host_package.tar.gz

from here :
https://ci.android.com/builds/submitted/12309296/aosp_cf_arm64_only_phone-trunk_staging-userdebug/latest

But let's say that I don't want to use the *.img files that are stored
inside "aosp_cf_arm64_only_phone-img-12309296.zip",but the same files that
have been produced when I have compiled this version of Android :

https://github.com/raspberry-vanilla/android_local_manifest?tab=readme-ov-file

Can I do it ? Is it supposed to work the same ?

Thanks.

On Mon, Sep 2, 2024 at 10:23 PM Pierrick Bouvier <
pierrick.bouv...@linaro.org> wrote:

>
>
> On 9/2/24 13:20, Pierrick Bouvier wrote:
> > On 9/2/24 12:53, Mario Marietto wrote:
> >> Hello Pierrick.
> >>
> >> With Cuttlefish can I emulate Android 14 for arm64 ? I ask because in
> >> your script I read :
> >>
> >> "|/home/user/.work/qemu/build/qemu-system-x86_64", so,I suspect that you
> >> have emulated Android x64 bit,but I need arm64. |
> >>
> >
> > Yes, it works for both architecture. The only thing I didn't try is an
> > arm64 vm accelerated with kvm (I don't have this a linux-aarch64
> > machine), but it should work.
>
> And of course, if you want to write a custom wrapper for qemu, name it
> qemu-system-aarch64, and call the same binary instead of x86_64 variants.
>
> >
> >> I also read "for aarch64 images: select
> >> |aosp_cf_arm64_only_phone-trunk_staging-userdebug" : I'm not able to
> >> download this kind of images. I don't understand how the Branch Grid
> >> works. Can you explain to me a little bit more ?
> >> |
> >
> > You have a link just next to it ("Branch grid") on the wiki page.
> > Once on ci android page, click on filter button (three bars, inverted
> > pyramid), and select aosp_cf_arm64_only_phone-trunk_staging-userdebug.
> > Then go to artifacts, and download image and cvd_host_x86_64 package, as
> > wiki mentions.
> >
> > Don't hesitate to ask more questions on this. I imagine this topic might
> > interest some people who try to do the same thing.
> >
> > Pierrick
> >
> >> |
> >> |
> >>
> >>
> >> On Mon, Sep 2, 2024 at 8:47 PM Pierrick Bouvier
> >> <pierrick.bouv...@linaro.org <mailto:pierrick.bouv...@linaro.org>>
> wrote:
> >>
> >>      Hello Mario,
> >>
> >>      very recently, I had to investigate booting time of Android when
> using
> >>      QEMU. You can probably manage to boot this with only QEMU alone,
> but in
> >>      my experience, using Cuttlefish tooling is an easier approach.
> >>
> >>      If you really want to use only QEMU, you can use Cuttlefish to get
> >>      exact
> >>      command line used (which disk goes where), and iterate from that.
> >>
> >>      Instructions:
> >>
> https://linaro.atlassian.net/wiki/spaces/QEMU/pages/29464068097/Run+Android+using+QEMU
> <
> https://linaro.atlassian.net/wiki/spaces/QEMU/pages/29464068097/Run+Android+using+QEMU
> >
> >>
> >>      As you'll see, I could not get a direct graphic output, but using
> >>      scrcpy, it worked well for me. Hope it can fit your use case.
> >>
> >>      Regards,
> >>      Pierrick
> >>
> >>      On 9/2/24 06:49, Mario Marietto wrote:
> >>       > Hello.
> >>       >
> >>       > I would like to emulate Android 14 on my Ubuntu 24.04 OS X64 bit
> >>      using
> >>       > qemu-system-aarch64. I tried using the following parameters :
> >>       >
> >>       > qemu-system-aarch64 \
> >>       >          -smp 4 \
> >>       >          -m 2048 \
> >>       >          -cpu cortex-a72 \
> >>       >          -M virt \
> >>       >          -device virtio-gpu-pci,xres=1024,yres=768 \
> >>       >          -display sdl,gl=on \
> >>       >          -device usb-ehci \
> >>       >          -device usb-kbd \
> >>       >          -device virtio-tablet-pci \
> >>       >          -usb \
> >>       >          -serial stdio \
> >>       >          -kernel /mnt/zroot-133/_OS/Android/rpi4/Image \
> >>       >          -initrd /mnt/zroot-133/_OS/Android/rpi4/ramdisk.img \
> >>       >          -drive
> >>       >
> >>
> index=0,if=none,id=system,file=/mnt/zroot-133/_OS/Android/rpi4/boot.img \
> >>       >          -device virtio-blk-pci,drive=boot \
> >>       >          -drive
> >>       >
> >>
> index=1,if=none,id=system,file=/mnt/zroot-133/_OS/Android/rpi4/system.img \
> >>       >          -device virtio-blk-pci,drive=system \
> >>       >          -drive
> >>       >
> >>
> index=2,if=none,id=vendor,file=/mnt/zroot-133/_OS/Android/rpi4/vendor.img \
> >>       >          -device virtio-blk-pci,drive=vendor \
> >>       > -append "console=ttyAMA0,38400 drm.debug=0x0 rootwait
> rootdelay=5
> >>       > root=/dev/mmcblk0p2 androidboot.hardware=rpi4
> >>       > androidboot.selinux=permissive security=selinux selinux=1
> >>       > androidboot.qemu.hw.mainkeys=0 androidboot.lcd.density=160"
> >>       >
> >>       > The error I get in short is :
> >>       >
> >>       > [ 1.993668] init: bool
> >>       >
> >>
> android::init::BlockDevInitializer::InitDevices(std::set<std::string>):
> >>       > partition(s) not found in /sys, waiting for their uevent(s):
> >>      mmcblk0p2,
> >>       > mmcblk0p3
> >>       >
> >>       >
> >>       > One user suggested to :
> >>       >
> >>       >
> >>       >
> >>       >
> >>       >
> >>       > Hi!!! The "/sys" is a "dynamic fs" created at ram from the
> >>      kernel, to
> >>       > export a lot of things...so most of the files only exist at
> runtime.
> >>       > Normally, the partitions from the block device have a symlink at
> >>       > /sys/<something>/<...> that points to /dev/ block node. It seems
> >>      that
> >>       > there are no such files under /sys according to what init is
> looking
> >>       > for. You can double check this at init source code to check the
> >>      exact
> >>       > path but I'm guessing that you'll have to change the qemu
> arguments
> >>       > regarding the block device.
> >>       >
> >>       > About userdata.img I think it's normal since in the old days,
> the
> >>      image
> >>       > was a "empty sparse image", that means, at the first flashing
> >>      process,
> >>       > there isn't userdata information, we're just "flashing the
> >>      partition"
> >>       > with empty data.
> >>       > Tks!!!
> >>       >
> >>       >
> >>       >
> >>       > So,in short I should change the qemu arguments regarding the
> block
> >>       > device. I tried in this way :
> >>       >
> >>       >
> >>       > qemu-system-aarch64 \
> >>       >          -smp 4 \
> >>       >          -m 2048 \
> >>       >          -cpu cortex-a72 \
> >>       >          -M virt \
> >>       >          -device virtio-gpu-pci,xres=1024,yres=768 \
> >>       >          -display sdl,gl=on \
> >>       >          -device usb-ehci \
> >>       >          -device usb-kbd \
> >>       >          -device virtio-tablet-pci \
> >>       >          -usb \
> >>       >          -serial stdio \
> >>       >          -kernel /mnt/zroot-133/_OS/Android/rpi4/Image \
> >>       >          -initrd /mnt/zroot-133/_OS/Android/rpi4/ramdisk.img \
> >>       >          -hda /mnt/zroot-133/_OS/Android/rpi4/boot.img \
> >>       >          -hdb /mnt/zroot-133/_OS/Android/rpi4/system.img \
> >>       >          -hdc /mnt/zroot-133/_OS/Android/rpi4/vendor.img \
> >>       >        -append "console=ttyAMA0,38400 drm.debug=0x0 rootwait
> >>      rootdelay=5
> >>       > root=/dev/mmcblk0p2 androidboot.hardware=rpi4
> >>       > androidboot.selinux=permissive security=selinux selinux=1
> >>       > androidboot.qemu.hw.mainkeys=0 androidboot.lcd.density=160"
> >>       >
> >>       >
> >>       > but the error is still there. Do you know some different
> alternative
> >>       > block devices to try ? thanks.
> >>       >
> >>       >
> >>       > --
> >>       > Mario.
> >>
> >>
> >>
> >> --
> >> Mario.
>


-- 
Mario.

Reply via email to