On 9/2/24 15:59, Pierrick Bouvier wrote:
On 9/2/24 14:20, Mario Marietto wrote:
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
 
<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 
<https://github.com/raspberry-vanilla/android_local_manifest?tab=readme-ov-file>

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


I can't guarantee the image has exactly the same structure has Vanilla
AOSP, but you can definitely give it a try if it's your goal.


In case it does not boot, I would try to tweak the qemu board (-machine) used. https://www.qemu.org/docs/master/system/arm/raspi.html

Thanks.

On Mon, Sep 2, 2024 at 10:23 PM Pierrick Bouvier
<pierrick.bouv...@linaro.org <mailto: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>
     <mailto: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> 
<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