Lenovo N24 / USB NIC with ASIX AX88772C chip
Moving part of the discussion here as I don’t want to mix up the possibly different issues. There is another thread on Lenovo N24 and USB NIC with RTL8152 chip. In both cases we see it stuck at loading
init.xzbut we don’t know if it’s the same issue yet.
@bloodwar I have looked through the code up and down, forth and back… Just don’t know all about UEFI and have no idea why this goes wrong. I am pretty close to sending a message to the kernel mailinglist. But before that I’d like you to try other kernels first. Please use some older kernels just to see if those can boot on that device. I think the easiest way is to download old kernel binaries here and here, plugin the USB key you made and put the kernel binary on it as
EFI/BOOT/BOOTX64.EFI(rename that file - GRUB EFI binary).
Now boot the Lenovo N24 off that USB key and see how far you get. If you see
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0))than you are past the issue. If it just sits there for 3 minutes then I’d expect it to be locked. Please try at least 10 kernel binaries of various versions from the links above.
@bloodwar Don’t think it’s easy to get that information dumped to a file. But shouldn’t be necessary on the other hand. You just need to be patient and page through the messages one by one. I know this may take a couple of minutes. On the other hand this is just a plain test to see if any other loader can properly do the UEFI “exit_boot_service” stuff that seems to hang when we chainload the kernel through iPXE. Right now I am lost with ideas but will look through the code again…
Alright tried booting it up again. Held the spacebar till any actually information showed up. Problem is it scrolls way to quickly to record anything. Are therre any log files i can create/capture to show what it’s doing?
@bloodwar The video is pretty good, though it’s not with the
i’ll try and get a better video… what i have for now
@bloodwar Yeah, but there are the debug messages from the last picture you took somewhere in between. I’d like to see exactly that screen as picture. Things like
real_mode_mem ...should be on there.
seems to be endless if i hold enter
@bloodwar Please plug the USB key back into a running (Windows) machine and edit the file
,mmapto line number 6, so it looks like this:
set myimage=/boot/bzImage set mydbgimage=/boot/11_bzImage set myinit=/boot/init.xz set myloglevel=7 set pager=1 set debug=linux,mmap set timeout=-1 insmod all_video ...
Boot from that USB key again - now you need to skip through the pages as there are many messages on screen… Best if you can take a steady video of all this.
i think this is it… first thing that pops up after you select fog default kernel.
if not i’ll take a video of it
@bloodwar Ok, I forgot to add one parameter and therefore it fails. But booting essentially works. Could you please take a video of the start sequence between the point where you hit ENTER after selecting one of the two kernels and where the kernel messages scroll past. I’d like to see the GRUB debug messages! You could even just take a picture of it if you know exactly which debug messages I mean. On the screen it should say something like
selected “fog official kernel - /boot/bzimage” and “fog debug kernel - /boot/11_bzimage”
same results on both
@bloodwar If we can’t make it work this way yet I’d suggest trying a different combination like GRUB + Linux kernel. For that please download
usb.img(same download link - 64 MB), get an empty USB key and dump that image to USB like this:
dd bs=1M if=/tmp/usb.img of=/dev/sdX
Make sure you have the correct device filename - could be
/dev/sdc… After connecting the USB key to your machine wait 5 seconds for it to settle and the run
dmesg | tailto see which device name it has.
If you only have a Windows machine at hand you can also use Win32DiskImager to write that image to your USB key.
Then boot your Lenovo N24 of that USB key and see what happens. It has GRUB debug enabled and should loop at that stop where we seem to have a problem on “exit_boot_services”. Though I am not sure this will help. It’s just a test to see if you can boot the kernel straight from a GRUB USB key.
11 results https://i.imgur.com/9b0WwQb.jpg
11_bzImagewill try 10 times. Don’t think this helps but it’s easy to test.
no go… but i feel like your getting closer to it lol
@bloodwar Ok here we go, please give
@bloodwar Ok?!? This is interesting. Shows that I don’t have a clue what the Lenovo N24 UEFI firmware is doing here. So just commenting some code doesn’t help.
Searching the web for whatever I found a post where syslinux people are talking about this as well - http://www.syslinux.org/archives/2015-September/024212.html - The implementation proposed here is trying at least twice so I think this is a bit different to how the Linux kernel is handling it at the moment. I’ll try to implement that and let you know.
used the usb nic instead of usb boot.
@bloodwar I just uploaded
09_bzImagefor you to test. It skips part of the code that I think could be causing the issue on your device. Let’s see what happens. Try it and post a picture again.