[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: should an end user stick to a kernel with an initrd?



On Fri, 27 Sep 2013 14:41:54 -0400 (EDT), Tom H <tomh0665@gmail.com> wrote:
> 
> I couldn't care less how many disks you have.
> 
> Defaulting to the use of UUIDs isn't some wacky whim but a
> well-reasoned technical decision, unless you want to claim to know
> more than the developers putting together distributions.
> 
> This isn't a question of "/dev/sdX works for me, yay!" The issue is
> that device names aren't NECESSARILY stable (some would say that
> they've never been so) so, distributions are using UUIDs in order to
> avoid having any Linux user anywhere be unable to boot because sda is
> now sdc, sdb is now sda, and sdc is now sdb...

+1

Well said.  By the way, even if you only have one hard disk, you can
still get into trouble.  For example, I have a one-hard-disk system
where my hard disk normally shows up as /dev/sda and my CD-ROM drive
normally shows up as /dev/sr0.  But if I boot from the CD-ROM drive
using a Debian installer CD in rescue mode, my CD-ROM drive shows up
as /dev/sda and my hard disk shows up as /dev/sdb!

Specifying the device name for the permanent root file system is not
the only problem.  Suspend/resume is another example.  The suspend
partition is identified by the Debian installer in
/etc/initramfs-tools/conf.d/resume by means of a UUID.  The Debian init
scripts try to process a resume image *before* they attempt to mount
the permanent root file system.  (By the way, this tells you that
/etc/initramfs-tools/conf.d/resume is one of the files that gets built
in to the initial RAM file system; so if you change it you must rebuild
your initial RAM file system.)  If you don't use an initial RAM file
system, you may have trouble with getting suspend/resume to work, or
to work properly.  Early loading of CPU microcode upgrades is another
example.

The point is that the architects of the Debian init scripts pretty much
assume that an initial RAM file system is used, and they take advantage
of that assumption when they write their init scripts.  Although it is
still possible to create a kernel that does not use an initial RAM file
system, that doesn't mean that it is a good idea.  As time goes on, one
is likely to encounter more and more problems as the result of swimming
upstream against the way the system is designed to work these days.

On s390x hardware, I have a Debian Linux system that has four disks.
These disks are assigned the device names /dev/dasda, /dev/dasdb,
/dev/dasdc, and /dev/dasdd by the kernel.  But the correspondence between
these Linux device names and the hardware device numbers varies widely
from boot to boot.  I can assure you of that from personal experience.
 
-- 
  .''`.     Stephen Powell    
 : :'  :
 `. `'`
   `-


Reply to: