You are not logged in.
Hi,
I'm a newbie here, just trying to get back into Linux after 10-15 years out of it, and am playing with a shortlist of distros (after trying 12-15 on VMWare first) to see which one really grabs me. Right now Arch is at the top of the list, so I hope I'll get a fair response here ;-)
My system is:
/dev/sda (GRUB installed on MBR)
/dev/sda1 - Windows System NTFS
/dev/sda2 - Windows Data NTFS
/dev/sda6 - /boot ext2
/dev/sdb
/dev/sdb1 - Linux swap
/dev/sdb2 - NTFS space
/dev/sdb5 - / for Arch ext3
/dev/sdb6 - / for Slackware ext3
/dev/sdb7 - / for PCLinux ext3
/dev/sdb8 - / for Debian ext3
/dev/sdb9 - / for Gentoo ext3
/dev/sdb10 - / for LFS ext3
The installs are all going fine, with Arch being the most rewarding to setup so far, and the one I understand most about by the time I'm finished. Slack feels like the most comprehensive but has loads of stuff I'll want to take off, ditto for Debian but I'm not getting a good feel for it yet, PCLinux was very automated so I have little idea what's on this yet, and Gentoo and LFS have yet to be built.
My method has been thus (with the example as Arch):
Install to /dev/sdb5 with /dev/sda6 mounted as /boot.
Copy all of /boot to /myboot as a backup.
Rename the initrd, vmlinuz, System.map and config files as initrd-arch.img, vmlinuz-arch, System.map-arch, config-arch.
Change the entries in /boot/grub/menu.lst accordingly.
Reboot and test the new menu.lst.
Once it works, copy /boot to /myboot as a backup and move on to the next install.
Then install Slack allowing /dev/da6 to be formatted and overwritten, do it again renaming the files as vmlinuz-slack, initrd-slack.img...yada yada yada. Do the same with PCLinux and Debian.
The idea being to wait until the first 4 easy & quick installs were finished and then build one menu.lst and bring everything together from the various /myboot directories on each partition.
So I'm in my Debian setup, and I've got /dev/sdb5 mounted on /mnt/arch. I copy *arch* from /mnt/arch/myboot to /boot. I 'cat /myboot/grub/menu.lst > /boot/grub/menu.lst' and tidy it up so I've got Debian, Windows and Arch boots on there. And I reboot to test it.
Arch init fails at 'Mounting local filesystems' with the big square asterisked box whose wording escapes me, but along the lines of 'Unable to check filesystem, do it manually, / is read only, remount as rw using <stuff>' and then giving me the single-user sulogin.
/dev/sdb5 is clean if I turn 'quiet' off on the kernel options. If I fsck it from a LiveCD boot, it's clean. If I fsck it from the sulogin, it's clean. It all appears fine.
Next in the fstab is /dev/sda6 which has not been mounted. The first time I fsck it, a couple of access times are in the future, and I okay for these to be mended. Then it fscks clean.
I reboot, and Arch fails at the same point. I fsck both partitions, and they are both clean.
Is it failing on /swp? I don't imagine so, but I don't believe there is a 'man imagination' so I mkswap again as fsck.swap isn't available and I forgot to try it from a LiveCd before starting this long post.
Arch still fails at the same point.
Now this is the second time I've done this. The first time I installed Arch and Slack on reiserfs partitions and accessed them from Debian and got all concerned that I'd just used 'mount /dev/sdxx...' not explicitly 'mount -t reiserfs /dev/sdxx..' and I'd b0rked it up myself. And when I copied the initrd, System.map and vmlinuz for Slackware to /boot and tried to boot Slackware, I got the same problem. But now I'm thinking it's something else. I thought it might be incorrectly naming of initrd or System.map files, but it boots to init so there is little evidence for this.
So now I've got a lovely base Archlinux installation with prettiful bash prompts and all the other post-install stuff done that I wanted to, and it won't boot. And although it's great practise doing all of this, I'm loathe to do it again without knowing what else to do differently.
Suggestions on this would be very welcome.
Since then, I've wondered if I'm not trying to make it extra hard on myself trying to get everything in one big /boot directory. Could I keep /boot/grub/menu.lst on/dev/sda6 along with the stage files in/boot/grub, but have the initrd, vmlinuz and System.map on / partition under /boot and not bother mounting /dev/sda6? Something like:
(menu.lst)
title Arch
root (hd1,4) <--- this bit
kernel=(default that Arch puts on here)
initrd=(default)
title Slackware
root (hd1,5) <--- this bit
kernel=(default Slack install)
initrd=(default)
etc...
This would certainly make things easier on kernel upgrades.
Okay - enough for a first post. Thanks for reading this far. I hope you can help.
Mark...
Last edited by markwhite (2008-09-02 07:50:16)
Offline
Hehe :-)
I'm glad I got here before anyone else.
Having RTFMP on fsck, I did a 'fsck' from the sulogin to work through the fstab in order and got a 'unable to identify device UUID...'
(And I learned that /swap has a fsck setting on 0 in the fstab, and so doesn't get fsck'd
Which lead me to realise that a format changes the UUID :-)
One quick remount of / and changed fstab so that the 'UUID=....' now reads '/dev/sda6' and it now boots again!
But any responses on the latter question would still be appreciated.
PS: I had my first cobra in the back garden today. It's nothing to do with Linux, but I wanted to tell someone. It was just a baby, maybe 3 feet long. Cool hood though :-)
Offline
not sure if this is an answer to your specific problems, but perhaps a tip for future installs at least. ![]()
Usually when I multiboot linux distros I keep one distro as the main distro with a /boot partition and grub installed to mbr.
When installing other distros I keep their /boot in the / partiton and make sure grub is installed to the root partition of this particular distro as well (not mbr).
Then I can chainload the grubs of all other distros from the main distro's grub menu. The advantage of this is that you keep the various menus intact and you can without worry let them be handled by e.g. apt when new kernels arrive as updates.
Hope I was clear enough.
vanum est vobis ante lucem surgere
Offline
Xappe:
I like that. Though it didn't make immediate sense, the first couple of searches pulled up some examples that are easily understood.
And it'll be easy enough to do this from where I am now. There seems to be no issue with having grub on MBR of hd0, and I can rename my /myboot directories as /boot, install grub on each partition (I need to check this won't break anything), and amend the menu.lst on /sda/dev6 to chainload the others.
I can see the sense in this with everything being maintenance free. The way I was going to do it, I'd need to mackle menu.lst every time I, or an automatic installer, did something. I was trying to make it work my way, whereas it's easier to adapt the way it's going to work to meet my needs.
Many thanks!.
Offline
Glad to be of some kinda help.
Welcome to the forums and good luck! ![]()
vanum est vobis ante lucem surgere
Offline
I've been doing what you want to for a long time. Arch is my main distro and I play around with alot of others. I've always just had grub installed in the mbr and my /boot/grub/menu.lst is in my main Arch install. I don't use a separate boot partition on any of the linux installs. Its always left in the / partition of each distro. Whenever I add a new distro or change one, I modify my /boot/grub/menu.lst. I'll post it so you can have a look and get an idea perhaps.
# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst
# DEVICE NAME CONVERSIONS
#
# Old /dev DevFS Grub
# -----------------------------------------------
# /dev/fd0 /dev/floppy/0 (fd0)
# /dev/hda /dev/discs/disc0/disc (hd0)
# /dev/hdb2 /dev/discs/disc1/part2 (hd1,1)
# /dev/hda3 /dev/discs/disc0/part3 (hd0,2)
#
# FRAMEBUFFER RESOLUTION SETTINGS
# +----------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+-----------------------------------
# 256 | 0x301 0x303 0x305 0x307
# 32K | 0x310 0x313 0x316 0x319
# 64K | 0x311 0x314 0x317 0x31A
# 16M | 0x312 0x315 0x318 0x31B
# +----------------------------------------+
# general configuration:
timeout 10
default 0
color light-cyan/black white/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
# TIP: To use udev, add "devfs=nomount" to your kernel line.
#
#-*
title Arch Linux 64 bit (Default Linux Desktop)
root (hd0,4)
kernel /boot/vmlinuz26 root=/dev/sda5 ro vga=791
initrd /boot/kernel26.img
title Windows XP Professional
root (hd0,0)
makeactive
chainloader +1
title Debian 64 bit Linux
root (hd0,6)
kernel /vmlinuz root=/dev/hda7 ro vga=791
initrd /initrd.img
title Ubuntu 64 bit Linux
root (hd0,7)
kernel /vmlinuz root=/dev/sda8 ro vga=791 quiet splash
initrd /initrd.img
#title Fedora 64 bit Linux
#root (hd0,8)
#kernel /boot/vmlinuz root=/dev/sda9 ro vga=791 rhgb quiet
#initrd /boot/initrd.img
title Mandriva 64 bit Linux
root (hd0,11)
kernel /boot/vmlinuz-desktop root=/dev/sda12 ro vga=791 splash=silent
initrd /boot/initrd-desktop.img
#title Mepis 64 bit Linux
#root (hd0,10)
#kernel /boot/vmlinuz root=/dev/sda11 ro vga=791 splash
#initrd /boot/initrd.img
#title Suse 64 bit Linux
#root (hd0,14)
#kernel /boot/vmlinuz root=/dev/sda15 vga=0x317 resume=/dev/sda3 splash=silent showopts
#initrd /boot/initrd
#title Sidux 64 bit Linux
#root (hd0,12)
#kernel /boot/vmlinuz-2.6.21.3-slh64-smp-4 root=/dev/hda13 ro vga=788 quiet splash
#initrd /boot/initrd.img-2.6.21.3-slh64-smp-4
title Arch Linux 32 bit
root (hd0,13)
kernel /boot/vmlinuz26 root=/dev/hda14 ro vga=791
initrd /boot/kernel26.img
#title Gentoo 32 bit Linux
#root (hd0,)
#kernel /boot/kernel26 root=/dev/hda ro
#title Vector 64 bit Linux
#root (hd0,9)
#kernel /vmlinuz root=/dev/hda10 ro vga=791
title Slackware 32 bit Linux
root (hd0,8)
kernel /boot/vmlinuz root=/dev/hda9 ro vga=791
title SymphonyOne OS 32 bit Linux
root (hd0,10)
kernel /vmlinuz root=UUID=ceb5d95e-1f75-429b-91c8-993933b142c4 ro quiet splash
initrd /initrd.img
#title PCLinux OS 32 bit
#root (hd0,13)
#kernel /boot/vmlinuz root=/dev/hda14 ro vga=791
#initrd /boot/initrd.img
title Frugalware 32 bit
root (hd0,12)
chainloader +1
title Dreamlinux 32 bit
root (hd0,9)
kernel /boot/vmlinuz-2.6.23.12-dream root=/dev/hda10 ro vga=791 quiet splash=silent
initrd /boot/initrd.img-2.6.23.12-dream
#title Mint 32 bit Linux
#root (hd0,)
#kernel /vmlinuz root=/dev/hda ro quiet splash
#initrd /initrd.img
#title gOS 32 bit Linux
#root (hd0,)
#kernel /vmlinuz root=/dev/hda ro vga=791 quiet splash
#initrd /initrd.img
#title Elive 32 bit Linux
#root (hd0,12)
#kernel /vmlinuz root=/dev/hda13 ro vga=788 quiet splash
#initrd /initrd.img
#title Geubuntu 32 bit linux
#root (hd0,14)
#kernel /vmlinuz root=/dev/hda15 ro quiet splash
#initrd /initrd.imgEdit: The only linux distro I've ever used the chainloader option on is Frugalware because it didn't want to behave properly with my regular boot method. Several of the distros--namely Debian types--put a symlink in the main root / partition referring to the /boot/vmlinuz...etc and that's why some of the listings are the way they are.
And welcome to Arch. ![]()
Last edited by bgc1954 (2008-09-01 13:20:50)
configs... Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz
Offline
Hi, and thanks for the response :-)
That's exactly how I was thinking of doing it with my query in the first message. Now I've got another line of thought with the suggestion from xappe, so I have alternatives. Which is nice.
I suppose with the chainloader, there will be two grub menus which was something I wanted to avoid. It might be less maintenance in the long run that way though. It also avoids newbie worries about how important System.maps are and why all versions of ext3.stage1 (et al) aren't the same size, and what happens if they are mixed up.
But I haven't had enough experience yet to appreciate how much maintenance there will be in setting up one big /boot and keeping it in working order.
Well, there's nothing to it but to try them out and see which one feels best for me. I'll wait a while for other suggestions and then have a play.
Cheers
Offline
I've now gone ahead and built the menu.lst on the basis that I originally planned it, and all seems to be fine so far.
So I'll mark this as solved for now. Once I figure out how to.
Offline
markwhite wrote:
But I haven't had enough experience yet to appreciate how much maintenance there will be in setting up one big /boot and keeping it in working order.
Actually, you seem to have some confusion on what I originally posted. There is not one big boot partition as I explained before. Each linux distro you install has its own boot sector inside the root partition. Only some distros even offer you the option for a separate boot partition. If you tried to have a separate boot for each distro you would have to make alot of little partitions and some distros, like Fedora will not install on a hard drive with more than 15 partitions. Or, like you inferred, you put all the boots for the different distros in one boot partition, you would eventually be foobarred as the vmlinuz and initrd.img symlinks or config and System.map files from some distros would end up writing over one another and what a mess that would be. Some may disagree, but IMHO I don't think there is a huge advantage over having a separate boot partition anyway.
Also if you install grub to the root partition of the distro you are installing, for chainloading, and have one big boot sector, I'm not even sure what would happen as grub installs in /boot. Very confusing. ![]()
Last edited by bgc1954 (2008-09-02 15:54:26)
configs... Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz
Offline