[SOLVED] Slackware 13.37rc2 btrfs with generic kernel
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
It all went very well, but when I tried to switch from the huge kernel to the generic kernel and use the initrd.gz generated from step 29 (except that I used 184.108.40.206-smp instead of whatever's there) in lilo.conf, it failed to boot. I also noticed that in the instructions themselves, the poster doesn't actually add the initrd.gz to lilo.conf, so I'm guess the huge kernel has everything it needs to boot properly. So all in all, I'm a little confused.
Distribution: slackware64 13.37 and -current, Dragonfly BSD
I've gone through the instructions you linked to as I'm also interested in btrfs so I created my own VM. I've played around with btrfs before but I'm certainly not an expert. This time I tried just using Slackware's setup program to format a btrfs root partition and when it had finished created a /home subvolume. I noticed Yoda, (I'll call him that), missed out the initial ram disk bits of lilo.conf so I added them myself. This booted the generic fine but failed on the huge kernel.
Then I realized that Yoda's instructions you linked to had two subvolumes - one for / (system) and one for home (home). I reran the install following the instructions and this time my generic kernel falls with "ERROR: No /sbin/init found on rootdev (or not mounted) Trouble ahead." The huge kernel boots OK though. Oddly out of my two slightly different attempts this time, one with one subvolume and one with two, either the generic or the huge kernel works but not both! I'm still playing around with this as btrfs setups are a new thing to me. I'll let you you if I find anything relevant - I've got an idea it's something simple I'm missing.
Then I realized that Yoda's instructions you linked to had two subvolumes - one for / (system) and one for home (home). I reran the install following the instructions and this time my generic kernel falls with "ERROR: No /sbin/init found on rootdev (or not mounted) Trouble ahead." The huge kernel boots OK though.
That's the same thing that's currently happening to me too. Other than that hiccup, it seems to be functioning normally. I never added the initrd.gz to the initial lilo configuration (booting of the huge kernel) but when I did it messed up with that error message above. For some reason mkinitrd doesn't like it I guess.
Last edited by spudgunner; 03-20-2011 at 05:33 PM.
This may not be true for the full VirtualBox install that lets you use virtual sata drives instead of ide drives.
Also, I've had no such troubles with btrfs in VirtualBox with multiple volumes... But... I have a /boot partition that's ext3. So perhaps lilo doesn't support btrfs yet? Err... I thought lilo used hard linking to the partition and inodes to get the boot files.
I always install to the MBR, but I re-ran it anyways. I got a warning from lilo this time that I don't remember before (but just because I don't remember it, doesn't mean it isn't there). It's about the initrd is not small enough to fit in the 15M-16M memory hole so it will be loaded elsewhere and assumed the the BIOS can read memory above 16M or something (don't have it with me at the time).
When you re mount your partitions after booting from the install iso/cd, don't forget to do
mount /dev/sda1 /mnt
mount /dev/sda? /mnt/whatever
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
It helps to avoid some errors when running lilo. Also the liloconfig probably has the option "lba32" around the "boot=/dev/sda". If it isn't there, you can try adding it. I can't remember the situations of when I got the 15M-16M error or what I did to fix it... but those options might help.
Also, be sure that
are pointing to the correct files. I'm sure that was already done, I'm just trying to cover everything that I would check.
I can boot the system normally using the huge kernel, so I am not needing to go through all the mounting stuff. I'll have to check my lilo.conf to make sure all that stuff is right when I get home, but I'm pretty sure it is.
So I've installed rc3.1415... on my netbook, hoping to figure out this btrfs problem, but I'm still stuck on it. Not getting the weird error about the initrd being to big anymore (I think that was something to do with the VM I was using it in), but I still can't get the initrd to work with the generic kernel (huge kernel boots fine without it).
My System is laid out as follows:
sda1: ext4, contains /boot
sda2: btrfs, divided as follows
# Append any additional kernel parameters:
boot = /dev/sda
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used. We don't specify it here, as there's just one column.
bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
bmp-timer = 65,27,0,255
# Standard menu.
# Or, you can comment out the bitmap menu above and
# use a boot message with the standard menu:
#message = /boot/boot_message.txt
# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
# VESA framebuffer console @ 800x600x32k
vga = 787
# End LILO global section
# Linux bootable partition config begins - This entry works
image = /boot/vmlinuz
append = "rootflags=subvol=system"
root = /dev/sda2
label = Slackware-huge
# Linux bootable partition config ends
#Generic - This entry does not work
image = /boot/vmlinuz-generic-smp-220.127.116.11-smp
append = "rootflags=subvol=system"
initrd = /boot/initrd.gz
root = /dev/sda2
label = Slackware-gen
#End of config
I have never needed usbhid, ehci-hcd, or uhci-hcd modules in the past with my computer, nor have I ever used the -u option with mkinitrd, and this computer has always worked fine. In addition to this, it is missing the ext4 module, so I opted not to try this.
A little help,i tried with btrfs as you tried
But i have a btrfs with 2 disk(created mkfs.btrfs /dev/sda3 /dev/sdb3)
when i use sda3 on mkinitrd and lilo.conf failed with "failed to read the system array".
So on console i use mount -t btrfs -o subvol=system /dev/sdb3 /mnt..and works.
If i change with sdb3 on mkinitrd and lilo.conf failed with "failed to read the system array".
and i must use(mount -t btrfs.../dev/sda3) and works.
This on every reboot(sic!)
If i try the -B option on mkinitrd it create /mnt/home and /mnt/system and of course
Someone can help?
Last edited by camerabambai; 03-22-2013 at 10:12 PM.