1 |
Hello, Mick and the whole World. |
2 |
|
3 |
On Tue, Apr 25, 2017 at 00:00:07 +0100, Mick wrote: |
4 |
|
5 |
> Have a look here in case it helps: |
6 |
|
7 |
> https://wiki.archlinux.org/index.php/GRUB#RAID |
8 |
|
9 |
In the end, I went with grub2, and it has taken a lot of effort to get |
10 |
not very far. Grub's documentation is suboptimal. |
11 |
|
12 |
The state I've managed to get to is that grub appears to have loaded my |
13 |
kernel (it no longer gives an error message about it not being loaded), |
14 |
but then hangs without the kernel outputting even a single message. At |
15 |
this point, only the reset-button will do anything - Ctrl-Alt-Del does |
16 |
nothing. |
17 |
|
18 |
Just for reference's sake, my boot setup is EFI on GPT. I have two NVMe |
19 |
SSDs, which will be working together in several mdadm RAID pairs. grub |
20 |
can read my SSDs, reporting correctly their partitioning and being able |
21 |
to cat the grub configuration file. |
22 |
|
23 |
So, why, after apparently loading the kernel, does grub fail to start it? |
24 |
Any ideas, anybody? |
25 |
|
26 |
Here are the relevant bits of my grub.cfg: |
27 |
|
28 |
######################################################################### |
29 |
|
30 |
# Example configuration for GRUB |
31 |
# Much of this example configuration was taken from the GRUB manual. |
32 |
|
33 |
# Menu timeout |
34 |
timeout=5 |
35 |
|
36 |
# Default menu entry |
37 |
default=0 |
38 |
|
39 |
# If we have a font available, start graphical output. |
40 |
if loadfont unifont; then |
41 |
echo "Loading unifont" |
42 |
# Output resolution for GRUB (eg. 1024x768 or 'auto'). |
43 |
gfxmode=auto |
44 |
|
45 |
# Output resolution for Linux (VESAFB only). |
46 |
# 'keep' means use the same resolution as GRUB. |
47 |
# For other framebuffer drivers, pass a resolution using the video= kernel param. |
48 |
gfxpayload=keep |
49 |
|
50 |
# Load all video drivers. |
51 |
insmod all_video |
52 |
|
53 |
# Switch to graphical output. |
54 |
terminal_output gfxterm |
55 |
fi |
56 |
|
57 |
# Load modules necessary to find any boot files (/boot). |
58 |
|
59 |
# Partition table(s). |
60 |
#insmod part_msdos |
61 |
insmod part_gpt |
62 |
|
63 |
# Necessary for the root partition |
64 |
insmod mdraid1x |
65 |
insmod mdraid09 |
66 |
|
67 |
# Necessary for kernel messages to show |
68 |
insmod efi_gop |
69 |
insmod efi_uga |
70 |
insmod font |
71 |
if loadfont ${prefix}/fonts/unicode.pf2 |
72 |
then |
73 |
insmod gfxterm |
74 |
set gfxmode=auto |
75 |
set gfxpayload=keep |
76 |
terminal_output gfxterm |
77 |
fi |
78 |
|
79 |
menuentry "Gentoo Linux 4.9.16-1" { |
80 |
# Filesystem for /boot |
81 |
#insmod btrfs |
82 |
insmod fat |
83 |
insmod exfat |
84 |
insmod ext2 |
85 |
#insmod xfs |
86 |
#insmod zfs |
87 |
|
88 |
# Search all block devices for a matching UUID (for /boot) |
89 |
#search --set=root --fs-uuid 33d4013a-ec25-4462-a540-8078aeb8ed17 |
90 |
#search --set=root (md/127) |
91 |
#root=(md/127) |
92 |
set root=(hd1,gpt2) # i.e. /boot |
93 |
echo "Just set root" |
94 |
|
95 |
# Load a linux kernel, passing the root filesystem and init process as parameters |
96 |
echo "Loading kernel..." |
97 |
echo "grub_platform = " $grub_platform |
98 |
gfxpayload=text # For debugging. |
99 |
linux /vmlinuz-4.9.16-gentoo root=/dev/md127 #rootfstype=btrfs init=/usr/lib/systemd/systemd |
100 |
echo "just loaded kernel" |
101 |
boot |
102 |
|
103 |
#echo "Loading initramfs..." |
104 |
#initrd /initramfs-4.7.2.img |
105 |
} |
106 |
|
107 |
######################################################################### |
108 |
|
109 |
> -- |
110 |
> Regards, |
111 |
> Mick |
112 |
|
113 |
-- |
114 |
Alan Mackenzie (Nuremberg, Germany). |