Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mdadm, grub2 & HP smart array P400: stuck at boot
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
sinanqapudan
Apprentice
Apprentice


Joined: 26 Oct 2004
Posts: 194
Location: Milan

PostPosted: Thu May 26, 2016 11:39 am    Post subject: mdadm, grub2 & HP smart array P400: stuck at boot Reply with quote

Hi there,

I've been trying to install Gentoo hardened on a HP Proliant DL380 G5, but I'm stuck at boot with:
Code:
!! Could not find the root block device in .


Which, if I'm not wrong, means that the cciss driver for the controller (HP smart array P400) is not loaded at boot.

Here's the a snapshot of the screen: http://tinypic.com/view.php?pic=ztciso&s=9.

These are the main features of the installation:

I decided to go for a software raid using mdadm and NO lvm, as I did not want to lock myself with the smart array raid controller p400.

I used gpt for the disks, via parted. This is their current layout

Code:
root@sysresccd /root % parted                                   
GNU Parted 3.2
Using /dev/md1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/cciss/c0d0
Using /dev/cciss/c0d0
(parted) print
Model: Compaq Smart Array (cpqarray)
Disk /dev/cciss/c0d0: 147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name    Flags
1      1049kB  3146kB  2097kB                  grub    bios_grub
2      3146kB  137MB   134MB                   boot    raid
3      137MB   674MB   537MB   linux-swap(v1)  swap
4      674MB   147GB   146GB                   rootfs  raid

(parted)


Here's the md drives layout:
Code:
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 cciss/c0d0p4[0] cciss/c0d1p4[1]
      142548032 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md1 : active raid1 cciss/c0d0p2[0] cciss/c0d1p2[1]
      130880 blocks super 1.2 [2/2] [UU]

unused devices: <none>


The filesystem on /dev/md1 is ext2, and it is mounted as /boot, the filesystem on /dev/md2 is ext4, and it is mounted as /.

Here's the content of mdadm.conf
Code:
ARRAY /dev/md1 metadata=1.2 name=sysresccd:1 UUID=f6576e56:794636b0:8624fc3a:15b52f54
ARRAY /dev/md2 metadata=1.2 name=sysresccd:2 UUID=3fabb366:95954d85:bff48d7a:bfe6f604


Some of the issues I've come across during the installation process

