linux-mainline-and-mali-generic-stable-kernel icon indicating copy to clipboard operation
linux-mainline-and-mali-generic-stable-kernel copied to clipboard

trogdor: Where is 5.15.22-stb-cbq?

Open Geofferey opened this issue 2 years ago • 7 comments

@hexdump0815 Was trying to run the build today, mainly so I can compile and reproduce the kernel exactly as you did. I think I am doing things correctly...

The error below seems to be stopping me....

--2022-04-24 11:54:47-- https://github.com/hexdump0815/linux-mainline-and-mali-generic-stable-kernel/releases/download/5.15.22-stb-cbq/5.15.22-stb-cbq.tar.gz Resolving github.com (github.com)... 192.30.255.112 Connecting to github.com (github.com)|192.30.255.112|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2022-04-24 11:54:48 ERROR 404: Not Found...

Is there any way you could upload the 5.15.22-stb-cbq source so sudo ./get-files.sh chromebook_trogdor aarch64 bullseye can fetch? I don't want to substitute because I want to be sure the kernel comes out the same as yours on first rounds before I start jacking around with stuff. Thanks again dude.

EDIT:

Probably better we discuss here. :) If I have any other questions I will post them as comment. I think I got this.

Geofferey avatar Apr 24 '22 19:04 Geofferey

@hexdump0815 Okay I got everything to build and copied the files to /boot following the commands in your script. I seem to be missing something tho...

When I run uname -a

Linux debian-trogdor 5.15.2-stb-cbq #1 SMP PREEMPT Sat Nov 20 12:28:33 CET 2021 aarch64 GNU/Linux

I would expect to see my date.

I'm pretty sure I'm missing step to dd if=kernel.img of=/dev/mmcblk1p1 How do I produce the resulting kernel image that needs to be flashed to the first/second partition? Did I make it and not even know?

EDIT:

Derp, my fear kept me back for a moment. I just needed to grow a pair and dd if=vmlinux.kpart of=/dev/mmcblk1p1 🤦 the .kpart meaning kernel partition I suppose.

Geofferey avatar Apr 29 '22 19:04 Geofferey

yes - that dd is required as the chromebook bootloader will only boot kernels in that special format from that partition ... there is actually a second kernel partition in the images for testing - i'll write down how to use this soon, as it makes testing much easier

in case your self built kernel is bad, you can always boot the one from an image on usb/sd via ctrl-u ... btw. besides the things in /boot it is also required to put /lib/modules/ in place

regarding the 5.15.22 kernel: looks like i forgot to upload it - i'll try to upload it over the weekend

best wishes - hexdump

hexdump0815 avatar Apr 30 '22 06:04 hexdump0815

@hexdump0815 I got 5.15.36 running but can't seem to go past that. Do you have any tips on getting newer ones to work like 5.17.X or 5.16.X? I feel like I may be just missing something little. I did figure out the USB trick so that has been worlds of help today. 👍

Here is a GIST of the script I made from your notes to help make my life easier. It's still a WIP but maybe I can add something to it to help make the newer kernels boot? Maybe it's missing a step... As it stands I just pulled your .config from /boot and the cmdline from your notes in cbq.

Thanks for keeping up with me 😃 I am trying hard here lol.

Geofferey avatar Apr 30 '22 07:04 Geofferey

some updates:

  • i have uploaded the 5.15.22 i compiled some time ago now: https://github.com/hexdump0815/linux-mainline-and-mali-generic-stable-kernel/releases/tag/5.15.22-stb-cbq - i did not get to test it yet, but if a newer 5.15 works for you then it should be safe and its better to have it around there if its already referenced in get-files.sh ... in case you have a free minute, it would be nice to verify that it really works - for that the next point might be handy ...
  • i have added some notes on one time test booting kernels on chromebooks: https://github.com/hexdump0815/imagebuilder/blob/main/info/generic/test-booting-a-kernel-on-chromebooks.txt - this should make the testing life much easier :)
  • for newer kernels at least CONFIG_DRM_PANEL_EDP=y has to be added - maybe give that a try - in case it does not help: what state do you get with newer kernels?
  • suspend/resume is supposed to be working on newer kernels (see: https://oftc.irclog.whitequark.org/aarch64-laptops/2022-03-25#30771427) if running from emmc - if running from usb there is a problem with it still maybe
  • regarding the sound, maybe have a look at https://github.com/hexdump0815/imagebuilder/blob/main/info/generic/alsa-ucm-pulseaudio-hacking.txt in case you did not discover it yet - but maybe there is some more work required on coachz
  • your gist looks good so far - for the kernel config just use kernel-config-options repo and the other commands as described in the kernel readme - this should give you a proper kernel config

thanks a lot for your support and best wishes - hexdump

hexdump0815 avatar May 01 '22 09:05 hexdump0815

  1. I'm not sure if you're asking if 5.15.36 works. If so, yes it works just as well as 5.15.22 or better. I have tested up to 5.18-rc4 now and haven't noticed any regressions.

  2. This could prove useful, I'll have to try the boot flags tomorrow and see.

  3. Yes CONFIG_DRM_PANEL_EDP=y got me a booting kernel. Thank you for pointing ☝️ this out to me. I would've stayed lost for a while otherwise.

  4. Suspend and resume is working perfectly now, no issues on 5.17.X and up. Seems we get full deep considering I only lost 1% over a 4r period. I don't sleep much 😂

  5. I actually did try everything in there. Seems to be only the internal mic is detected. When running pactl list sources that's all I see. This is weird because I thought Lazor used the exact same card. It worked on Lazor? I think this might be a kernel side dt issue or lack of firmware (if any exist).

cat /proc/asound/cards reports:

 0 [sc7180adau7002m]: SC7180 - sc7180-adau7002-max98357a
                  sc7180-adau7002-max98357a

Here is message from alsactl init:

 alsa-lib main.c:1014:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
 Found hardware: "SC7180" "" "" "" ""
 Hardware is initialized using a generic method

This is what I could find in dmesg:

 [    5.422974] max98357a audio-codec-0: GPIO lookup for consumer sdmode
 [    5.422989] max98357a audio-codec-0: using device tree for GPIO lookup
 [    5.620411] debugfs: Directory '62d87000.lpass' with parent 'sc7180-adau7002-max98357a' already present!
 [    5.677936] input: sc7180-adau7002-max98357a HDMI Jack as /devices/platform/sound/sound/card0/input6
  1. The gist still needs some more work, if you can think of anything let me know. I kinda want it to end up in repos for other people like me who just want to build and test kernels. My goal with it is to make it adaptable so we can adjust a couple params and have it build for several devices.

No problem, I think if I try hard enough I can get this working nearly %100 it's already %90 lol. Thank you for the support actually.

Geofferey avatar May 01 '22 10:05 Geofferey

happy to hear that it works now - this config option is new since 5.16 i think and that gave problems for many systems and thus appeared at different places on irc or elsewhere, so i also just found it somewhere :)

hexdump0815 avatar May 01 '22 10:05 hexdump0815

@hexdump0815 I have tried to address all your points. Check it out 🔢

Geofferey avatar May 01 '22 16:05 Geofferey