Jump to content
Compatible Support Forums
Sign in to follow this  
krispenmetsa

Install Fedora Core 4 on USB hard drive

Recommended Posts

I tried to install Fedore Core 4 on my seagate external USB hard drive. I used my IBM Thinkpad T42 laptop with Win XP Professional to attempt this. Initially I ran into problems because my USB hard drive was not recognized and not listed as an option to install Linux. Then I ran Linux in expert mode which solved this problem. This time I was able to see the USB hard drive and successfully install Linux. I chose Grub as boot loader with Linux as default option if none was selected. When I restarted after installation, Linux just doesn't boot. The menu for choosing the OS wasn't even displayed and I got an OS not found message on the screen. Now I tried to boot linux with the Linux boot CD. Everything is fine and I get the boot prompt. Now if I press Enter, Linux should boot from the CD in graphics mode. But all I got was a blank screen. It just doesn't boot even from the boot disk. I tried the linux text, linux expert, linux rescue options at the boot prompt but all to no avail. I just get the blank screen all the time. So now I cannot boot Linux from the USB hard drive and also from boot CD. Please, some one guide me and help me with this. I just cannot figure out what must have happened after the Linux installation on the USB hard drive. Of course I was able to boot Win XP after I disconnected USB hard drive and restarted. But now even with USB hard drive disconnected I just couldn't boot Linux. Please help me!!!!

Share this post


Link to post

Let's take a look at this one step at a time.

 

Quote:
I ran into problems because my USB hard drive was not recognized and not listed as an option to install Linux. Then I ran Linux in expert mode which solved this problem. This time I was able to see the USB hard drive and successfully install Linux.

 

This should have been your first clue that there would be a problem. I recently saw a post about this on another Fedora forum. This was apparently a bug in the base installation kernel having problems running the usb module (driver).

 

Fedora is designed to be installed on an internal hard drive. Installing to a usb drive is best left for folks who know what they are doing.

 

 

Quote:
I chose Grub as boot loader with Linux as default option if none was selected.

 

Since you installed in expert mode (which by the way, for some reason loads the usb driver correctly), where did you tell Fedora to install Grub? I bet to a /boot partition on the usb drive? If this was the case, thewn you need to have the bios set to boot from the usb device, which probably is USB-HD in the bios? What options do you have in the bios to boot from USB?

 

 

Quote:
Now I tried to boot linux with the Linux boot CD.

 

Do you mean the first installation cd, or the boot.img file (boot cd image) from the Fedora website mirror that you downloaded the iso files from?

 

Laptop cdrom drives are very sensative to cd media types. You need to bun a cd on quality media at a slow speed. See my article here to see what I am getting at.

 

Again, laptop cdrom drives can be funky about booting from certain media, say cdrw disks. The speed that the disk was burned at will affect this and result in the behavior that you are experiencing.

 

 

Quote:
I just cannot figure out what must have happened after the Linux installation on the USB hard drive. Of course I was able to boot Win XP after I disconnected USB hard drive and restarted. But now even with USB hard drive disconnected I just couldn't boot Linux.

 

Just to clarify, you don't boot from the installation cd to Fedora, you just start the installation process. Rescue mode, however, will try to find your installation. But remember the above comments that I made about the usb modules being loaded from the installation cd?

 

Grub is probably installed on a /boot partition on the usb drive. It is most likely not set active, so booting fails.

 

Your Master Boot Record must be intact on your hard drive, as Windows boots with the usb drive disconnected. Of course, you can't boot Fedora with the drive disconnected, as all your Fedora OS files are on the usb drive, including the reference files for Grub. If you disconnect the drive, then Fedora will not boot or be found.

Share this post


Link to post

Thanks a lot for the prompt reply. Just to give you more information:

 

1) The BIOS startup options on my laptop are

 

1: ATAPI CDO:UJDA7554 DVD/CDRW-(SM)

2: +USB HDD

3: IDE HDDO:HTS726060M9A00-(PM)

4: USB FDD:

5: Legacy Floppy drives

6: USB CD:

7: PCI LAN: IBA GE Slot 0208v1217

8: IDE HDD1:

 

2) The hard drive partitions (on internal and USB hard drives) are:

 

For /dev/hda (Windows XP internal hard drive)

 

/dev/hda1 NTFS 52839MB

