Package: mountall
Version: 2.54
Severity: normal

Hello,

while debugging a boot issue I found this:

- root is mounted by default readwrite on older kernels and readonly on
  recent kernels
- unlike sysvinit upstart cannot handle readonly root when fstrab is not
  provided
- the device specification in fstab must exactly match the device
  selected as root on kernel commandline, otherwise the root is not
  mounted
- mountall is *supposed* to look at /lib/init/fstab which has a number
  of entries including an entry for root:
/dev/root       /                         rootfs          defaults
0 1

In spite of this entry when root device is mounted readonly by kernel
and root entry is missing in user supplied fstab or it does not exactly
match the root device root device is not mounted and upstart stops
without ever finishing the system boot.

So either

1) this entry is bogus and should be specified differently
2) mountall is bogus and cannot interpret the entry correctly

The easy workaround is, of course, to specify rw on the kernel
commandline so upstart is not required to mount the root device and this
never fails.

Since /lib/init/fstab is a mountall private file it is ok if it does not
exactly follow fstab(5) format so long as it does the job but it clearly
does not.

It is not feasible to ensure that the / specification in fstab always
exactly matches what the kernel actually mounts as /. When using device
name it may change due to adding and removing devices or inserting a
removable medium into different slot. While it is possible to change the
root device on kernel commandline in a bootloader it is not possible to
change the fstab.

Using UUID or label is not really good option either. On a stable
finished system it's fine but for testing I need to reformat the medium
from time to time and then the UUID and label is either random and does
not match fstab resynced from the master copy or it is fixed and does
not really identify the medium.

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (900, 'testing'), (900, 'stable'), (400, 'unstable'), (300, 
'experimental')
Architecture: armhf (armv7l)

Kernel: Linux 3.18.0-00138-g9c3b84a-dirty (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: upstart (via init_is_upstart())

Versions of packages mountall depends on:
ii  coreutils     8.23-3
ii  dpkg          1.17.21
ii  libc6         2.19-13
ii  libdbus-1-3   1.8.12-1
ii  libnih-dbus1  1.0.3-4.3
ii  libnih1       1.0.3-4.3
ii  libudev1      215-7
ii  makedev       2.3.1-93
ii  plymouth      0.9.0-9
ii  udev          215-7

mountall recommends no packages.

mountall suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to