302 lines
11 KiB
Plaintext
302 lines
11 KiB
Plaintext
module Test_grub =
|
|
|
|
let conf = "# grub.conf generated by anaconda
|
|
#
|
|
# Note that you do not have to rerun grub after making changes to this file
|
|
# NOTICE: You have a /boot partition. This means that
|
|
# all kernel and initrd paths are relative to /boot/, eg.
|
|
# root (hd0,0)
|
|
# kernel /vmlinuz-version ro root=/dev/vg00/lv00
|
|
# initrd /initrd-version.img
|
|
boot=/dev/sda
|
|
device (hd0) HD(1,800,64000,9895c137-d4b2-4e3b-a93b-dc9ac4)
|
|
password --md5 $1$M9NLj$p2gs87vwNv48BUu.wAfVw0
|
|
default=0
|
|
setkey
|
|
setkey less backquote
|
|
background 103332
|
|
timeout=5
|
|
splashimage=(hd0,0)/grub/splash.xpm.gz
|
|
gfxmenu=(hd0,0)/boot/message
|
|
verbose = 0
|
|
hiddenmenu
|
|
title Fedora (2.6.24.4-64.fc8)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.6.24.4-64.fc8 ro root=/dev/vg00/lv00 crashkernel=
|
|
initrd /initrd-2.6.24.4-64.fc8.img
|
|
title=Fedora (2.6.24.3-50.fc8)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.6.24.3-50.fc8 ro root=/dev/vg00/lv00
|
|
initrd /initrd-2.6.24.3-50.fc8.img
|
|
title Fedora (2.6.21.7-3.fc8xen)
|
|
root (hd0,0)
|
|
kernel /xen.gz-2.6.21.7-3.fc8
|
|
module /vmlinuz-2.6.21.7-3.fc8xen ro root=/dev/vg00/lv00
|
|
module /initrd-2.6.21.7-3.fc8xen.img
|
|
title Fedora (2.6.24.3-34.fc8)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.6.24.3-34.fc8 ro root=/dev/vg00/lv00
|
|
initrd /initrd-2.6.24.3-34.fc8.img
|
|
map (hd0) (hd1)
|
|
title othermenu
|
|
lock
|
|
makeactive
|
|
configfile /boot/grub/othergrub.conf
|
|
"
|
|
|
|
test Grub.lns get conf =
|
|
{ "#comment" = "grub.conf generated by anaconda" }
|
|
{}
|
|
{ "#comment" = "Note that you do not have to rerun grub after making changes to this file" }
|
|
{ "#comment" = "NOTICE: You have a /boot partition. This means that" }
|
|
{ "#comment" = "all kernel and initrd paths are relative to /boot/, eg." }
|
|
{ "#comment" = "root (hd0,0)" }
|
|
{ "#comment" = "kernel /vmlinuz-version ro root=/dev/vg00/lv00" }
|
|
{ "#comment" = "initrd /initrd-version.img" }
|
|
{ "boot" = "/dev/sda" }
|
|
{ "device" = "(hd0)"
|
|
{ "file" = "HD(1,800,64000,9895c137-d4b2-4e3b-a93b-dc9ac4)" } }
|
|
{ "password" = "$1$M9NLj$p2gs87vwNv48BUu.wAfVw0"
|
|
{ "md5" } }
|
|
{ "default" = "0" }
|
|
{ "setkey" }
|
|
{ "setkey"
|
|
{ "to" = "less" }
|
|
{ "from" = "backquote" } }
|
|
{ "background" = "103332" }
|
|
{ "timeout" = "5" }
|
|
{ "splashimage" = "(hd0,0)/grub/splash.xpm.gz" }
|
|
{ "gfxmenu" = "(hd0,0)/boot/message" }
|
|
{ "verbose" = "0" }
|
|
{ "hiddenmenu" }
|
|
{ "title" = "Fedora (2.6.24.4-64.fc8)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.6.24.4-64.fc8"
|
|
{ "ro" } { "root" = "/dev/vg00/lv00" } {"crashkernel" = ""} }
|
|
{ "initrd" = "/initrd-2.6.24.4-64.fc8.img" } }
|
|
{ "title" = "Fedora (2.6.24.3-50.fc8)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.6.24.3-50.fc8"
|
|
{ "ro" } { "root" = "/dev/vg00/lv00" } }
|
|
{ "initrd" = "/initrd-2.6.24.3-50.fc8.img" } }
|
|
{ "title" = "Fedora (2.6.21.7-3.fc8xen)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/xen.gz-2.6.21.7-3.fc8" }
|
|
{ "module" = "/vmlinuz-2.6.21.7-3.fc8xen"
|
|
{ "ro" } { "root" = "/dev/vg00/lv00" } }
|
|
{ "module" = "/initrd-2.6.21.7-3.fc8xen.img" } }
|
|
{ "title" = "Fedora (2.6.24.3-34.fc8)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.6.24.3-34.fc8"
|
|
{ "ro" } { "root" = "/dev/vg00/lv00" } }
|
|
{ "initrd" = "/initrd-2.6.24.3-34.fc8.img" }
|
|
{ "map" { "from" = "(hd0)" } { "to" = "(hd1)" } } }
|
|
{ "title" = "othermenu"
|
|
{ "lock" }
|
|
{ "makeactive" }
|
|
{ "configfile" = "/boot/grub/othergrub.conf" } }
|
|
|
|
|
|
test Grub.lns put conf after set "default" "0" = conf
|
|
|
|
test Grub.lns get "# menu.lst - See: grub(8), info grub, update-grub(8)
|
|
|
|
## default num\n" =
|
|
{ "#comment" = "menu.lst - See: grub(8), info grub, update-grub(8)" }
|
|
{}
|
|
{ "#comment" = "# default num" }
|
|
|
|
(* Color directive *)
|
|
test Grub.lns get "color cyan/blue white/blue\n" =
|
|
{ "color"
|
|
{ "normal" { "foreground" = "cyan" }
|
|
{ "background" = "blue" } }
|
|
{ "highlight" { "foreground" = "white" }
|
|
{ "background" = "blue" } } }
|
|
|
|
test Grub.lns get "\tcolor cyan/light-blue\n" =
|
|
{ "color"
|
|
{ "normal" { "foreground" = "cyan" }
|
|
{ "background" = "light-blue" } } }
|
|
|
|
test Grub.lns put "color cyan/light-blue\n" after
|
|
set "/color/highlight/foreground" "white";
|
|
set "/color/highlight/background" "black" =
|
|
"color cyan/light-blue white/black\n"
|
|
|
|
(* Boot stanza with savedefault *)
|
|
let boot_savedefault =
|
|
"title\t\tDebian GNU/Linux, kernel 2.6.18-6-vserver-686
|
|
root\t\t(hd0,0)
|
|
kernel\t\t/boot/vmlinuz-2.6.18-6-vserver-686 root=/dev/md0 ro
|
|
initrd\t\t/boot/initrd.img-2.6.18-6-vserver-686
|
|
\tsavedefault\n"
|
|
|
|
test Grub.lns get boot_savedefault =
|
|
{ "title" = "Debian GNU/Linux, kernel 2.6.18-6-vserver-686"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/boot/vmlinuz-2.6.18-6-vserver-686"
|
|
{ "root" = "/dev/md0" } { "ro" } }
|
|
{ "initrd" = "/boot/initrd.img-2.6.18-6-vserver-686" }
|
|
{ "savedefault" } }
|
|
|
|
test Grub.lns get
|
|
"serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1\n"
|
|
=
|
|
{ "serial"
|
|
{ "unit" = "0" }
|
|
{ "speed" = "9600" }
|
|
{ "word" = "8" }
|
|
{ "parity" = "no" }
|
|
{ "stop" = "1" } }
|
|
|
|
test Grub.lns get
|
|
"terminal --timeout=10 serial console\n" =
|
|
{ "terminal"
|
|
{ "timeout" = "10" }
|
|
{ "serial" }
|
|
{ "console" } }
|
|
|
|
test Grub.boot_setting get
|
|
"chainloader --force +1 \n" = { "chainloader" = "+1" { "force" } }
|
|
|
|
test Grub.savedefault put "savedefault\n" after
|
|
set "/savedefault" "3" = "savedefault 3\n"
|
|
|
|
test Grub.lns get
|
|
"password foo
|
|
password foo /boot/grub/custom.lst
|
|
password --md5 $1$Ahx/T0$Sgcp7Z0xgGlyANIJCdESi.
|
|
password --encrypted ^9^32kwzzX./3WISQ0C
|
|
password --encrypted ^9^32kwzzX./3WISQ0C /boot/grub/custom.lst
|
|
" =
|
|
{ "password" = "foo" }
|
|
{ "password" = "foo"
|
|
{ "file" = "/boot/grub/custom.lst" } }
|
|
{ "password" = "$1$Ahx/T0$Sgcp7Z0xgGlyANIJCdESi."
|
|
{ "md5" } }
|
|
{ "password" = "^9^32kwzzX./3WISQ0C"
|
|
{ "encrypted" } }
|
|
{ "password" = "^9^32kwzzX./3WISQ0C"
|
|
{ "encrypted" }
|
|
{ "file" = "/boot/grub/custom.lst" } }
|
|
|
|
(* BZ 590067 - handle comments in a title section *)
|
|
(* Comments within a boot stanza belong to that boot stanza *)
|
|
test Grub.lns get "title Red Hat Enterprise Linux AS (2.4.21-63.ELsmp)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.4.21-63.ELsmp ro root=LABEL=/
|
|
#initrd /initrd-2.4.21-63.ELsmp.img
|
|
initrd /initrd-2.4.21-63.EL.img.e1000.8139\n" =
|
|
{ "title" = "Red Hat Enterprise Linux AS (2.4.21-63.ELsmp)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.4.21-63.ELsmp" { "ro" } { "root" = "LABEL=/" } }
|
|
{ "#comment" = "initrd /initrd-2.4.21-63.ELsmp.img" }
|
|
{ "initrd" = "/initrd-2.4.21-63.EL.img.e1000.8139" } }
|
|
|
|
(* Comments at the end of a boot stanza go into the top level *)
|
|
test Grub.lns get "title Red Hat Enterprise Linux AS (2.4.21-63.ELsmp)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.4.21-63.ELsmp ro root=LABEL=/
|
|
initrd /initrd-2.4.21-63.EL.img.e1000.8139
|
|
# Now for something completely different\n" =
|
|
{ "title" = "Red Hat Enterprise Linux AS (2.4.21-63.ELsmp)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.4.21-63.ELsmp" { "ro" } { "root" = "LABEL=/" } }
|
|
{ "initrd" = "/initrd-2.4.21-63.EL.img.e1000.8139" } }
|
|
{ "#comment" = "Now for something completely different" }
|
|
|
|
(* Solaris 10 extensions: kernel$ and module$ are permitted and enable *)
|
|
(* variable expansion. findroot (similar to root) and bootfs added *)
|
|
test Grub.lns get "title Solaris 10 10/09 s10x_u8wos_08a X86
|
|
findroot (pool_rpool,0,a)
|
|
bootfs rpool/mybootenv-alt
|
|
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
|
|
module$ /platform/i86pc/boot_archive\n" =
|
|
{ "title" = "Solaris 10 10/09 s10x_u8wos_08a X86"
|
|
{ "findroot" = "(pool_rpool,0,a)" }
|
|
{ "bootfs" = "rpool/mybootenv-alt" }
|
|
{ "kernel$" = "/platform/i86pc/multiboot" { "-B" } { "$ZFS-BOOTFS" } }
|
|
{ "module$" = "/platform/i86pc/boot_archive" } }
|
|
|
|
(* Solaris 10 extension: multiboot kernel may take a path as its first *)
|
|
(* argument. *)
|
|
test Grub.lns get "title Solaris failsafe
|
|
findroot (pool_rpool,0,a)
|
|
kernel /boot/multiboot kernel/unix -s
|
|
module /boot/x86.miniroot-safe\n" =
|
|
{ "title" = "Solaris failsafe"
|
|
{ "findroot" = "(pool_rpool,0,a)" }
|
|
{ "kernel" = "/boot/multiboot" { "@path" = "kernel/unix" } { "-s" } }
|
|
{ "module" = "/boot/x86.miniroot-safe" } }
|
|
|
|
test Grub.lns get "title SUSE Linux Enterprise Server 11 SP1 - 2.6.32.27-0.2
|
|
kernel (hd0,0)/vmlinuz root=/dev/vg_root/lv_root resume=/dev/vg_root/lv_swap splash=silent showopts
|
|
initrd (hd0,0)/initrd\n" =
|
|
{ "title" = "SUSE Linux Enterprise Server 11 SP1 - 2.6.32.27-0.2"
|
|
{ "kernel" = "(hd0,0)/vmlinuz"
|
|
{ "root" = "/dev/vg_root/lv_root" }
|
|
{ "resume" = "/dev/vg_root/lv_swap" }
|
|
{ "splash" = "silent" }
|
|
{ "showopts" } }
|
|
{ "initrd" = "(hd0,0)/initrd" } }
|
|
|
|
(* Password protected kernel, issue #229 *)
|
|
test Grub.lns get "title Password Protected Kernel
|
|
root (hd0,0)
|
|
kernel /vmlinuz ro root=/dev/mapper/root
|
|
initrd /initramfs
|
|
password --md5 secret\n" =
|
|
{ "title" = "Password Protected Kernel"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz"
|
|
{ "ro" }
|
|
{ "root" = "/dev/mapper/root" }
|
|
}
|
|
{ "initrd" = "/initramfs" }
|
|
{ "password" = "secret"
|
|
{ "md5" }
|
|
} }
|
|
|
|
(* Test kernel options with different special characters. *)
|
|
test Grub.lns get "title Fedora (2.6.24.4-64.fc8)
|
|
root (hd0,0)
|
|
kernel /vmlinuz-2.6.24.4-64.fc8 ro root=/dev/vg00/lv00 with.dot=1 with-dash=1 with_underscore=1 with+plus=1
|
|
initrd /initrd-2.6.24.4-64.fc8.img\n" =
|
|
{ "title" = "Fedora (2.6.24.4-64.fc8)"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "kernel" = "/vmlinuz-2.6.24.4-64.fc8"
|
|
{ "ro" }
|
|
{ "root" = "/dev/vg00/lv00" }
|
|
{ "with.dot" = "1" }
|
|
{ "with-dash" = "1" }
|
|
{ "with_underscore" = "1" }
|
|
{ "with+plus" = "1" }
|
|
}
|
|
{ "initrd" = "/initrd-2.6.24.4-64.fc8.img" } }
|
|
|
|
(* Test parsing of invalid entries via menu_error *)
|
|
test Grub.lns get "default=0\ncrud=no\n" =
|
|
{ "default" = "0" }
|
|
{ "#error" = "crud=no" }
|
|
|
|
(* We handle some pretty bizarre bad syntax *)
|
|
test Grub.lns get "default=0
|
|
crud no
|
|
valid:nope
|
|
nonsense = yes
|
|
bad arg1 arg2 arg3=v\n" =
|
|
{ "default" = "0" }
|
|
{ "#error" = "crud no" }
|
|
{ "#error" = "valid:nope" }
|
|
{ "#error" = "nonsense = yes" }
|
|
{ "#error" = "bad arg1 arg2 arg3=v" }
|
|
|
|
(* Test parsing of invalid entries via boot_error *)
|
|
test Grub.lns get "title test
|
|
root (hd0,0)
|
|
crud foo\n" =
|
|
{ "title" = "test"
|
|
{ "root" = "(hd0,0)" }
|
|
{ "#error" = "crud foo" } }
|