/dev/hda2 VFAT 4393MB

 

For /dev/sda (Seagate 100GB USB hard drive)

 

/dev/sda1 (/boot) ext3 102MB

/dev/sda2 volgroup00 LVM PV 95292MB

 

For volgroup00

 

logvol01 swap 1984MB

logvol00 ext3 92248MB

 

3) During Linux installation, I think I chose to install GRUB on /dev/hda MBR which is my laptops internal hard drive.

 

When I tried to boot linux (of course, with USB HD connected), I used the Installation disk1 (which I got from Redhat Fedora and Enterprise Linux 4 Bible book). I tried with the disk which I burned from the ISO image on fedora site (I burned this correctly using Nero). With both these disks I could see the boot prompt but not able to go any further. Just blank screen with a lot of spindle activity on the CD-ROM which becomes silent after some time.

 

4) However I was able to bring up the installation program (only in Linux expert mode) using the DVD that comes with the book. Now do you want me to do an upgrade install to install GRUB on /dev/sda1? When I chose the upgrade install, I have 2 options to install GRUB -

 

/dev/hda MBR (I chose this one during my previous install)

/dev/sda1 First Sector of boot partition

 

Do you want me to choose the second one now and proceed with the upgrade install?

Share this post


Link to post

Sorry, a small correction to my previous post. I am not 100% sure I installed GRUB on my internal hard drive MBR. Now I tried using knoppix to get into the USB hard drive. I was able to mount its boot partition and could see the grub.conf file in /mnt/uba1/grub folder. This is what I did -

 

1) open a knoppix session

2) change to root user from knoppix user

3) fdisk - l lists the following. I can also find these entries in /etc/fstab file.

 

Device Boot

/dev/uba1 *

/dev/uba2

 

4) #mount -t ext3 /dev/uba1 /mnt/uba1

5) #cd /mnt/uba1/grub

6) Now I see the grub.conf file (which has no write permissions) and its link menu.lst (which has all the permissions). The contents of menu.lst are

 

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.spm.gz

hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd1,0)

kernel /vmlinuz-2.6.11-1.1369_FC4 ro

root=/dev/VolGroup00/LogVol00

quiet

title Win XP

rootnoverify (hd0,0)

chainloader +1

 

From the above listing, it looks like I installed GRUB on the linux root partition. Please tell me if I have to make any changes to this menu.lst file to boot linux.

 

Also I read on another linux posting that I have to make a new initrd file (the one including the USB module). In this knoppix session I could not execute the command that was given in this posting to create the new initrd file.

 

mkinitrd --with-usb --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod ./usbinitrd-`uname -r` `uname -r`

 

The link to that posting is http://www.linuxquestions.org/questions/showthread.php?t=380973

 

Please help me with this.

Share this post


Link to post

Ok, you are using LVM (Logical Volume Management) with fedora. I don't use this, but will try to comment.

 

Your grub is installed on it's own partition, called /boot on the usb drive, not on the root partition of the Fedora drive.

 

/dev/sda1 (/boot) ext3 102MB which is sda1.

 

 

Your root partition is;

 

/dev/sda2 volgroup00 LVM PV 95292MB which is sda2.

 

Yoiu can't use a Knoppix Live Cd to do the procedure thatw as mentioned in your link. It uses a different kernel and depending on the version of Knoppix that you used, may not even have mkintrd available.

 

You can't use Knoppix to run this proceedure, as you are booting with a different kernel by booting with Knoppix cd.

 

Note that you are using the argument uname -r in the command string. This references that current kernel that you are using at the time, the Knoppix kernel, not the Fedora one. This will fail. This is why you are having one problem with this and need to use the same boot disk that you did the installation with.

 

You must use a boot disk that loads the same kernel that you currently have on Fedora. Not just any Fedora boot disk. What version of Fedora comes with the book that you mentioned, the Redhat Fedora and Enterprise Linux 4 Bible book? if it is not the same as your current version, you are likely to run into issues.

 

Try booting with the original installation cd that you originally installed Fedora with. Pass the expert rescue commands at the boot screen command line and see if it boots.

 

This should give you a command line to work with...no graphical interface. Then try the mkinitrd command string.

 

What you should be trying to do is boot into rescue mode, not doing a re-installation of Fedora.

 

However, given what you said so far, i think that you have an issue with the original install disk, if you burned this disk yourself originally.

 

