[arch-general] iniitcpio root device check
Dave Reisner
d at falconindy.com
Sun Jul 31 16:56:44 EDT 2011
> Alright, I did that, but it is still doing the root device check and
> dropping into the recovery shell, so I have to press Ctrl-D to
> continue.
>
> >From /etc/mkinitcpio.conf:
> MODULES="" # I was putting the modules here, now they are in install/9p
> HOOKS="base udev autodetect 9p filesystems"
>
> ----< start /lib/initcpio/hooks/9p >----
> run_hook () {
> modprobe 9p
> modprobe 9pnet
> modprobe fscache
> modprobe virtio
> modprobe virtio_ring
> modprobe virtio_pci
> modprobe 9pnet_virtio
> }
FYI, you can run:
modprobe -a 9p 9pnet fscache ..
and save yourself some forks.
>
> 9p_mount_handler() {
> mount -t 9p -o ro,${rootflags} "$root" "$1"
> }
>
> mount_handler=9p_mount_handler
> ----< end /lib/initcpio/hooks/9p >----
>
> ----< start /lib/initcpio/install/9p >----
> #!/bin/bash
>
> build() {
> MODULES+=" 9p 9pnet fscache virtio virtio_ring virtio_pci 9pnet_virtio"
> }
>
> help() {
> cat<<HELPEOF
> This hook allows a 9p virtual filesystem passthrough to be used
> as the root filesystem when run qemu KVM.
> HELPEOF
> }
> ----< end /lib/initcpio/install/9p >----
>
> It does not seem to matter where I put the 9p hook in the HOOKS string
> before rebuilding the initcpio images.
>
> Dwight
My fault for suggesting a rotten name. You can't start a function name
with a number.
$ 9p() { echo hi; }
ash: syntax error: bad function name
Parsing failed on sourcing the hook, and mount_handler was never
declared. Rename the function to something that ash plays nicely with
and you should get some joy.
dave
More information about the arch-general
mailing list