Android container fails to start when built with the gcc-i686-linux-android toolchain
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
android (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
gcc-i686-linux-android (Ubuntu) |
In Progress
|
High
|
Unassigned |
Bug Description
Build instructions:
$ sudo apt-get build-dep android
$ # if we're on amd64, we need to pull in certain 32-bit packages explicitly
$ sudo apt-get install libx11-dev:i386 libreadline6-
$ # and then work around the fact that libgl1-mesa-dev isn't Multi-Arch: same yet
$ sudo ln -s /usr/lib/
$ repo init -u https:/
$ repo sync
$ apt-get source android-src-vendor
$ mv android-
$ sudo apt-get install gcc-i686-
$ cd build && git fetch https:/
$ source build/envsetup.sh
$ lunch aosp_x86-userdebug
$ make -j<n>
Then use the attached scripts to create and run the x86 emulator.
When booting, you should see:
$ ./run-emulator.sh
emulator: found Android build root: /home/rsalveti/
emulator: found Android build out: out/target/
...
Begin: Running /scripts/
[ 0.723931] init: ureadahead main process (396) terminated with status 5
[ 2.423474] init: /dev/hw_random not found
[ 2.423574] init: cannot open '/initlogo.rle'
[ 2.441086] init: /dev/hw_random not found
[ 2.457236] init: cannot find '/system/
[ 2.457278] init: cannot find '/system/
[ 2.457951] init: property 'sys.powerctl' doesn't exist while expanding '${sys.powerctl}'
[ 2.457986] init: powerctl: cannot expand '${sys.powerctl}'
[ 2.458008] init: property 'sys.sysctl.
[ 2.458027] init: cannot expand '${sys.
[ 2.458156] init: cannot find '/sbin/adbd', disabling 'adbd'
[ 2.463354] healthd: wakealarm_init: timerfd_create failed
* Starting AppArmor profiles * AppArmor not available as kernel LSM.
* Setting up X socket directories... [ OK ]
[ 7.916836] healthd: wakealarm_init: timerfd_create failed
[ 12.227047] healthd: wakealarm_init: timerfd_create failed
[ 17.024366] healthd: wakealarm_init: timerfd_create failed
[ 22.034375] healthd: wakealarm_init: timerfd_create failed
[ 22.974753] init: critical process 'servicemanager' exited 4 times in 4 minutes; rebooting into recovery mode
[ 23.013282] SysRq : Emergency Remount R/O
[ 23.024043] loop: Write error at byte offset 2281701376, length 4096.
[ 23.024090] Buffer I/O error on device loop0, logical block 557056
[ 23.024119] JBD2: Error -5 detected when updating journal superblock for loop0-8.
[ 23.024143] loop: Write error at byte offset 2281701376, length 4096.
[ 23.024161] JBD2: Error -5 detected when updating journal superblock for loop0-8.
[ 23.024180] loop: Write error at byte offset 2281701376, length 4096.
[ 23.024197] JBD2: Error -5 detected when updating journal superblock for loop0-8.
[ 23.024217] loop: Write error at byte offset 0, length 4096.
The container dies because it can't keep servicemanager running.
If you remove gcc-i686-
Changed in gcc-i686-linux-android (Ubuntu): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
Changed in gcc-i686-linux-android (Ubuntu): | |
assignee: | Dimitri John Ledkov (xnox) → nobody |
Just use the attached scripts at the root folder (so it can find the image files), and you should be able to create and run the emulator.