Simon Kitching wrote:
On 08/30/2015 02:15 AM, Tim Tassonis wrote:

Yes, that's one of the annoying things in a lot of distributions: the
promotion of the special case to the normal case. Adding an extra
abstraction layer for all those people with exactly one hard disk in
their computer for the sake of pretending to be modern is really a bad
idea.


Given that every linux install can be booted using an initrd, but only a
subset of those can be booted without one, perhaps "with initrd" should
be called the normal case, and "without rd" the special case?

That depends on your definition of 'normal'. If 'normal' means that the same procedure is able to boot a PC with any known drive hardware, then you are right. On the other hand, there is no need for an initrd when the user knows what hardware is in use in advance. Some examples I know about are the Raspberry Pi, the Lego Mindstorms 'brick', and the Ranger supercomputer (https://www.tacc.utexas.edu/-/ranger-supercomputer-begins-new-life). And of course LFS. I think some slackware isos also do not use an initrd.

There is also a case for calling the split of binaries into /bin and
/usr an "extra abstraction layer for those people who split their core
operating system install over two disks" :-)

That was really forced by the primitive hardware at the time Unix was first developed. However, it is useful for instructional purposes and it really doesn't affect the user either way.

On my laptop, unpacking the initrd adds 2 seconds to boot - and that's a
default debian8 initrd with everything in it; a minimal initrd would be
much faster. Given that I reboot twice a week, and that many servers
reboot twice a year, I don't see performance as being a critical case -
except for embedded but they will be tuning everything by hand anyway.

You reboot that often?  On my non-development system:

reboot system boot  3.4.1-LFS-4  Mon Apr 13 19:02 - 12:58 (138+17:56)
reboot system boot  3.4.1-LFS-4  Wed Mar 18 11:06 - 22:02 (20+10:55)
reboot system boot  3.4.1-LFS-4  Tue Dec 30 14:33 - 11:04 (77+19:31)
reboot system boot  3.4.1-LFS-4  Sat Nov  8 02:33 - 10:13 (48+07:39)

On anduin:

reboot system boot  2.6.27.4lfs64 Mon Jan  7 19:35         (964+22:25)
reboot system boot  2.6.27.4lfs64 Wed Jan 25 06:43         (348+11:54)
reboot system boot  2.6.27.4lfs64 Thu Jun 18 05:03         (1299+13:34)
reboot system boot  2.6.27.4lfs64 Sun Apr 26 21:43         (1351+20:53)

So for distributions, it seems to me to make a _lot_ of sense to always
use an initrd. Of course the beauty of open-source is that people can
tune their systems however they wish - but I can't see any reason for
calling an initrd "a bad idea", even for setups that could technically
be booted without it. What harm does it do?

Probably no harm unless you are trying to minimize stuff on your system that you do not need or want. The other issue is educational. It's easier to understand the boot process without an opaque blob between the kernel and the boot scripts.

Note that we do provide a way to build and use an initrd in BLFS.

  -- Bruce


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

Reply via email to