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

[Xen-users] Re: mount: unknown filesystem type 'devfs'



Ernesto Rodriguez Reina schrieb:
> Hi again, thanks for answering i tried yaird and i got an error again:
> [..]

Ah, sorry, I've missread your post, I thought you have problems booting
dom0, but it's a domU...
Then the first you should do is to chech your "root=.." entry like
Jan-Petter Kruger suggested.
If you still want to give yaird a try, I had a look how I did it and
here are my domU yaird config file and (a bit hackish) the templates
file. But be warned, the root device is hardcoded to /dev/hda1 and xfs
as filesystem. Have a look at the "TEMPLATE postlude" section. (The
problem is, that XEN doesn't provide a "hda" if you export a block
device hda1, but yaird depends on that).

Hope it helps.

Greetings,
Markus

<domU.cfg>
CONFIG
        FORMAT  cpio

        TEMPLATE FILE "/etc/yaird/Templates-domU.cfg"

        GOALS
                TEMPLATE        prologue

                OPTIONAL MODULE fbcon


                MODULE          xfs




                TEMPLATE        postlude
        END GOALS
END CONFIG
</domU.cfg>

<Templates-domU.cfg>
TEMPLATE SET
        TEMPLATE prologue
        BEGIN
                FILE "/dev/null"
                FILE "/dev/console"
                FILE "/bin/dash"
                FILE "/bin/cat"
                FILE "/bin/mkdir"
                FILE "/bin/mount"
                FILE "/bin/umount"
                FILE "/bin/mknod"
                FILE "/bin/sleep"
                FILE "<TMPL_VAR NAME=auxDir>/run_init"

                DIRECTORY "/mnt"
                DIRECTORY "/proc"
                DIRECTORY "/sys"
                DIRECTORY "/dev"
                DIRECTORY "/etc"
                DIRECTORY "/var"

                SCRIPT "/init"
                BEGIN
                        !INIT_DEBUG=
                        !if [ "$INIT_DEBUG" != "" ]
                        !then
                        !       set -x
                        !fi
                        !
                        !mksymdev () {
                        !       devfile="$1"
                        !       sysfile="$2"
                        !       cb="$3"
                        !       devpair=$(/bin/cat "$sysfile")
                        !       for delay in 1 2 4 8 16
                        !       do
                        !               if [ "$devpair" = "" ]
                        !               then
                        !                       echo "Waiting $delay
seconds for $sysfile to show up"
                        !                       sleep $delay
                        !               fi
                        !               devpair=$(/bin/cat "$sysfile")
                        !       done
                        !
                        !       if [ "$devpair" = "" ]
                        !       then
                        !               echo "Device $sysfile seems to
be down."
                        !               echo "Debugging opportunity,
type ^D to continue."
                        !               /bin/dash
                        !       fi
                        !
                        !       maj=${devpair%:*}
                        !       /bin/mknod "$devfile" $cb $maj $min
                        !}
                        !mkcdev () {
                        !       mksymdev "$1" "/sys/class/$2/dev" c
                        !}
                        !mkbdev () {
                        !       mksymdev "$1" "/sys/block/$2/dev" b
                        !}
                        !
                        !switchroot () {
                        !       if [ "$INIT_DEBUG" != "" ]
                        !       then
                        !               echo "Debugging opportunity, ^D
to continue."
                        !               /bin/dash
                        !       fi
                        !
                        !       echo "Switching root ..."
                        !       /bin/umount -n /sys
                        !       /bin/umount -n /proc
                        !       exec <TMPL_VAR NAME=auxDir>/run_init \
                        !               /mnt $init "$@"
                        !}
                        !
                        !/bin/mount -nt sysfs sysfs /sys
                        !/bin/mount -nt proc proc /proc
                        !
                        !mkcdev /dev/tty tty/tty
                        !
                        !ro=-r
                        !ip=
                        !nfsroot=
                        !init=/sbin/init
                        !for i in $(cat /proc/cmdline)
                        !do
                        !       case "$i" in
                        !       init=*)
                        !               ;;
                        !       ro)
                        !               ro=-r
                        !               ;;
                        !       rw)
                        !               ro=
                        !               ;;
                        !       ip=*|nfsaddrs=*)
                        !               ip="$ip $i"
                        !               ;;
                        !       nfsroot=*)
                        !               nfsroot="$i"
                        !               ;;
                        !       ydebug)
                        !               INIT_DEBUG=yes
                        !       esac
                        !done
                        !if [ "$INIT_DEBUG" != "" ]
                        !then
                        !       set -x
                        !fi
                END SCRIPT
        END TEMPLATE


        TEMPLATE insmod
        BEGIN
                FILE "<TMPL_VAR NAME=target>"
                FILE "/sbin/insmod"

                SCRIPT "/init"
                BEGIN
                        !/sbin/insmod '<TMPL_VAR NAME=target>' <TMPL_VAR
NAME=optionList>
                END SCRIPT
        END TEMPLATE


        TEMPLATE mkbdev
        BEGIN
                SCRIPT "/init"
                BEGIN
                        !mkbdev '<TMPL_VAR NAME=target>' '<TMPL_VAR
NAME=sysname>'
                END SCRIPT
        END TEMPLATE


        TEMPLATE mount
        BEGIN
                SCRIPT "/init"
                BEGIN
                        !/bin/mount -n \
                        !       <TMPL_IF NAME=isRoot>$ro</TMPL_IF> \
                        !       -t <TMPL_VAR NAME=fsType> \
                        !       <TMPL_VAR NAME=options> \
                        !       '<TMPL_VAR NAME=device>' \
                        !       '<TMPL_VAR NAME=target>'
                END SCRIPT
        END TEMPLATE


        TEMPLATE postlude
        BEGIN
                SCRIPT "/init"
                BEGIN
                        !mkbdev '/dev/hda1' 'hda1'
                        !/bin/mount -n -t xfs /dev/hda1 /mnt
                        !switchroot "$@"
                END SCRIPT
        END TEMPLATE
END TEMPLATE SET
</Templates-domU.cfg>

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.