Gentoo Archives: gentoo-user

From: William Kenworthy <billk@×××××××××.au>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: [gentoo-user] Re: [gentoo-user] Re: [gentoo-user] boot hangs forever at “Loading initial ramdisk...”
Date: Sun, 16 May 2021 02:07:42
Message-Id: e48ab305-45d6-40ec-3a3b-b025e7e406ff@iinet.net.au
In Reply to: Re: [gentoo-user] Re: [gentoo-user] Re: [gentoo-user] Re: [gentoo-user] boot hangs forever at “Loading initial ramdisk...” by mad.scientist.at.large@tutanota.com
1 Hi,
2
3     genkernel keeps a very detailed log at /run/iniramfs/gksoreport.txt.
4 (or similar)
5
6 When it exits to the cant find root prompt, type "shell" and you can
7 read/save the report.
8
9 BillK
10
11
12
13 On 15/5/21 7:10 am, mad.scientist.at.large@××××××××.com wrote:
14 > --"Fascism begins the moment a ruling class, fearing the people may use their political democracy to gain economic democracy, begins to destroy political democracy in order to retain its power of exploitation and special privilege." Tommy Douglas
15 >
16 >
17 >
18 >
19 > May 14, 2021, 15:15 by john.blinka@×××××.com:
20 >
21 >> n
22 >>
23 >>
24 >> On Fri, May 14, 2021 at 2:36 AM John Covici <> covici@××××××××××.com> > wrote:
25 >>
26 >>> I would look in the grub.cfg and give us exactly what is in the stanza
27 >>> you are using, including where it thinks the root file system is,
28 >>> etc.  Also, see if there is any genkernel option to get some debugging
29 >>> info out of the initrd, I know using dracut you can get breakpoints
30 >>> during the process and see how its doing.
31 >>>
32 >> Tried dracut.  No change.
33 >>
34 >> Added the kernel command line debug options (#3 in “Identifying your problem area” in ‘man dracut’).  No change.
35 >>
36 >> Feeling peevish, I made a file of random junk using dd if=/dev/random of=initrd.img count=4096.  Then supplied that pile of junk as the initrd.  Again, no change.
37 >>
38 >> Then I supplied a nonexistent file name (xxx.img) as the initrd.  This time I got a complaint:
39 >>
40 >> error: file ‘/xxx.img’ not found.
41 >>
42 >> Press any key to continue...
43 >>
44 >> So, it’s getting as far as wanting to read the initrd, and is smart enough to tell whether the specified initrd actually exists on the specified boot partition.  But it can’t actually be doing anything with the initrd, or it would have objected to the random junk I fed it.
45 >>
46 >> From > https://en.m.wikipedia.org/wiki/Initial_ramdisk#Implementation> , it appears that grub is in charge of loading both linux and the initrd into memory, then handing execution over to linux along with a pointer to the memory location of the initrd.
47 >>
48 >> I’ve observed that that no booting output comes out of linux, nor any complaints from linux about the nonsense contents I fed it from the random initrd I built.  That suggests to me that grub has failed to load linux and/or the initrd into memory, or that it's failed to hand execution control to linux.
49 >>
50 >> Next step:  learned how to run an interactive grub2 command shell. With full debugging turned on, it looks like grub2 can load the kernel image, and it looks like it loads the initrd as well.  At least there are no complaints and the reported initrd size looks correct.
51 >>
52 >> But when I issue the boot command, grub2 issues a handful of mallocs and does a little token parsing, and then just stops...
53 >>
54 >> So it appears that the boot problem arises right around the handoff from grub2 to linux.  Don’t know whether grub2 or linux has failed.  I don’t know how to get either one to tell me more.
55 >>
56 >> John
57 >>
58 > Have you recompiled the kernel?  Could be a random, erroneous write to disk or something in the kernel compile didn't go well.  I'd suggest also rebuilding the initrd and reinstalling grub.  I.e. I think there is likely a kernel compile issue since it doesn't ever launch the kernel succesfully either on autopilot or when you run grub interactive.  Might also recompile grub, perhaps there's a change in compiler options that produces an incompatible (at least partially).  I also suggest the rebuild so you can be sure you have the right initrd and matching kernel.
59 >