When attempting to install grub2, I got the
Code:
grub2-install: error: failed to get canonical path of `none'

which I solved by remounting rw the partitions involved, as indicated in https://forums.gentoo.org/viewtopic-t-1003982-highlight-canonical+path.html, with
Code:
mount -o rw,remount /dev/cciss/c0d0p1
and
Code:
mount -o rw,remount /dev/cciss/c0d1p1


When making the initramfs, genkernel complained (and still complains, for that matter) about not being able to find the mount.zfs and btrfs binaries, solved by issuing

Code:

genkernel --mdadm --no-zfs --no-brtfs --install initramfs


and then warns about adding additional parameters such as
Code:
domdadm
or
Code:
rootfstype=ext4
in order to be able to boot. The initramfs gets created regularly in the /boot directory.

Then, when I run:
Code:
grub2-mkconfig -o /boot/grub/grub.cfg



grub2 detects the kernel images in /boot, but does not detect the initramfs.

I had to append manually the initramfs to the /boot/grub/grub.cfg, as the boot process ended in a kernel panic.

Now, for some reason it appears that the driver/module needed to boot properly does not get into the initramfs. Here's the .config http://pastebin.ca/3610351

Any ideas?

Thanks in advance
Back to top
View user's profile Send private message
sinanqapudan
Apprentice
Apprentice


Joined: 26 Oct 2004
Posts: 194
Location: Milan

PostPosted: Tue May 31, 2016 11:32 am    Post subject: Reply with quote

OK, guys,

some interesting (for me at least) news.

As I was completely clueless, in the end I decided to give it a try with the latest gentoo install minimal cd, and some interesting differences appeared.

First of all, all the block devices I previously create under the systemrescue CD are now actually in /dev (under systemrescuecd they were in /dev/cciss):
Code:
livecd ~ # ls /dev
0:0:0:0          disk          loop7               ram10   tty0   tty32  tty56    vcs11
4-2              event0        mapper              ram11   tty1   tty33  tty57    vcs12
6-1              event1        mcelog              ram12   tty10  tty34  tty58    vcs2
6-2              event2        md                  ram13   tty11  tty35  tty59    vcs3
block            event3        md126               ram14   tty12  tty36  tty6     vcs4
bsg              fd            md127               ram15   tty13  tty37  tty60    vcs5
btrfs-control    full          mdev.seq            ram2    tty14  tty38  tty61    vcs6
bus              fuse          megadev0            ram3    tty15  tty39  tty62    vcs7
cciss            gpmctl        mem                 ram4    tty16  tty4   tty63    vcs8
cciss!c0d0       hidraw0       memory_bandwidth    ram5    tty17  tty40  tty7     vcs9
cciss!c0d0p1     hidraw1       mice                ram6    tty18  tty41  tty8     vcsa
cciss!c0d0p2     hidraw2       mouse               ram7    tty19  tty42  tty9     vcsa1
cciss!c0d0p3     hwrng         mouse0              ram8    tty2   tty43  ttyS0    vcsa10
cciss!c0d0p4     initctl       mouse1              ram9    tty20  tty44  ttyS1    vcsa11
cciss!c0d1       input         mouse2              random  tty21  tty45  ttyS2    vcsa12
cciss!c0d1p1     kmem          net                 rfkill  tty22  tty46  ttyS3    vcsa2
cciss!c0d1p2     kmsg          network_latency     rtc     tty23  tty47  urandom  vcsa3
cciss!c0d1p3     log           network_throughput  rtc0    tty24  tty48  usb1     vcsa4
cciss!c0d1p4     loop-control  null                sg0     tty25  tty49  usb2     vcsa5
cciss!c0d2       loop0         port                shm     tty26  tty5   usb3     vcsa6
cdrom            loop1         ppp                 snd     tty27  tty50  usb4     vcsa7
char             loop2         psaux               sr0     tty28  tty51  usb5     vcsa8
console          loop3         ptmx                stderr  tty29  tty52  usb6     vcsa9
cpu_dma_latency  loop4         pts                 stdin   tty3   tty53  vcs      vga_arbiter
dac960_gam       loop5         ram0                stdout  tty30  tty54  vcs1     vhci
device-mapper    loop6         ram1                tty     tty31  tty55  vcs10    zero
livecd ~ #


They are the devices cciss!cxdxpx.

Second interesting feature:
Code:
livecd ~ # cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid0] [raid1] [raid10] [linear] [multipath]
md126 : active (auto-read-only) raid1 cciss/c0d0p2[0] cciss/c0d1p2[1]
      130880 blocks super 1.2 [2/2] [UU]
     
md127 : active (auto-read-only) raid1 cciss/c0d0p4[0] cciss/c0d1p4[1]
      142548032 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>
livecd ~ #


As you can see, they've been assembled with the customary md126 and md127.

The blok IDs appear to have remained the same (to be expected):

Code:
livecd ~ # blkid
/dev/loop0: TYPE="squashfs"
/dev/sr0: UUID="2016-05-19-07-12-33-45" LABEL="Gentoo Linux amd64 20160519" TYPE="iso9660" PTUUID="370116a8" PTTYPE="dos"
/dev/cciss/c0d0: PTUUID="71ccd450-97dd-43d9-b6ff-990682444d02" PTTYPE="gpt"
/dev/cciss/c0d0p1: PARTLABEL="grub" PARTUUID="80ca98b1-7eed-4e51-8ce2-746fe0f6a458"
/dev/cciss/c0d0p2: UUID="f6576e56-7946-36b0-8624-fc3a15b52f54" UUID_SUB="1572c996-b0f4-131e-75cc-8bcc73a82f54" LABEL="sysresccd:1" TYPE="linux_raid_member" PARTLABEL="boot" PARTUUID="f2f46bef-8b45-495d-afba-174d3abde845"
/dev/cciss/c0d0p3: UUID="62eaa526-037f-49f9-b9bc-2ed5c35d8aba" TYPE="swap" PARTLABEL="swap" PARTUUID="631541cc-1804-4853-b650-ed1ef35b446f"
/dev/cciss/c0d0p4: UUID="3fabb366-9595-4d85-bff4-8d7abfe6f604" UUID_SUB="68dd6951-19d6-55d1-02e2-c1a4f889ce5b" LABEL="sysresccd:2" TYPE="linux_raid_member" PARTLABEL="rootfs" PARTUUID="c60e561a-5770-4c7e-86e2-52ce07901089"
/dev/cciss/c0d1: PTUUID="bcc42ae1-854d-4e16-9395-e8df5fe31a1f" PTTYPE="gpt"
/dev/cciss/c0d1p1: PARTLABEL="grub" PARTUUID="d5c3d34b-7dcb-4d6c-b819-2e155c702ceb"
/dev/cciss/c0d1p2: UUID="f6576e56-7946-36b0-8624-fc3a15b52f54" UUID_SUB="985b0cc6-25ed-4fef-6741-3b0d6371166a" LABEL="sysresccd:1" TYPE="linux_raid_member" PARTLABEL="boot" PARTUUID="bd494741-e96a-465d-a73e-f223f63f4b19"
/dev/cciss/c0d1p3: UUID="35750584-6dd3-4cf0-a3b7-5211b66af8b2" TYPE="swap" PARTLABEL="swap" PARTUUID="a65ae323-11e6-4724-9443-d646771de341"
/dev/cciss/c0d1p4: UUID="3fabb366-9595-4d85-bff4-8d7abfe6f604" UUID_SUB="d4f8b54a-1312-3f93-e63d-cc019be77e1e" LABEL="sysresccd:2" TYPE="linux_raid_member" PARTLABEL="rootfs" PARTUUID="f9045da3-200a-4a42-bb13-163cd0d7de78"
/dev/cciss/c0d2: PTUUID="3774fac4-304c-4176-90b3-ab0f05fa2713" PTTYPE="gpt"
/dev/md127: UUID="b38bc6f4-2b72-4e65-a45e-6445ba2931c1" TYPE="ext4"
/dev/md126: UUID="fb28e276-ff5c-4433-b6b8-cd6c08e535d0" TYPE="ext2"


The really interesting thing is the new names assigned to the block devices in /dev.

Any ideas?

Thanks
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum