Mail archive
alpine-devel

[alpine-devel] Fw: [alpine-aports] [Patch] mkinitfs - Support for root_type and root_options

From: Natanael Copa <ncopa_at_alpinelinux.org>
Date: Mon, 16 Mar 2015 11:36:51 +0100

I am forwarding a patch for mkinitfs from alpine-aports mailing list
for discussion.

I agree that we want support mounting p9 as root file system from
initramfs.

I would like to avoid to introduce 2 new boot options: root_type and
root_options.

Questions:

Can we implement this without introducing new boot options?

If not, how does other distros handle this? Do they have other boot
options for it?

Are we happy with introducing root_type and root_options as boot
options?

I am open for ideas.

-nc

Begin forwarded message:

Date: Wed, 11 Mar 2015 17:34:33 +0200
From: Olivier Mauras <olivier_at_mauras.ch>
To: <alpine-aports_at_lists.alpinelinux.org>
Subject: Re: [alpine-aports] [Patch] mkinitfs - Support for root_type and root_options


As per the discussion with ncopa on IRC, i redid the patch fixing the
tab issue
 From e1d6dd700b01003f23725bb7143c7fa7a25b96fc Mon Sep 17 00:00:00 2001
 From: Olivier Mauras <olivier_at_mauras.ch>
Date: Mon, 2 Mar 2015 11:30:17 +0100
Subject: Add support for two new options in the cmdline.
  - root_type: Let's you specify the type of filesystem for the root fs
  - root_options: Let's you specify mount options for the root fs - If
specified, "ro" flag won't be added by default

This has primarily been setup to be able to boot Alpine guests from a
9P virtio share and make it easy to change mount options from
libvirt/qemu

diff --git a/initramfs-init.in b/initramfs-init.in
index fd3e510..9c90406 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
_at_@ -387,8 +387,8 @@ eval set -- `cat /proc/cmdline`

  myopts="alpine_dev autodetect autoraid chart cryptroot cryptdm
debug_init
          dma init_args keep_apk_new modules ovl_dev pkgs quiet root_size root
- usbdelay ip alpine_repo apkovl alpine_start splash blacklist
- overlaytmpfs"
+ root_type root_options usbdelay ip alpine_repo apkovl alpine_start
+ splash blacklist overlaytmpfs"

  for opt; do
          case "$opt" in
_at_@ -551,8 +551,20 @@ if [ -n "$KOPT_root" ]; then
                  mount -t tmpfs root-tmpfs /media/root-rw
                  mkdir -p /media/root-rw/work /media/root-rw/root
                  mount -t overlay -o
lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work
overlayfs $sysroot
+ elif [ -n $KOPT_root_type ]; then
+ if [ -n $KOPT_root_options ]; then
+ root_options="$KOPT_root_options"
+ else
+ root_options="ro"
+ fi
+ retry_mount -t $KOPT_root_type -o $root_options $KOPT_root $sysroot
2>/dev/null
          else
- retry_mount -o ro $KOPT_root $sysroot 2>/dev/null
+ if [ -n $KOPT_root_options ]; then
+ root_options="$KOPT_root_options"
+ else
+ root_options="ro"
+ fi
+ retry_mount -o $root_options $KOPT_root $sysroot 2>/dev/null
          fi

          eend $?
-- 
cgit v0.10.1
---
Available here if scrambled: 
http://git.mauras.ch/mkinitfs/patch/?id=e1d6dd700b01003f23725bb7143c7fa7a25b96fc
Regards,
Olivier
---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Mon Mar 16 2015 - 11:36:51 UTC