commit | 1b14fac0219604d35a54c10219ba59029f14eb03 | [log] [tgz] |
---|---|---|
author | Mark Fasheh <mfasheh@google.com> | Thu Jan 12 00:54:10 2023 +0000 |
committer | Juan Yescas <jyescas@google.com> | Thu Jan 12 01:29:07 2023 +0000 |
tree | df31849602e14ea1e6b58ed1914ddec337ab3dee | |
parent | 9690d89a6a743199224354e0d885d7b957a6837c [diff] |
16k: Temporarily disable MTE support Latest qemu update crashes the 16K kernel very early in boot: [ 0.000000][ T0] ================================================================== [ 0.000000][ T0] BUG: KASAN: invalid-access in kmem_cache_alloc+0x1d0/0x328 [ 0.000000][ T0] Read at addr f2ff800004004018 by task swapper/0 [ 0.000000][ T0] Pointer tag: [f2], memory tag: [f6] [ 0.000000][ T0] [ 0.000000][ T0] CPU: 0 PID: 0 Comm: swapper Not tainted 5.15.84-maybe-dirty #1 [ 0.000000][ T0] Hardware name: linux,dummy-virt (DT) [ 0.000000][ T0] Call trace: [ 0.000000][ T0] dump_backtrace+0xf0/0x110 [ 0.000000][ T0] show_stack+0x20/0x58 [ 0.000000][ T0] dump_stack_lvl+0x6c/0x88 [ 0.000000][ T0] print_report+0x1e8/0x510 [ 0.000000][ T0] kasan_report+0x9c/0xe8 Bug: 253827893 Test: rebuild, ran a 16K kernel with the change Change-Id: I5763c5e60460dfacb6963e9a5aa406e58c5058da Signed-off-by: Mark Fasheh <mfasheh@google.com>
Make sure virtualization with KVM is available.
grep -c -w "vmx\|svm" /proc/cpuinfo
This should return a non-zero value. If running on a cloud machine, this may take cloud-vendor-specific steps to enable. For Google Compute Engine specifically, see the GCE guide.
ARM specific steps:
/dev/kvm
. Note that this method can also be used to confirm support of KVM on any environment.Download, build, and install the host debian packages:
sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl git clone https://github.com/google/android-cuttlefish cd android-cuttlefish for dir in base frontend; do cd $dir debuild -i -us -uc -b -d cd .. done sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f sudo usermod -aG kvm,cvdnetwork,render $USER sudo reboot
The reboot will trigger installing additional kernel modules and applying udev rules.
Go to http://ci.android.com/
Enter a branch name. Start with aosp-master
if you don‘t know what you’re looking for
Navigate to aosp_cf_x86_64_phone
and click on userdebug
for the latest build
aosp-master-throttled-copped
and device target aosp_cf_arm64_only_phone-userdebug
Click on Artifacts
Scroll down to the OTA images. These packages look like aosp_cf_x86_64_phone-img-xxxxxx.zip
-- it will always have img
in the name. Download this file
Scroll down to cvd-host_package.tar.gz
. You should always download a host package from the same build as your images.
On your local system, combine the packages:
mkdir cf cd cf tar xvf /path/to/cvd-host_package.tar.gz unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
Launch cuttlefish with:
$ HOME=$PWD ./bin/launch_cvd
You can use adb
to debug it, just like a physical device:
$ ./bin/adb -e shell
When launching with ---start_webrtc
(the default), you can see a list of all available devices at https://localhost:8443
. For more information, see the WebRTC on Cuttlefish documentation.
You will need to stop the virtual device within the same directory as you used to launch the device.
$ HOME=$PWD ./bin/stop_cvd