View previous topic :: View next topic |
Author |
Message |
Lexar n00b
Joined: 23 Jul 2012 Posts: 2
|
Posted: Mon Jul 23, 2012 7:26 pm Post subject: Please help, luks + lvm, device not found at startup |
|
|
Hi! I'm new in this forum! First of all, sorry about my english, I don't speak english. I will talk as good as possible.
Let's get straight with my problem: I was trying to install gentoo encrypting my root, I have the next partition scheme
/dev/sda3 --> /boot
/dev/sda4 --> dm_crypt --> /dev/mapper/genluks
/dev/mapper/genluks --> pvcreate --> vgcreate --> /dev/mapper/gencrypt (LVM)
dev/mapper/gencrypt
|
--------> /dev/mapper/gencrypt-root --> /
--------> /dev/mapper/gencrypt-swap --> swap
The problem that I have is that when I want to start the machine I get an error, something like "can not mount device in read-only", an after that I get a beautiful kernel panic. Here is my init:
Code: |
#!/bin/sh
mount -t proc none /proc
CMDLINE=`cat /proc/cmdline`
mount -t sysfs none /sys
sleep 4
#rescue function
rescata() {
echo "Shell al cante"
busybox --install -s
exec /bin/sh
}
loadkmap < /etc/kmap-es
/bin/cryptsetup luksOpen /dev/sda4 genluks || rescata()
/bin/lvm vgscan
/bin/lvm vgchange -ay gencrypt
mount -r /dev/mapper/gencrypt-root /newroot
umount /sys
umount /proc
exec /bin/busybox switch_root /newroot /sbin/init ${CMDLINE}
|
At first I thought that it was a problem calling cryptsetup, because I din't get any prompot asking for a password, so I decided to put a rescue funtion and I dindn't get any error. I don't know what is happening, so PLEASE HELP!
Here is my kernel (gentoo-hardenerd-3.4.2-r1) .config:
http://pastebin.com/YHRd50CZ
lspci -n:
Code: |
00:00.0 0600: 8086:0044 (rev 02)
00:01.0 0604: 8086:0045 (rev 02)
00:16.0 0780: 8086:3b64 (rev 06)
00:1a.0 0c03: 8086:3b3c (rev 05)
00:1b.0 0403: 8086:3b56 (rev 05)
00:1c.0 0604: 8086:3b42 (rev 05)
00:1c.1 0604: 8086:3b44 (rev 05)
00:1c.2 0604: 8086:3b46 (rev 05)
00:1c.3 0604: 8086:3b48 (rev 05)
00:1c.4 0604: 8086:3b4a (rev 05)
00:1c.5 0604: 8086:3b4c (rev 05)
00:1d.0 0c03: 8086:3b34 (rev 05)
00:1e.0 0604: 8086:2448 (rev a5)
00:1f.0 0601: 8086:3b09 (rev 05)
00:1f.2 0106: 8086:3b29 (rev 05)
00:1f.3 0c05: 8086:3b30 (rev 05)
01:00.0 0300: 10de:0a29 (rev a2)
01:00.1 0403: 10de:0be2 (rev a1)
07:00.0 0280: 10ec:8172 (rev 10)
0c:00.0 0200: 10ec:8168 (rev 03)
16:00.0 0880: 197b:2382 (rev 20)
16:00.2 0805: 197b:2381 (rev 20)
16:00.3 0880: 197b:2383 (rev 20)
16:00.4 0880: 197b:2384 (rev 20)
ff:00.0 0600: 8086:2c62 (rev 02)
ff:00.1 0600: 8086:2d01 (rev 02)
ff:02.0 0600: 8086:2d10 (rev 02)
ff:02.1 0600: 8086:2d11 (rev 02)
ff:02.2 0600: 8086:2d12 (rev 02)
ff:02.3 0600: 8086:2d13 (rev 02)
|
!PLEASE HELP! _________________ --Error 404: Democracy Not Found |
|
Back to top |
|
|
djdunn l33t
Joined: 26 Dec 2004 Posts: 810
|
Posted: Mon Jul 23, 2012 8:30 pm Post subject: |
|
|
here is how i do it with grub version < 2
I would suggest you use genkernel. you will probably need to change some useflags to use genkernel add some statics to them but it will tell you if you need to.
you would want to do first mount /boot if you need to then
Code: | genkernel --luks --lvm --keymap --mdadm --install initramfs |
that will provide you with a good initramfs
then you need to edit grub.conf
here is what mine looks like
Code: | title Gentoo Linux
root (hd0,0)
kernel /boot/vmlinuz init=/linuxrc crypt_root=/dev/md127 real_root=/dev/mapper/vg-root rootfstype=ext4 dolvm domdadm keymap=dvorak
initrd /boot/initramfs |
_________________ “Music is a moral law. It gives a soul to the Universe, wings to the mind, flight to the imagination, a charm to sadness, gaiety and life to everything. It is the essence of order, and leads to all that is good and just and beautiful.”
― Plato
Last edited by djdunn on Mon Jul 23, 2012 8:39 pm; edited 1 time in total |
|
Back to top |
|
|
olek Apprentice
Joined: 22 Oct 2011 Posts: 173
|
Posted: Mon Jul 23, 2012 8:37 pm Post subject: |
|
|
Maybe, your naming-scheme is different on boot than it was when creating the partition-scheme, so sda refers not to the right disk.
Are the tools in your initramfs built with USE="static"? _________________ https://plaintext.blog |
|
Back to top |
|
|
cach0rr0 Bodhisattva
Joined: 13 Nov 2008 Posts: 4123 Location: Houston, Republic of Texas
|
Posted: Tue Jul 24, 2012 5:20 am Post subject: |
|
|
did you copy the device node for sda4 into the initramfs structure?
Code: |
# CONFIG_DEVTMPFS is not set
|
I would *highly* recommend you enable devtmpfs, and either also enable the automount feature in the kernel, or, put a line into 'init' that does a devtmpfs mount. That should give you the device nodes you need in order to luksOpen. You could simply be missing device nodes. From there, vgscan should pick up your luks volume
genkernel or other automated tools should not necessarily be necessary.
You seem to have most of the bits covered off, but I put this together which might be worth a look (if this link is broken, my apologies, i have a dying hard disk!) _________________ Lost configuring your system?
dump lspci -n here | see Pappy's guide | Link Stash |
|
Back to top |
|
|
Lexar n00b
Joined: 23 Jul 2012 Posts: 2
|
Posted: Fri Jul 27, 2012 6:39 pm Post subject: |
|
|
olek: Thank you for answering, but the naming scheme is the same, I sure of that an yes y used the "static" flag
djdunn: That would maybe work but I prefer to do everything by my own, without using genkernel, and I would like to know what I've done bad. One question, is mdamd necessary, whitout using RAID? I think that:
Code: |
genkernel --luks --lvm --keymap --install initramfs
|
will just work. Thank you too for answering all the ways
cach0rr0: Yes, I copied. I set CONFIG_DEVTMPFS=y, and I recompiled my kernel (ohh I have just remembered that I dind't enable CONFIG_AUTOFS4_FS, ups hahaha ). I took a look at your guide (which I recommend to everyone who was trying to do the same as me) and I think I'm doing everything fine, but it still not working. I don't know what is happening, I also think that the problem is related with the device nodes, because it's obvious that cryptsetup can't find /dev/sda4. I will try to make a fresh installetion, because I must have missed something. I will tell you
And thank you everyone. _________________ --Error 404: Democracy Not Found |
|
Back to top |
|
|
cach0rr0 Bodhisattva
Joined: 13 Nov 2008 Posts: 4123 Location: Houston, Republic of Texas
|
Posted: Sat Jul 28, 2012 4:12 am Post subject: |
|
|
Lexar wrote: |
cach0rr0: Yes, I copied. I set CONFIG_DEVTMPFS=y, and I recompiled my kernel (ohh I have just remembered that I dind't enable CONFIG_AUTOFS4_FS, ups hahaha ). . |
after you made this change to the kernel, did you edit 'init' and add a 'mount' line to mount the devtmpfs? After doing this you will have needed to recreate your initramfs (to include the new/modified init), copied the new initramfs to /boot, copied the new kernel to /boot, and so forth
the line in init would be before you luksOpen or anything
Code: |
mount -t devtmpfs none /dev
|
so your modified init would be something like:
Code: |
#!/bin/sh
mount -t proc none /proc
CMDLINE=`cat /proc/cmdline`
mount -t sysfs none /sys
mount -t devtmpfs none /dev
sleep 4
#rescue function
rescata() {
echo "Shell al cante"
busybox --install -s
exec /bin/sh
}
loadkmap < /etc/kmap-es
/bin/cryptsetup luksOpen /dev/sda4 genluks || rescata()
/bin/lvm vgscan
/bin/lvm vgchange -ay gencrypt
mount -r /dev/mapper/gencrypt-root /newroot
umount /sys
umount /proc
exec /bin/busybox switch_root /newroot /sbin/init ${CMDLINE}
|
note line 6 above. _________________ Lost configuring your system?
dump lspci -n here | see Pappy's guide | Link Stash |
|
Back to top |
|
|
|
|
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
|
|