GRUB¶
Booting Obarun with GRUB works exactly as the
Arch Wiki describes. The only thing
worth a page of its own is the ro / rw question, which people get told about
wrongly.
ro or rw on the kernel command line¶
66 boots either way. Neither value stops the machine from coming up, and there is nothing to fix if your entry says one rather than the other.
What changes is the root filesystem check:
| Kernel command line | What happens |
|---|---|
ro |
The root arrives read-only. The boot sequence can run fsck on it, then the mount-rw service remounts it read-write. |
rw |
The root is already writable. fsck does not check a filesystem mounted read-write, so the root is not checked. mount-rw becomes a no-op. |
That is the whole difference. Everything else in the boot sequence is identical.
So a GRUB entry can legitimately read either:
linux /boot/vmlinuz-linux root=UUID=... ro net.ifnames=0 quiet
linux /boot/vmlinuz-linux root=UUID=... rw net.ifnames=0 quiet
The defaults on Obarun¶
They are not the same from one bootloader to the next, and that is not a bug:
| Bootloader | Default |
|---|---|
GRUB, through grub-mkconfig |
rw |
| Syslinux | ro |
| EFISTUB, as written by the installer | ro |
grub-mkconfig produces rw because that is Arch's default and Obarun does not
override it.
When you want rw¶
Pick rw when the root filesystem does its own integrity work, or when
something in your setup refuses a read-only root.
ZFS is both, and it is the case you are most likely to meet: a ZFS root passed
ro stays read-only, and there is no boot-time check to gain, fsck.zfs being
a dummy and zpool scrub the real equivalent.
When you want ro¶
Pick ro on a classic ext4 or xfs root if you want the boot sequence to check
it before it is written to. Whether the check actually runs then depends on the
boot module: see FORCECHCK and the system-fsck service in
The boot module.
Editing entries¶
Edit /etc/default/grub and the scripts in /etc/grub.d/ rather than
grub.cfg, then regenerate:
Kernel command line and 66¶
Any key=value pair valid in /etc/66/init.conf can also be passed on the
kernel command line, which is handy for a one-off debug boot:
For a single boot, press E on the GRUB menu entry, append what you need to
the linux line, and boot with Ctrl+X. Nothing is written to disk. To make
it permanent, add it to GRUB_CMDLINE_LINUX in /etc/default/grub and
regenerate.
See Boot output.
Multi-boot¶
os-prober can detect other systems, but it is unreliable enough that it is not
recommended here. Look up the boot entry each system actually wants, and write
it into /boot/grub/custom.cfg yourself. For Windows installations os-prober
is usually good enough.
See the Arch Wiki on boot menu entry examples.
Other bootloaders¶
For anything not GRUB or Syslinux, follow the Arch Wiki on the
Arch boot process. The
ro / rw choice above applies whatever the bootloader.