What exact media did you burn the image to, a cdrw, cd-r disk??

 

What speed did you burn the image at? More than 4X?

 

Do you know what rating the cdrw drive is that you burmed the images with, 4X, 24X...?

 

Is the cdrw drive on the laptop, or burned on a cdrw drive in another system?

 

 

Share this post


Link to post

Thanks for the response. I have several installation disks with me but the one I used for the installation on USB hard disk was the DVD (which also has knoppix) that came with the book. (The book also comes with 2 installation CDs). I burned another installation disk from the ISO image on the fedora site. I used the same laptop and its internal DVD/CD-RW drive to burn this image at 8X speed (on a CD-R disk). But the problem now is even with the original DVD that I used to install FC4, I cannot boot with linux expert rescue options. I can get to the installation program with linux expert command at boot prompt but I get a blank screen if I use both expert and rescue options.

 

What you said regarding knoppix was correct. It does have an mkinitrd command but this version doesn't seem to have all the options. I cannot use it to specify the modules with --preload option.

 

Looks like I have reached a dead end because if I cannot boot in rescue mode, there is no way I can create a new boot image and change GRUB.conf to point there. Do you think it is a problem with the installation DVD or the USB hard disk?

 

Should I try reinstallig the whole thing using that DVD again? I don't want to use that DVD again but the problem is I cannot get the installation program to load from the other installation CDs I have.

Share this post


Link to post
Quote:
What you said regarding knoppix was correct. It does have an mkinitrd command but this version doesn't seem to have all the options. I cannot use it to specify the modules with --preload option.



Again, you can't mix Linux distros to try this. I don't know what kernel version is on your Knoppix disk (knowing the version of Knoppix that this is would help) but, the modules that you specify with the preload command may not be there, or reflect a series 2.4 series kernel, not a 2.6 series kernel in Fedora, which have different module names.

What happens when you try the following added to the command boot line;

expert rescue nofb

Share this post


Link to post

Thanks for the response. I really appreciate it. Finally I was able to boot linux in rescue mode using the expert rescue nofb options you suggested. The image was mounted on /mnt/sysimage. Now, this is what I did.

 

#cd /mnt/sysimage

#chroot /mnt/sysimage

#cat etc/fstab

 

I found the following entries in the output (there are other entries which I am not listing here)

 

/dev/VolGroup00/LogVol00 / ext3

LABEL=/boot /boot ext3

/dev/VolGroup00/LogVol01 swap swap

 

I know that the device for my boot partition is /dev/sda1 though its not listed and can only see its label in the etc/fstab file. Now, I mounted the boot partition.

 

#mount -t ext3 /dev/sda1 /boot

#cd boot

 

I found the original image initrd-2.6.11-1.1369_FC4.img file here. Now I created the new image.

 

#mkinitrd --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod ./usbinitrd-`uname -r`.img `uname -r`

 

This command executed successfully and created the new USB image - usbinitrd-2.6.11-1.1369_FC4.img

 

Now I modified the grub.conf file in /boot/grub folder. I commented the initrd entry and added a new one.

 

# initrd /initrd-2.6.11-1.1369_FC4.img

initrd /usbinitrd-2.6.11-1.1369_FC4.img

 

I restarted the system and even now I cannot boot!! It gives me the same message - Error Loading OS.

 

I am totally lost. Just when I thought I got it finally going...what did I do wrong? I verified the grub.conf entry and the usb image file by booting in rescue mode again and they are indeed there. Please help me.

Share this post


Link to post

Looking over your previous posts, I may see the problem.

 

In your Grub.conf file, there are some problems. The "Hiddenmenu" prevents the Grub menu from being visable, so comment it out.

 

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.spm.gz

#hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd1,1)

kernel /vmlinuz-2.6.11-1.1369_FC4 ro

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.spm.gz

hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.spm.gz

hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd1,1)

kernel /vmlinuz-2.6.11-1.1369_FC4 ro

root=/dev/VolGroup00/LogVol00

quiet

title Win XP

rootnoverify (hd0,0)

chainloader +1

 

I think that your root= command line is incorrect (see the green area abouve). Try changing it to (hd1,1).

 

When you are in there, note what your /boot/grub/device.map file says that the drives should be and post the results.

 

Share this post


Link to post

Thank you very much for the quick response.

 

