Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices

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.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

I have two disks in my computer, one of them my main (IDE) drive & a new one (S-ATA). Basically, I want to make the entire sata drive the new primary hard drive, but have it completely under control of the volume manager (except for boot, which I understand has to be on a physical partition). The original (IDE) disk had root and swap as separate, physical partitions. Here's what I've tried:

1. Partition the disk with a 32 meg sda1 and the whole rest of the disk (1 TB total) as sda2.
2. Copy everything from the IDE /boot directory to the sata sda1 (mounted as /target).
3. Set up lvm on the rest of the disk, with logical volumes for root, swap, home, usr, and var.
4. Copy everything from the IDE to the appropriate sata lv's. This is done and everything mounts fine.
5. Mount the sata drive's root lv on /target, the sata boot sda1 on /target/boot, and the other lv's appropriately.
6. Do a chroot to target.
7. Run grub, with the following input:
grub>find /boot/grub/stage1
(hd0,0)
grub>root (hd0,0)
grub>setup (hd0)
grub>quit
This seems to have run with no problem.

What happens is that when I boot, it just hangs, with no output, evidently not even getting to grub. I *think* I may know what's wrong, but am open to any other suggestions.

What I *think* is that none of the above really wrote the MBR (I thought grub would do it, but evidently not). When I check the limits of the partitions, it appears that sda1 starts on cylinder #1, but the 63rd sector, so as far as I know (unless grub was supposed to do it), the MBR hasn't been written.

Can someone either a) confirm that this is correct, and/or b) tell me how to get the MBR correctly written (preferably the "and" condition;-).

No, I wanted to have both disks in there at the end of the day. In the bios, I made the sata drive the primary drive, so it's trying to boot from it. When I change the primary drive to the IDE, it boots from it fine, just as always. When the sata is the primary drive, it goes through the normal boot process up to where it would normally display the GRUB menu, then an underscore cursor just sits there on an otherwise blank screen about an inch or two below the top left corner.

Ha! For anyone out there listening, I solved one problem, and got a GRUB boot menu from my sata disk. I used the interactive grub listed in my first post, using hd1 instead of hd0 (I have this in the device.map file, and didn't know what I was doing earlier).

Now, I get the grub menu, but when it goes to boot, I get a "Error 15: file not found", regardless of which menu item I choose. Here they are, from the /boot/grub/menu.lst file:

The first one is the one I want to boot. I am going to try changing the "root (hd0,0)" to "root (hd1,0)" and see if that works, but the second line should be my old hard drive, and I get the same message there, which I don't understand.

Also, maybe I should use either (or both) of the:

Quote:

# kopt=root=/dev/sda1 ro
# groot=(hd1,0)

lines in the menu.lst, but they also have the mysterious comment about "## DO NOT UNCOMMENT THEM, Just edit them to your needs", which I don't understand. Are they comments or not?

Mmmm - Debian; IDE and SATA.
This sounds like a problem I had with Ubuntu. It looks to me like screwed up init scripts, which I was advised go all the way back to the Debian base. The BIOS gives grub a different view of the disk layout than the running system does - cute.
I played around for a while then gave up, however I later saw a comment that using /dev/disk/by-id was a way around it.

Hmm! That "by-id" thing is pretty interesting, but I'm not sure how to use it. I've made some further progress- I've moved ahead to where I no longer get the "File not found". I had to go into the device.map and menu.lst to set the hd0 and hd1 to sda and hda, respectively, because I found out the one I boot from is set as hd0, regardless of whether it's the ide or sata drive. I'm now am at the point where I get the boot menu from grub but it appears that when it tries to load the kernel it can't find the right disk driver.

On the other hand, how could it get to the grub menu and start booting linux if that were the case?

What happens is I get a bunch of messages scrolling by, it actually goes into the framebuffer "smaller character" mode, then I get this message:

I still haven't gotten this to work. I'm at the place above, where the system boots to saying something about my keyboard, then lists "all partitions", NOT to include the lvm filesystems.

I've fooled with this for the past week, and found a bug in lvm2create_initrd in the way it parsed out the required libraries, fixed it, then found out it was known, so got a later version where it was fixed "officially". That version ran out of space on the ram disk creating links to busybox, so I upped the added space from 512 to 1024, and it ran; however, it still bombs as above when I boot.

The lvm2rescue doesn't work, either, bombing in exactly the same way.

Does anyone know how to tell the boot ramdisk file system that it's got lvm volumes?

Also, supposedly, you can put an "linuxrc" file out on the initrd system. How do you do this? I thought I'd like to execute a shell during the boot process to see what is installed in the initrd (actually, I thought that's what lvm2rescue was supposed to do), but would like to try that from linuxrc.