T42 | <A_T_R> @mal build on obs failed(droid-hal) | 06:55 |
---|---|---|
T42 | <A_T_R> Live Build Log - SailfishOS Open Build Service | 07:00 |
T42 | <A_T_R> https://build.merproject.org/package/live_build_log/nemo:devel:hw:asus:x00td/droid-hal-x00td/sailfish_latest_aarch64/aarch64 | 07:00 |
T42 | <abranson> piggz: neither of those. everything that uses it does so explicitly. except the debug stuff which is symlinked. | 07:28 |
T42 | <adampigg> @abranson ah ok, thx | 07:51 |
mal | @A_T_R I fixed it for you | 12:30 |
mal | you can now add rest of the needed packages | 12:30 |
Aboothahir[m] | but what was the issue ? | 12:33 |
mal | interestingly the droid-hal rpm copying code needed to use armv7hl even for aarch64, no idea why | 12:35 |
mal | https://build.merproject.org/package/view_file/nemo:devel:hw:asus:x00td/droid-hal-x00td/build.script?expand=1 | 12:36 |
T42 | <A_T_R> I was looking the *.spec file for fix | 12:36 |
mal | @A_T_R which android base is that device using? | 12:52 |
T42 | <A_T_R> lineageos-17.1 (hybris-17.1 port ) | 12:56 |
mal | ok, then you probably don't need geoclue-providers-hybris because the binder version of that is available from jolla repos and your device would be using it, also skip sensorfw-qt5-hybris | 12:59 |
T42 | <A_T_R> so skip/delete sensorfw-qt5-hybris and geoclue-providers-hybris ? | 13:00 |
mal | yes, the binder variant of those is the one you use and it's available from jolla repos so you don't need to build those | 13:02 |
T42 | <A_T_R> nothing provides hybris-libsensorfw-qt5, nothing provides qtscenegraph-adaptation | 13:04 |
mal | add the qtscenegraph-adaptation-droid first and let's see then | 13:08 |
T42 | <A_T_R> nothing provides hybris-libsensorfw-qt5 | 13:10 |
T42 | <A_T_R> add sensorfw-qt5-hybris ? | 13:11 |
mal | no, I'll add it to common repo | 13:13 |
T42 | <A_T_R> ok | 13:21 |
mal | now it's built | 13:24 |
T42 | <A_T_R> yes ,succeeded | 13:25 |
T42 | <A_T_R> any package removed from my device obs? | 13:26 |
mal | I removed the geoclue package which was not needed there | 13:46 |
T42 | <A_T_R> Ok | 13:46 |
T42 | <A_T_R> i already have this https://github.com/SailfishOS-sdm660/droid-config-X00TD/commit/c9c82abd93017123e1f25ba42059a21698732864 | 15:37 |
T42 | <A_T_R> what next to test ,install sfos ,check for OTA? | 15:48 |
T42 | <elros34> or build image using OBS repository instead local one to be sure everything needed is there | 17:11 |
*** izh79_ is now known as izh79 | 19:38 | |
T42 | <b100dian> Is there any hybris-18.1 port that uses gki1 - a boot system split into boot & vendor_boot partitions and uses image version 3? | 20:30 |
T42 | <b100dian> I have a problem that hybris-boot only builds a boot image, and Lineage builds that and vendor boot too - so I don't seem to manage to even get telnet from the kernel | 20:32 |
mal | maybe you need to fix hybris-boot build rules, there must be some configuration in device repo for that | 20:33 |
T42 | <b100dian> Yes, I'll try to adapt that. I was curious if someone else had this problem. That will definitely will be an android 12 problem too, I'm just lucky to have it on 11 ;) | 20:40 |
T42 | <elros34> maybe 'allmod | grep vendor' and then build something which looks like vendor_boot target | 21:18 |
mal | @elros34 it can be something else also, looking for things like these in device repo might help https://github.com/mer-hybris/hybris-boot/blob/master/Android.mk#L92 | 21:24 |
mal | @b100dian can you give a link to the device repo for your device? | 21:25 |
T42 | <b100dian> Yes, https://github.com/LineageOS/android_device_asus_sake/blob/lineage-18.1/BoardConfig.mk | 21:25 |
T42 | <b100dian> I also have the commands that generate the boot/vendor_boot images in Lineage written somewhere | 21:26 |
T42 | <b100dian> mkbootimg --dtb dtb.img --base 0 --pagesize 4096 --vendor_cmdline $kernel_cmdline --os_version 11 --os_patch_level 2023-02-05 --header_version 3 --vendor_ramdisk $ramdisk --vendor_boot vendor_boot.img | 21:27 |
T42 | <b100dian> mkbootimg --kernel $kernel --ramdisk $ramdisk-recovery --os_version 11 --os_patch_level 2023-02-05 --header_version 3 --output boot.img | 21:27 |
T42 | <b100dian> So the boot.img has a ramdisk now, which is recovery | 21:30 |
T42 | <b100dian> and the kernel | 21:30 |
T42 | <b100dian> vendor_boot has the actual cmdline, the dtb, and probably the 'real' ramdisk (which has kernel modules too) | 21:31 |
T42 | <elros34> so you want to modify vendor ramdisk to include hybris-boot's init script | 21:33 |
T42 | <b100dian> Yup, that sounds like the plan | 21:33 |
mal | check build/make/core/Makefile | 21:34 |
mal | and look for INSTALLED_VENDOR_BOOTIMAGE_TARGET | 21:35 |
mal | so probably you want do something similar to what I showed in the earlier link to make it build that target | 21:35 |
mal | just not sure what to use as conditional for it | 21:36 |
T42 | <b100dian> image header == 3? | 21:36 |
T42 | <elros34> I think that can be solved later, first he must figure out how to start hybris-boot script after all vendor modules are loaded/vendor script is executed or whatever it's done | 21:37 |
T42 | <b100dian> BOARD_BOOT_HEADER_VERSION == 3 I meant | 21:41 |
T42 | <b100dian> @elros34 you're referring to the build hybris-boot script or the init one? | 21:42 |
T42 | <elros34> to init script. I think the hard part is too boot hybris-boot's initramfs with/after vendor_boot. How you fix it in hybris-boot's Android.mk after you figure out everything is really not that inportant | 21:46 |
mal | I don't quite understand how that vendor_boot is supposed to work | 21:51 |
T42 | <elros34> @b100dian maybe you can upload lineage's vendor_boot.img somewhere | 21:53 |
T42 | <b100dian> Yeah, welcome to the club:) It's referred as either gki1 or image version 3 in https://source.android.com/docs/core/architecture/partitions/vendor-boot-partitions#bootloader-support | 21:53 |
T42 | <b100dian> I'll upload the ramdisk cpio if that helps | 21:53 |
T42 | <b100dian> or the image - if you want. Stock or Lineage? | 21:54 |
T42 | <elros34> lineage for sure as hybris-18 is based in lineage. So your boot.img doesn't have any initramfs except for recovery? | 21:56 |
T42 | <b100dian> Not sure if initramfs vs ramdisk | 22:01 |
T42 | <b100dian> I'll share an entire onedrive folder. The subfolders are output from commands like `unpack_bootimg --boot_img boot.img --out boot > boot.txt` https://1drv.ms/u/s!Alh0arVfv0RwiuAkuDjzhBufjuOZMw?e=YNxRkO | 22:03 |
T42 | <b100dian> The ramdisks with cpio extensions are already ungzipped or unlz4'd in this case | 22:03 |
T42 | <b100dian> I can share by other means if you kindly suggest. Thanks for your interest in this topic btw! | 22:06 |
T42 | <elros34> btw have you tried with ubports devs, they sometimes have some solutions earlier than sfos | 22:08 |
T42 | <b100dian> Partially. I've read on their telegram channel but did not made myself heard. They have Xperia 10 IV with the same header==3, but I don't know how they flash it. Also, I've read there that one could flash the boot-gki from stock (which is indeed a boot image provided by ASUS) and boot from halium _onto_ vendor_boot. That hasn't worked for me. I'll try to find a window to get their attention better. | 22:11 |
T42 | <elros34> hmm there is really nothing in vendor_boot's initramfs except one touchscreen kernel module and fstab | 22:13 |
T42 | <b100dian> Yeah, stock has more kernel modules. I'm trying to wrap my mind around this too https://source.android.com/docs/core/architecture/partitions/generic-boot#figure-2 | 22:17 |
T42 | <b100dian> actually figure-3 might be more appropriate, recovery-as-ramdisk | 22:18 |
T42 | <b100dian> notice "switch root to /first_stage_ramdisk" on Boot Android left hand side | 22:19 |
T42 | <b100dian> it seems like the recovery init plays a double role 🤔 | 22:19 |
T42 | <b100dian> of course it bothers me that most docs point to android 12, but I think Asus jumped onto the most shiny thing earlier with 11 ;) | 22:21 |
T42 | <elros34> lineage might also do some things differently:) | 22:23 |
T42 | <b100dian> Well at least we have sources, with enough time.. | 22:25 |
T42 | <elros34> if I get all this right now you should just replace that ramdisk.cpio in boot.img with hybris-recovery one (you should find it in out/ directory do not create it yourself because most likely you will make it incorrectly) and then recreate boot.img with same gzip compression and all. | 22:40 |
T42 | <b100dian> Hmm.. How would that differ from what hybris-boot? that the ramdisk is hybris-recovery? | 22:43 |
T42 | <b100dian> *from what hybris-boot has | 22:43 |
T42 | <elros34> use hybris-recovery.img initramfs to be sure telnet starts, hybris-boot.img doesn't start telnet if you did everything correctly, it just switch to same script in sfos rootfs but if you have some mistake this might not happen so just precaution | 22:47 |
T42 | <elros34> Also regular hybris-boot.img might be not correctly created for your device. Compare it with lineage's boot.img | 22:48 |
T42 | <elros34> via unpack_bootimg | 22:48 |
T42 | <b100dian> Yes, it differs - the ramdisk is huge on lineage/stock compared to our initramfs. The cmdline is not present on boot stock/lineage, compared to our hybris.img. | 22:51 |
T42 | <elros34> that is expected but what about other parameters? | 22:51 |
T42 | <b100dian> Heh, there is only one byte difference in recovery vs boot for hybris: the 1 in ALWAYS_DEBUG=1 :) | 22:52 |
T42 | <elros34> yes but it change how script is executed | 22:53 |
T42 | <elros34> always telnet or telnet only if there is something wrong | 22:53 |
T42 | <elros34> btw have you tried getting kernel cmdline in lineage? I wonder if there is something new like old skip_initramfs in android 8 or something | 22:53 |
T42 | <b100dian> Hmm hybris images don't have os version / os patch level (None) would be another difference from stock/Lineage | 22:55 |
T42 | <b100dian> It didn't look like the revert for skip_initramfs from android 10 would apply cleanly | 22:55 |
T42 | <b100dian> Do you mean /proc/cmdline from running lineage? | 22:56 |
T42 | <b100dian> # cat /proc/cmdline | 22:57 |
T42 | <b100dian> log_buf_len=256K earlycon=msm_geni_serial,0x98c000 rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off androidboot.console=ttyMSM0 androidboot.hardware=qcom androidboot.memcg=1 androidboot.usbcontroller=a600000.dwc3 cgroup.memory=nokmem,nosocket console=ttyMSM0,115200n8 ip6table_raw.raw_before_defrag=1 iptable_raw.raw_before_defrag=1 loop.max_part=7 lpm_levels.sleep_disabled=1 msm_rtb.filter=0x237 pcie_ports=compat service_locator.enable=1 swiot | 22:57 |
T42 | <elros34> yeah but do not worry about it to much | 22:57 |
T42 | <b100dian> wow that's a mouthful | 22:57 |
T42 | <b100dian> sorry, it was looking like 4 lines here | 22:57 |
T42 | <elros34> yeah this is IRC channel | 22:57 |
T42 | <b100dian> I know :-S it just seemed smaller in terminal | 22:58 |
T42 | <b100dian> So would your advice be equivalent to flashing hybris-recovery @elros34 ? | 22:59 |
T42 | <elros34> sure you can try but if no then like I said: recreate lineage's boot.img using hybris-recover.cpio to be sure everything is same as in lineage (known working kernel abootimg structure, compressions and so on) | 23:01 |
T42 | <elros34> obviously flash also lineage's vendor-boot.img | 23:02 |
T42 | <b100dian> I see, thanks | 23:03 |
T42 | <b100dian> of course just flashing hybris-recovery did not go better. I'll try your suggestion, but it will probably be tomorrow. Thans! | 23:15 |
T42 | <b100dian> *thanks | 23:16 |
T42 | <elros34> what was the result? reboot, hang forever hang for 60s and what was in host dmesg? | 23:16 |
T42 | <b100dian> just dmesg detecting a new usb device. No sign of Mer. Reboot somewhat quickly, in under 5s, but I wouldn't say immediately. | 23:19 |
T42 | <b100dian> It's a bit tricky because the bootloader unlock message introduces a couple of seconds too | 23:20 |
T42 | <b100dian> *unlocked | 23:20 |
T42 | <elros34> so probably it didn't boot hybris initramfs | 23:20 |
T42 | <b100dian> Probably.. | 23:32 |
T42 | <elros34> if you get 60s or more then you can expect it works even without any sign of life in host dmesg | 23:33 |
T42 | <b100dian> Ok, repacking per your idea, stuck at asus logo, no sign of mer usb gadget/rndis either | 23:34 |
T42 | <elros34> for how long? | 23:34 |
T42 | <b100dian> Still 'going' | 23:35 |
T42 | <b100dian> in cases like this, if there was an actual recovery _partition_, I might had the chance of looking at /sys/fs/pstore, but I am not sure if anything survives in RAM after reflashing boot.img just to get to recovery :( | 23:38 |
T42 | <elros34> it should be here: https://github.com/mer-hybris/hybris-boot/blob/master/init-script#L276 if you do not have anything in dmesg | 23:39 |
T42 | <b100dian> hmm but more than 60 seconds have passed | 23:41 |
T42 | <elros34> I remember one kernel witch stuck earlier, adding 'sleep 30' and 'reboot -f' here might confirm whether it really boots script https://github.com/mer-hybris/hybris-boot/blob/master/init-script#L345 or in line 343 but I am not sure | 23:43 |
T42 | <b100dian> interesting. So, before hotplug | 23:46 |
T42 | <elros34> yeap that caused issue, I guess because some missing kernel change and your lineage kernel for sure missing something | 23:46 |
T42 | <b100dian> hmm while looking at the hybris cpio I find nobody is owning the files (such as init) | 23:49 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!