#cat /boot/grub/device.map outputs the following

 

(fd0) /dev/fd0

(hd0) /dev/hda

 

The original grub.conf file is -

 

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.xpm.gz

hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd1,0)

kernel /vmlinuz-2.6.11-1.1369_FC4 ro

root=/dev/VolGroup00/LogVol00 rhgb

quiet

initrd /initrd-2.6.11-1.1369_FC4.img

title Win XP

rootnoverify (hd0,0)

chainloader +1

 

The changed file now is (changes in red)-

 

default=0

timeout=5

splashimage=(hd1,0)/grub/splash.xpm.gz

#hiddenmenu

title Fedora Core (2.6.11-1.1369_FC4)

root (hd1,1)

kernel /vmlinuz-2.6.11-1.1369_FC4 ro

root=/dev/VolGroup00/LogVol00 rhgb

quiet

#initrd /initrd-2.6.11-1.1369_FC4.img

initrd /usbinitrd-2.6.11-1.1369_FC4.img

title Win XP

rootnoverify (hd0,0)

chainloader +1

 

Even with these changes I still don't see any grub menu while booting and I get the same Error Loading OS message.

 

Do you think I have to change (hd1,0) to (hd1,1) in the splashimage entry also?

 

I see why you want me to change the (hd1,0) to (hd1,1). You think (hd1,0) refers to the swap patrition and (hd1,1) refers to the root partition. I think you are right.

 

I also think the root=/dev/VolGroup00/LogVol00 rhgb entry is correct. This is referring to the logical (root) volume. When I checked this entry, I found that LogVol00 is a link to the actual device file /dev/mapper/VolGroup00-LogVol00. Do you think I should try entering the actual device file?

 

Thank you very much for all your help. Please let me know what you think.

Share this post


Link to post

OK, your /boot/grub/device.map files reveals some clues. There is no entry to identify the usb drive.

 

When did you change the boot order in the bios to boot from the USB drive, after the installation of Linux?

 

As I mentioned, I don't use logical volumes, so I need to do some detective work.

 

In Grub, hd0,0 refers to the first partition on your ide (internal) drive. The second numbers start at zero, not 1.

 

So for your USB drive;

 

(hd1,0) should refer to the /boot partition, or partition 1 on the second drive.

 

(hd1,1) refers to your root partition of Linux, or the second partition on that drive.

 

But the logical volume business may complicate things.

 

Let me investigate this. When booting from a /boot partition, that partition needs to be set active. I always set grub to my MBR, so I need to look at this further.

Share this post


Link to post

For now, try adding the following to your device.map file, by editing it;

 

(hd1)..../dev/sda

 

You need to do this as root user, using your favorite text editor, or via the file manager via superuser mode.

Share this post


Link to post

I just did the same installation of Fedora Test 5 on a usb drive. Same problem.

 

I think that I see the problem.

 

The error loading OS message is related to the partitioning scheme and using the usb hard drive as the first boot device.

 

If you used the default partitioning scheme, Fedora sees the usb drive in an incorrect order. I changed the boot order of the drives during the installation, to see the usb drive as the first boot device. This got me the grub screen, but a kernel panic.

 

Your Fedora installation is on Logical Volume Management, so Grub also needs to point to the logical volumes, not the actual partition, say sdc1 and so forth.

 

Unfortunately, I lost the article I browsed that apparently addresses this.

 

I will post back when I find a solution.

 

But my comment still stands. This is a technique that needs to be solved by someone that has experience with it. It is not for recommended for a default install.

Share this post


Link to post

Thanks for all your efforts at finding a solution to my problem. Yes, during installation I chose the default partition scheme which has these logical volumes. If you think logical volumes are a problem with USB hard drives, I can try and reinstall with only physical volumes using Disk Druid. Also I will set GRUB to MBR this time. I know LV have certain advantages over PV but I may not need them. Please tell me if you would like me to go ahead with the installation (if you think it is too much to troubleshoot the current installation). But it's perfectly Ok if you want me to wait till you find a solution. My USB hard drive is Seagate 100GB.

 

By the way, how do you specify the boot order during installation? I never once got to see the GRUB menu so far.

Share this post


Link to post

Thanks a lot for all your explanations and help. It worked "like a charm" wink for me. I use:

- laptop DELL D800

