Monday, 2023-03-06

T42<A_T_R> @mal build on obs failed(droid-hal)06:55
T42<A_T_R> Live Build Log - SailfishOS Open Build Service07: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, thx07:51
mal@A_T_R I fixed it for you12:30
malyou can now add rest of the needed packages12:30
Aboothahir[m]but what was the issue ?12:33
malinterestingly the droid-hal rpm copying code needed to use armv7hl even for aarch64, no idea why12:35
T42<A_T_R> I was looking the *.spec file for fix12: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
malok, 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-hybris12:59
T42<A_T_R> so skip/delete sensorfw-qt5-hybris and geoclue-providers-hybris ?13:00
malyes, the binder variant of those is the one you use and it's available from jolla repos so you don't need to build those13:02
T42<A_T_R> nothing provides hybris-libsensorfw-qt5, nothing provides qtscenegraph-adaptation13:04
maladd the qtscenegraph-adaptation-droid first and let's see then13:08
T42<A_T_R> nothing provides hybris-libsensorfw-qt513:10
T42<A_T_R> add  sensorfw-qt5-hybris ?13:11
malno, I'll add it to common repo13:13
T42<A_T_R> ok13:21
malnow it's built13:24
T42<A_T_R> yes ,succeeded13:25
T42<A_T_R> any package removed from my device obs?13:26
malI removed the geoclue package which was not needed there13:46
T42<A_T_R> Ok13:46
T42<A_T_R> i already have this
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 there17:11
*** izh79_ is now known as izh7919: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 kernel20:32
malmaybe you need to fix hybris-boot build rules, there must be some configuration in device repo for that20: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 target21:18
mal@elros34 it can be something else also, looking for things like these in device repo might help
mal@b100dian can you give a link to the device repo for your device?21:25
T42<b100dian> Yes,
T42<b100dian> I also have the commands that generate the boot/vendor_boot images in Lineage written somewhere21: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.img21:27
T42<b100dian> mkbootimg --kernel $kernel --ramdisk $ramdisk-recovery --os_version 11 --os_patch_level 2023-02-05 --header_version 3 --output boot.img21:27
T42<b100dian> So the boot.img has a ramdisk now, which is recovery21:30
T42<b100dian> and the kernel21: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 script21:33
T42<b100dian> Yup, that sounds like the plan21:33
malcheck build/make/core/Makefile21:34
malso probably you want do something similar to what I showed in the earlier link to make it build that target21:35
maljust not sure what to use as conditional for it21: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 done21:37
T42<b100dian> BOARD_BOOT_HEADER_VERSION == 3 I meant21: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 after you figure out everything is really not that inportant21:46
malI don't quite understand how that vendor_boot is supposed to work21:51
T42<elros34> @b100dian maybe you can upload lineage's vendor_boot.img somewhere21:53
T42<b100dian> Yeah, welcome to the club:) It's referred as either gki1 or image version 3 in
T42<b100dian> I'll upload the ramdisk cpio if that helps21: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 ramdisk22: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`!Alh0arVfv0RwiuAkuDjzhBufjuOZMw?e=YNxRkO22:03
T42<b100dian> The ramdisks with cpio extensions are already ungzipped or unlz4'd in this case22: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 sfos22: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 fstab22:13
T42<b100dian> Yeah, stock has more kernel modules. I'm trying to wrap my mind around this too
T42<b100dian> actually figure-3 might be more appropriate, recovery-as-ramdisk22:18
T42<b100dian> notice "switch root to /first_stage_ramdisk" on Boot Android left hand side22: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 has22: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 precaution22:47
T42<elros34> Also regular hybris-boot.img might be not correctly created for your device. Compare it with lineage's boot.img22:48
T42<elros34> via unpack_bootimg22: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 executed22:53
T42<elros34> always telnet or telnet only if there is something wrong22: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 something22:53
T42<b100dian> Hmm hybris images don't have os version / os patch level (None) would be another difference from stock/Lineage22:55
T42<b100dian> It didn't look like the revert for skip_initramfs from android 10 would apply cleanly22:55
T42<b100dian> Do you mean /proc/cmdline from running lineage?22:56
T42<b100dian> # cat /proc/cmdline22: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 swiot22:57
T42<elros34> yeah but do not worry about it to much22:57
T42<b100dian> wow that's a mouthful22:57
T42<b100dian> sorry, it was looking like 4 lines here22:57
T42<elros34> yeah this is IRC channel22:57
T42<b100dian> I know :-S it just seemed smaller in terminal22: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.img23:02
T42<b100dian> I see, thanks23: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> *thanks23: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 too23:20
T42<b100dian> *unlocked23:20
T42<elros34> so probably it didn't boot hybris initramfs23: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 dmesg23:33
T42<b100dian> Ok, repacking per your idea, stuck at asus logo, no sign of mer usb gadget/rndis either23: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: if you do not have anything in dmesg23:39
T42<b100dian> hmm but more than 60 seconds have passed23:41
T42<elros34> I remember one kernel witch stuck earlier, adding 'sleep 30' and 'reboot -f'  here might confirm whether it really boots script or in line 343 but I am not sure23:43
T42<b100dian> interesting. So, before hotplug23:46
T42<elros34> yeap that caused issue, I guess because some missing kernel change and your lineage kernel for sure missing something23:46
T42<b100dian> hmm while looking at the hybris cpio I find nobody is owning the files (such as init)23:49

Generated by 2.17.1 by Marius Gedminas - find it at!