Porting Halium to Nexus 7 deb
-
May I introduce:
the Halium Porting Error Knowledge Base
https://gist.github.com/doniks/2ac14a1bb6750165bf782f62139c8aab#file-gistfile1-txt-L61
-
@doniks said in Porting Halium to Nexus 7 deb:
I'm trying to get ubports-boot to work follwing
https://docs.ubports.com/en/latest/porting/introduction.htmland
https://github.com/ubports/docs.ubports.com/pull/67I've reached ssh now, I can
test_lights
, but no UI,test_hwcomposer
segfaults and when I rununity-system-compositor
, I get the following in logcat : https://paste.ubuntu.com/26431933/ -
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
- insert the line
- 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 inAndroid.mk
- insert
[ -f /dev/kmsg ] || mknod -m 600 /dev/kmsg c 1 11
ininitramfs/init
right before themkdir -p /var/lock
line - change the line in
initramfs/scripts/functions
:_log_msg()
fromprintf "$@"
toprintf "$@" | tee /dev/kmsg
- now I could sprinkle around
log_warning_msg blabla
ininitramfs/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
- append
- 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!
-
@doniks just in case you don't know it, there's a UBports Porting group in Telegram (https://t.me/ubports_porting)
-
Thanks! I do know And I did get invaluable help from there! I would be no where without it.
However, after piling up a couple of hacks I find it helpful to take a step back and summarize the status quo again which is hard in irc/telegram.
And also, I like to mix the different styles of working: Specific tips for a specific problem in the more ad-hoc irc and the long haul, asynchronous conversation of a forum/mailing list.
Oh wait ... ubports porting. No I didn't know that one! I was talking about the #halium channel. I'll have a look. Thanks.
-
@doniks maybe @UniSuperBox can comment a bit on the manual tweaks you had to do for rootstocking the device, actually all should come out of the box somehow. Then, if plasma mobile shows a screen, we should be able to do this, too right?
BR
-
@flohack said in Porting Halium to Nexus 7 deb:
@doniks maybe @UniSuperBox can comment a bit on the manual tweaks you had to do for rootstocking the device, actually all should come out of the box somehow.
Well, in a way he did The PR for the update of docs.ubports is in, which means both ubports-boot and rootstock-install can take their bugs with them to the grave.
Then, if plasma mobile shows a screen, we should be able to do this, too right?
One would hope so. However, even with halium-boot (and a bunch more kernel configs it wanted) I managed just now to build and boot it, but I end up with the same segfaults
I spoke to @UniSuperBox and @bshah earlier today on telegram. There was a theory about something with libhybris and "N linker" but I didn't really get it and atm still just google logo.
-
this porting journal(idk what to call this) is really helpful thank you
-
@doniks not found
-
@amrith said in Porting Halium to Nexus 7 deb:
this porting journal(idk what to call this) is really helpful thank you
Great that you found it helpful! Maybe you want to write your own?! I think this one for N7 is very dated by now. Lots of things discussed here should be automatic/easier/well documented...
-
-
@doniks said in Porting Halium to Nexus 7 deb:
May I introduce:
the Halium Porting Error Knowledge Base
https://gist.github.com/doniks/2ac14a1bb6750165bf782f62139c8aab#file-gistfile1-txt-L61
the link is not working
-
@amrith You might need to sign up/in for the link to work.
-
@Lakotaubp said in Porting Halium to Nexus 7 deb:
@amrith You might need to sign up/in for the link to work.
No i am already signed in . it shows 404 error
-
I have exactly same errors you have , unity-compositor stopped and if you run it as from the startup script you get segmentation fault
however
once you boot> login to ssh
execute$sudo chown -R $USER /dev/input $QML_BAD_GUI_RENDER_LOOP=1 QT_QPA_PLATFORM=mirserver unity8
while ubuntu spinner is active , you will get some flashes and you can see the unity is working in background.
-
@amrith said in Porting Halium to Nexus 7 deb:
@Lakotaubp said in Porting Halium to Nexus 7 deb:
@amrith You might need to sign up/in for the link to work.
No i am already signed in . it shows 404 error
No, no that thing is gone. Has been integrated into the halium docs long ago
-
@amrith said in Porting Halium to Nexus 7 deb:
I have exactly same errors you have , unity-compositor stopped and if you run it as from the startup script you get segmentation fault
however
once you boot> login to ssh
execute$sudo chown -R $USER /dev/input $QML_BAD_GUI_RENDER_LOOP=1 QT_QPA_PLATFORM=mirserver unity8
while ubuntu spinner is active , you will get some flashes and you can see the unity is working in background.
remember, my last posts with content here are from 2018 - long outdated! By now I have ubports UI running on the N7. All I needed is in the docs or in the pad.
Probably better to have the conversation about your errors in one place https://forums.ubports.com/topic/3112/ubport-new-device-porting-problem/ rather than spreading it over multiple threads
-
@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
- insert the line
- 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 inAndroid.mk
- insert
[ -f /dev/kmsg ] || mknod -m 600 /dev/kmsg c 1 11
ininitramfs/init
right before themkdir -p /var/lock
line - change the line in
initramfs/scripts/functions
:_log_msg()
fromprintf "$@"
toprintf "$@" | tee /dev/kmsg
- now I could sprinkle around
log_warning_msg blabla
ininitramfs/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
- append
- 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