You are not logged in.
I wanted to play with ArchLinux 2009.02, but replacing the existing Debian-Lenny on the laptop's HDD wasn't an option. So I experimented with installing Arch on an external USB Hard Disk Drive.
I have tried to make this "newbie-friendly", so I hope the more experienced will forgive the detail.
Materials:
Three year old Dell Inspiron 6000
CPU = 2.0 GHz Pentium
RAM = 2.0 GB
Internal HDD = 80 GB
Internal CD/DVD R/RW
External USB HDD = Freecom FHD-2 Pro 80 GB
Archlinux 2009.02 install CD
Steps to install:
1. I put the Archlinux install CD in the drive and connected the external 80 GB HDD in the USB port.
2. When the Dell laptop was booted, I pressed F2 to enter the BIOS setup. I edited the boot sequence to the following:
Internal CD/DVD
External USB device
Internal HDD
On the Dell, you can also press F12 to select the preferred boot device for that boot.
3. I started the laptop and the Archlinux installation menu came up and I proceeded with installation following the "Official Arch Linux Install Guide" and the "Beginners Guide".
4. Used km to change to UK keyboard layout and then began the installer script (/arch/setup). I was installing from the core CD so I skipped the network steps.
5. HDD preparation.
This was fairly straightforward with two cautions:
(a) Make very sure that the external HDD (sdb) is selected for the operations.
(b) Remember to set the Bootable Flag for the first (/) partition on the HDD.
I chose 20 GB for /, 2 GB for swap and the remainder for /home.
6. The package selection and installation was fairly straightforward.
7. Configuration of System
This was section was straightforward with one warning:
USB had to be added to the HOOKS in the /etc/mkinitcpio.conf file!
I found this to be essential for my external USB HDD to function as a bootable device. Otherwise I got the same sorts of errors relating to unrecognisable file system types that other people have reported in the forum.
The relevant line from the end of the edited /etc/mkinitcpio.conf file is below:
--------------------------------------------------------------------------------
HOOKS="base udev autodetect pata scsi sata usb filesystems"
--------------------------------------------------------------------------------
8. Installation of GRUB was the other point where caution and/or correction was necessary.
When it asked where GRUB should be installed, I had to select sdb (my external USB HDD) and not any of the particular partitions on sdb. If the root partition sdb1 was selected then the laptop won't boot from the external USB HDD.
The GRUB /boot/grub/menu.lst as written by the installation routine specifies hd(1,0) which doesn't work when you try to reboot from the external USB HDD. When you boot Arch from the external USB HDD, as far as Arch is concerned - at that point in time - the external USB HDD is the first drive in the system. To fix this:
(a) When the Arch boot menu comes up, press e to edit the grub entries.
(b) Change the first line to hd(0,0)
(c) To the end of the kernel line add rootdelay=8
(d) Press b to boot the system with these temporary corrections.
(e) Once your Arch system has booted, edit the /boot/grub/menu.lst to make the above changes permanent.
The relevant portion of my /boot/grub/menu.lst looks like the following:
--------------------------------------------------------------------------------
# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/... ro rootdelay=8
initrd /boot/kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/... ro rootdelay=8
initrd /boot/kernel26-fallback.img
--------------------------------------------------------------------------------
9. The laptop happily and consistently boots Arch Linux from the external USB HDD when it's plugged in before startup/booting.
Running Arch from the external USB HDD seems as quick as running Debian from the internal HDD.
So if there is a performance penalty associated with using an external USB HDD, my wife and I haven't noticed.
In summary, the three essential points to address during installation to an external USB HDD are:
Remember to set the bootable flag for the first partition.
Add USB to the HOOKS for /etc/mkinitcpio.conf file.
Correct the /etc/grub/menu.lst file.
I hope this is helpful.
Ted
Offline
Nice, you can put it in the wiki if you want, if it isn't already there
The important thing for booting of USB is adding usb to the hooks and rootdelay.
Offline
And maybe rootfstype= and the filesystem you use, just in case grub (?) can't figure out which filesystem is being used in the root partition.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
Hi Rookie,
As you say, it is worth remembering the rootfstype= option for the kernel line just in case someone still has problems with GRUB after making all the other changes.
I was working with the most recent Arch 2009.2 release.
I only got messages about unrecognisable file system type when I tried booting with the "stock" or "as-installed" GRUB (before I edited /boot/grub/menu.lst). After editing /boot/grub/menu.lst to identify the drive correctly and add rootdelay, GRUB was able to do the rest and everything worked OK without any error messages.
Best wishes,
Ted
Offline
Yes yes, I've read the error message that I got when trying to boot from usb about rootdelay and rootfstype so I just added them both just in case (it seemed to work better with both rather with just rootdelay).
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
Does anyone know a good way to do this for multiple machines? (I want to be able to boot the same software in different hardware).
I wondered here: http://bbs.archlinux.org/viewtopic.php? … 25#p555125 about doing a hardware profile selection on boot time like Network profile does.
Any ideas on how to proceed?
Offline