- external hard drive LACIE BIG disk 400GB USB 2.0

- GRUB installed on MBR of the USB hard drive

- Choice of OS done from BIOS

 

That little "linux rescue" made all the difference! I still don't get why I cannot mount / without "linux rescue" because I can see the partions with fdisk frown

Share this post


Link to post
Quote:
That little "linux rescue" made all the difference! I still don't get why I cannot mount / without "linux rescue" because I can see the partions with fdisk


The Linux kernel on the boot disk, for some reason, will load the correct modules (drivers) to sense the usb drive, where the actual kernel and modules installed do not load the correct modules to see the drive and boot it correctly.

That is why you need to alter the installed kernel with mkinitrd, which adds the modules you need to the actual installed kernel as the system boots.

See this article to see what the situation is.

Share this post


Link to post
Quote:

The Linux kernel on the boot disk, for some reason, will load the correct modules (drivers) to sense the usb drive, where the actual kernel and modules installed do not load the correct modules to see the drive and boot it correctly.

That is why you need to alter the installed kernel with mkinitrd, which adds the modules you need to the actual installed kernel as the system boots.

See this article to see what the situation is.


I agree totally and this is what I understood but my question was: once Linux is correctly installed on the USB hard drive, why just booting from the install cd (without "linux rescue") is not enough to mount / ? Especially since we can see the installed partitions sda1 and sda2 with fdisk.

Thanks again for your help anyway wink

Share this post


Link to post

I don't know how to install programs off the internet. My main problem is getting a flashplayer for MandrakeLinux 10.1 I'm really annoyed with the popups saying i don't have the proper plugins. If you can help post, PM, or email me at mozlooms@yaoo.com

Share this post


Link to post

As per the 2nd option (2. How to dual boot linux from windows xp with Wingrub?) mentioned in http://shamsweb.50webs.com/page3.html, you download WINGRB0206.EXE from http://prdownloads.sourceforge.net/grub4dos/WINGRB0206.EXE?download this place. After you install the program in C:\Program Files\WinGrub drive, doubleclick the program WinGrub GUI, Choose your drive (say C: ) and select the copy stage files checkbox from the window and then click ok.

 

Assuming,

* Your Kernel Version is 2.6.11-1.1369_FC4 (If not change the file names accordingly).

* Your hd1 is the external HDD and 0 is the partition mapped to /boot of your linux.

* /dev/sda2 is mapped to / (root) of linux

* You already created a new initrd with USB driver entering the shell prompt using "linux rescue" by booting from FC4 CD1 after mounting sda1 (mount /dev/sda1 /mnt/source/boot) and sda2 (mount /dev/sda2 /mnt/source) then (chroot /mnt/source) and finally by typing the command

 

mkinitrd --with-usb --preload=ehci-hcd --preload=usb-storage --preload=scsi_mod --preload=sd_mod ./usbinitrd-`uname -r` `uname -r`

 

 

Now open C:\Grub\MENU.LST file in your windows XP in Wordpad or Notepad and replace the existing text with the following and save that file. Do not include the comments #---

 

#---------MENU.LST Starts here ------------

 

timeout=20

root (hd1,0)

title Fedora Core USB

kernel (hd1,0)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/sda2 rhgb quiet

initrd (hd1,0)/usbinitrd-2.6.11-1.1369_FC4.img

 

#---------MENU.LST Ends here --------------

 

If you might have installed your linux using LVM then replace the 4th line of the MENU.LST with the following

 

kernel (hd1,0)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/VolGroup00/LogVol00 rhgb quiet

 

Open the Install Grub from the Wingrub tool menu, Select the System Drive i.e is the location of

BOOT.INI file,it's normaly C, in the Boot From list options, select the BOOT.INI , for

the title write Fedora Core and for timeout 20, now click on Install, this will

add the Fedora Core to the XP NTLDR, reboot and start the Fedora Core.

 

Share this post


Link to post

Initially I installed my Fedora using the LVM by choosing automatic install into my USB2 External HDD. It didn't work. So, I went back and re-installed using Disk Durid by allocating my 10 GB External HDD as follows

 

102 MB for /boot ext3 /dev/sda1

8686 MB for / ext3 /dev/sda2

996 MB for swap /dev/sda3

 

Then as I mentioned in my above post, I did exactly the same and now I'm able to boot this linux using NTLDR.

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×