On Mon, Jan 23, 2012 at 6:05 PM, Bruce Dubbs <bruce.du...@gmail.com> wrote:
> Steve Crosby wrote:
>>> 2. Providing an emergency shell in the event of failure to mount root 
>>> filesystem
>
> That's reasonable too, however I never recall needing that capability.
>
> The times I have had problems have been when grub can't load the kernel
> and if I can load the kernel I can always edit the command line in grub
> to use init=/bin/bash.

Agreed. Perhaps we should mention that in the grub section of the book
as a diagnostic\troubleshooting step.
Note however that if your rootfs fails to mount as a result of a fs
error, that won't help you ;)

Also, the switch in grub config between hd0,1 and /dev/sda1 for a root
fs quite often catches people out. Being able to have a diagnostic
userspace where they can actually ls /dev and see what their kernel
thinks is the disk device, or using lspci et al is helpful.

>
>> 3. (not relevant to LFS) Auto-detecting which device the root is on,
>> when the boot device is portable\non-persistent (usb\cdrom\etc)
>> e.g. my LFS can end up as an iso, and run in a VM, or applied to usb
>> stick, therefore the real root device is variable.
>
> Can't you use 'mount'?  I get something like:
>
> /dev/sda8 on / type ext3 (rw)
>
> Wouldn't that be easier?

Nope. If your root device is a USB stick, the /dev mapping changes
depending on which USB hub\port you plug into - at kernel root mount
time, there is no facility to use any of the udev device\name mapping,
so early userspace is a requirement. All live-cd based systems use
this approach as well, since they don't know how many cd-rom's you
have, the type, or where they are in the device chain. As above, not
relevant for LFS though ;)

>
> There seems to be a trend in Linux to embrace the complex when simple
> solutions will suffice for most people.   The first exhibit is systemd.

systemd is a solution looking for a problem ;) Primarily aimed at
people who want fast boot times, the parallelisation is very good, but
the dependencies really bite. So far, systemd requires (both directly
and indirectly) dbus, gperf, attr, intltool, libcap - and aside from
parallel scripts, and some esoteric use cases, provides no advantage I
have yet to discover to the masses over sysvinit.

-- 
-- -
Steve Crosby
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to