Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: grub and maximum kernel file size
Date: Thu, 09 Apr 2009 20:36:13
Message-Id: pan.2009.04.09.20.35.56@cox.net
In Reply to: Re: [gentoo-amd64] Re: grub and maximum kernel file size by Branko Badrljica
1 Branko Badrljica <brankob@××××××××××.com> posted
2 49DE51A0.7010408@××××××××××.com, excerpted below, on Thu, 09 Apr 2009
3 21:50:56 +0200:
4
5 >> Yes, for LVM, no, for RAID, at least md/mdp kernel RAID.
6 > In theory, yes. In practice, it is unpredictable and flakey. I lost more
7 > than a day with a system that used to be able to autoassemble the RAID
8 > in kernel and boot it and then simply "changed its mind" and no matter
9 > what I did, it wouldn't boot from RAID. No available diagnostics is
10 > another hamper, since dmesg can tell you little about what exactly went
11 > wrong.
12 >
13 > In all those cases starting RAID manually went fine.
14
15 Hmm... perhaps I've been lucky. Here I'm as much verifying my own setup
16 based on your experience as discussing yours.
17
18 Did you try md-mod,start_dirty_degraded=1 (AFAIK this applies to
19 RAID-4/5/6 only)?
20
21 What about listing the appropriate component devices, as so:
22 md=d1,/dev/sda1,/dev/sdb1,/dev/sdc1... ?
23
24 Since I use mdp (partitioned), I've never relied on the kernel autodetect
25 and have always fed it the devices to assemble into the partitioned RAID
26 device root is on (the second question). I've never had to use the magic
27 in the first question, but noted the documentation on possibly needing it
28 if the RAID-4/5/6 device is both dirty AND degraded, so put it (along
29 with various other "magic" incantations) in a file I can access from grub
30 for help, should it be necessary. (FWIW I used to have them all as grub
31 entries directly, but decided that was getting unmanageable.)
32
33 If you had both those ideas where you could get at them and tried them,
34 and they didn't work, perhaps my setup isn't as good as I think it is, as
35 I've always assumed that even if I couldn't get in with one kernel, I
36 could always reboot and try the previously working kernel, and along with
37 the various associated kernel commandline RAID options, could get it
38 working. If for whatever reason that failed, I figured the disks would
39 be forensic recovery material. I have indeed always been able to boot
40 without serious issue so far, but if I have just been lucky...
41
42 > It is nice to be able to use initramfs as some sort for
43 > backpack/first-aid-kit/MCGuyver's_toolshed when all else fails.
44 >
45 > It isn't always simple to boot from another media, especially if you
46 > need that particular kernel etc.
47 >
48 > That's why initramfs is cool. If the system is in good enough shape for
49 > grub to grab kernel and initrd, it can run diagnostics and maybe offer
50 > some fundamental services ( like named,dhcpd, routing, firewalling etc).
51
52 That's true, but my point is, by the time you setup all that complexity,
53 you're almost setting up AND CONFIGURING a whole little mini-distribution
54 inside your initramfs/initrd.
55
56 What I've chosen to do instead is do without the initrd, and effectively,
57 make my whole working system (sans user config and data), not just some
58 subset of it, available as my troubleshooting toolbox.
59
60 What I mean is that periodically, I snapshot/copy off my root (which
61 includes everything that portage installs and its database so most of /
62 usr and some of /var, all installed system binaries, scripts, and config)
63 to an identically sized rootbak partition. (In this case it's another
64 partition on the mdp/RAID, thus the weakness implied above if it should
65 not be bootable by any available kernel, even with the appropriate
66 options.) I can then continue updating the working root partition as I
67 normally would.
68
69 When things go wrong and I'm unable to boot the main partition, I can
70 thus boot to rootbak and get the system, fully configured and functional
71 as it was at the time I took the snapshot, and use it to recover the main
72 system. Since it's fully functional, as long as I've not let it get
73 /too/ outdated, it loads the LVM and mounts /home and all the usual
74 partitions (or I can reconfigure it to mount the backups instead), and
75 while I might be stuck with a KDE say a minor release or so back due to
76 the age of the backup snapshot, I get full X and everything I had then,
77 plus mail, bookmarks, etc, I've saved since then, full net access, etc.
78 That's far better from my perspective than the limited toolbox an
79 initramfs/initrd would provide, particularly since invariably, I'd find I
80 was missing the ONE tool I needed if I WERE running a limited one.
81
82 I've actually used this from time to time as well. When a new ~arch bash
83 failed to boot was one such time; the time the new glibc combined with a
84 new portage to screw symlinks, thus glibc, thus the entire working
85 system, was another. Running the then very new OpenRC and having it
86 screw up was yet another. In all cases, I was able to simply boot to my
87 backup snapshot (using the root= kernel commandline parameter) and use it
88 to recover my normal working partition.
89
90 There was /one/ time I got caught without a working grub and had to
91 install an old version of Ubuntu (5.something!) off an old CD I had
92 floating around, and point its grub at the normal Gentoo grub.conf, but
93 that's the only time I've had to boot from an actual CD to rescue things,
94 and you can be sure I keep several tested-working GRUB floppies around
95 now, should I need them.
96
97 But, there's a couple things I'd do differently now if I were arranging
98 my setup with what I know now. (1) I'd create three root partitions,
99 working and two backups instead of just one, so if the system happened to
100 crash when I was updating one and neither it nor the normal working copy
101 would boot, I'd have a second fallback. (2) I'd also put those
102 partitions on separate RAID devices, not just separate partitions on the
103 same RAID device. That way, if one RAID device was entirely
104 unrecoverable, I'd use another. (3) /boot is currently on a single
105 RAID-1, of course the only RAID grub understands. I have four spindles
106 and would create two, two-disk RAID-1s or even four separate /boot
107 images, so screwing one wouldn't automatically screw the others as it
108 does now. (That's the other take-away from the Ubuntu rescue episode.)
109 (I'd also probably use more but possibly lower capacity spindles, but
110 that of course doesn't really apply to the rescue context.)
111
112 >> user-vesa-framebuffer, I take it? FWIW, I'm running radeonfb here.
113 >>
114 > Well, I have nVidia and have _never_ seen any card on which rivafb
115 > works. vesafb did work on some older cards, but not on 8800GT ( which is
116 > getting into age also). So uvesafb is only thing that works for me, at
117 > least until nvidia unifies linux driver or something like it...
118
119 Ugh! Back when I first switched to Linux, I had done my research well
120 enough and had been considering it and vetting my hardware purchases
121 against it long enough that I knew all my hardware was Linux compatible,
122 had Linux drivers, etc. Unfortunately what I did NOT grok at the time
123 (researching it from MS Windows BEFORE the switch) was the difference
124 between "Linux" drivers and "native Linux", aka "freedomware" drivers.
125 As a result, I purchased an nVidia card shortly before I made the switch.
126
127 I quickly groked my mistake, but didn't have the budget to fix it for
128 awhile. But since then, every upgrade has been a Radeon, as the best
129 native/freedomware supported hardware available as an add-on card.
130
131 I won't be doing nVidia any time soon. Not until they come around to
132 properly cooperating with the FLOSS community. YMMV and I know a lot of
133 gamers especially value their games above their freedom. That's not my
134 life and not my systems and therefore not my call, but what I run here
135 IS, and if I wanted to be stuck with proprietaryware, I'd have not
136 bothered dumping a decade's worth of experience on MS to start over with
137 Linux!
138
139 Besides, since I don't sign EULAs and can't agree to the damage waivers
140 pretty much all software (including freedomware) comes with if the code
141 isn't free for me to actually examine and/or have a coder I trust examine
142 to make that decision (/that's/ the freedomware difference), then it's
143 either illegal or not affordably defensible to run proprietaryware even
144 if I DID want to. Thus, I don't run them, and can't run nVidia drivers,
145 since they fall in that category.
146
147 Anyway, if you're stuck with it having known no better when you got it, I
148 was there for a time and can certainly sympathize. I hope you find the
149 budget for an upgrade to something with better freedomware support soon.
150 However, if it's a choice you made knowing the consequences, well, what
151 can I say but it's your choice, for better or for worse, and this appears
152 to be one of the "for worse" bits.
153
154 Plus, I can blame you and those like you for holding up progress on xorg
155 and the desktop environments, among other things, since there's a
156 continual drag placed on further progress due to the delay in support
157 from the proprietaryware graphics vendors. It's not my system and not my
158 decision, and I know people have their reasons, but I also know the
159 delays the popularity of the proprietaryware vendors means, and believe
160 in calling it as I see it -- due to their popularity, they hold
161 freedomware progress ransom to their whims. Honestly speaking but
162 nothing personal, if I had my way, freedomware would NOT hold up its
163 progress for them, even if it meant they were stuck back with xfree86
164 vintage X because that's all the proprietary folks decided to support.
165
166 --
167 Duncan - List replies preferred. No HTML msgs.
168 "Every nonfree program has a lord, a master --
169 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-amd64] Re: grub and maximum kernel file size Branko Badrljica <brankob@××××××××××.com>