Porting Halium to Nexus 7 deb



  • @doniks said in Porting Halium to Nexus 7 deb:

    Gave it another spin.

    The general steps to get deb working are much simplified since it's all in github now: https://github.com/Halium/halium-devices/blob/halium-7.1/manifests/asus_deb.xml - just follow the halium documentation. However, I'm wondering whether I should leave the OP as is, some people have expressed that it helped them in their ports to see the journey ...

    Plasma mobile hasn't been sleeping. I can tell that the newer images work much better than previously.

    For ubports, I made another attempt, but no GUI so far. Any tipps appreciated!

    What I did in detail:

    • Follow the steps on https://docs.ubports.com/en/latest/porting/introduction.html
    • in rootstock-touch-install
      • insert the line do_shell "rm -f /data/system.img" as the first line in prepare_ubuntu_system, otherwise we have that thing left over from halium
      • insert the line IMAGE_SIZE=$(( $IMAGE_SIZE * 2 ))right after that variable is set, otherwise the image is too small, so I just double it
      • delete the line do_shell "ln /data/ubuntu.img /data/system.img", otherwise I end up with an empty system.img on the device ... Not sure what the problem was exactly, I think something goes wrong with the loop devices stepping on each others toes .. not sure
    • now I can install using the latest ubports xenial root fs: build 298 form https://ci.ubports.com/job/xenial-rootfs-armhf/
    • at first that wouldn't boot, so ...
    • I make ubports boot a bit more verbose halium/ubports-boot
      • append quite=n debug=y to the UBPORTS_BOOTIMG_COMMANDLINE in Android.mk
      • insert [ -f /dev/kmsg ] || mknod -m 600 /dev/kmsg c 1 11 in initramfs/init right before the mkdir -p /var/lock line
      • change the line in initramfs/scripts/functions : _log_msg() from printf "$@" to printf "$@" | tee /dev/kmsg
      • now I could sprinkle around log_warning_msg blabla in initramfs/init and see everything nicely in last_kmsg.
      • eventually I found that it panics at the line: mount -n -o move /proc ${rootmnt}/proc ... I have simply commented this line for the moment, that avoids the panic and
    • now it boots into the ubports rootfs
    • however, no GUI comes up
    • in /var/log/lightdm/lightdm.log I see
    Launching process 2998: /usr/share/ubuntu-touch-session/usc-wrapper --file '/run/mir_socket' --from-dm-fd 11 --to-dm-fd 14 --vt 1
    [...]
    DisplayServer: Unity system compositor stopped
    
    • usc-wrapper is a script. when I run the command inside: unity-system-compositor --disable-overlays=false --spinner=$SNAP/usr/bin/unity-system-compositor-spinner --file '/run/mir_socket' --from-dm-fd 11 --to-dm-fd 14 --vt 1
    • I get a Segmentation fault (core dumped)
    • when I run at the same time /system/bin/logcat | grep -Eve "NetlinkListener|rmt_storage" I don't see anything logged at the time of the segfault

    logcat: http://paste.ubuntu.com/p/kz7JSTfgTR/
    syslog: http://paste.ubuntu.com/p/JVQJ2mg98G/
    dmesg: http://paste.ubuntu.com/p/MPvwKtYhsS/

    Not sure what to do next. Maybe try halium-boot, maybe check the

    lxc-checkconfig: http://paste.ubuntu.com/p/5Z6w8Kwcm6/

    it still flags some things. Also, mabye related, I get

    # lxc-attach -n android
    lxc-attach: cgroups/cgfs.c: lxc_cgroupfs_attach: 2538 could not move attached process 10995 to cgroup of container
    lxc-attach: attach.c: lxc_attach: 992 Expected to receive sequence number 0: No such file or directory.
    

    However,

    # lxc-info -n android
    Name:           android
    State:          RUNNING
    PID:            1116
    IP:             10.15.19.82
    IP:             192.168.179.127
    

    and it's all seemingly good enough for plasma mobile, so not sure.

    Again, tips welcome!

    this was the post i was referring you


Log in to reply