I want ot install arch to my external usb hard drive using the 0.7.1 install cd. However it will not recognise the usd hard drive. Alll atytempts to mount it or fdisk fail.
Does the install disk not recognise usb devices?
If not is there a way to get it working?
I haven't used the installer much, so I don't know if it works with usb, I will probably try soon.
You can always bootstrap an arch installation manually, it's not that comfortable, but shouldn't be a big problem. I think there were some pages about this.
According to another post i came across 0.7.1 doesnt recognise some/all usb devices but 0.7.0 (Wombat) does. So im going to try it with that. I just have to reburn and redownload it cause i threw it away after getting Noodle :-)
BTW has anyone sucessfully installed to a usb drive before?
Yea i had seen it earlier when trwling the forums for info. I got the 0.7.0 cd again and that recognised the external harddrive fine.
I then booted the old system, chrooted into the external drive did a pacman -Syu its its up to date.
I have grub installed and the kernel boots just fine but after that i get a few error messages and end up in a busybox(ash) shell with almost nothing in it.
My grub conf currently looks something like this:
kernel /boot/vmlinuz26 root=/dev/hdx
As far as i can tell the problem lies with with where i am specifying root = /dev/hdx.
I have tried various different values with no success.
It does however work because if i specify root = /dev/hda2 it will boot my old arch install off my internal hard disk.
I suspect i need to account for the fact that im booting off a usb device but i have no idea about what to change.
Any help/ideas/advice appreciated!
Are you booting from USB device or ... booting via main system?
ie USB is the first on bios boot list
During boot hitting f8 brings up the boot menu in the bios. All plugged in usb devices appear as an option. i.e. pen drive and external hd so its immediately obvious which one to select.
Grub is definitely installed to the mbr of the external hd. - the contents of the grub menu on the internal hd and the external hd are distinctly different so no mistake there.
I havent actually tried to boot it off the main system but ultimatly i dotn want it to work like that anyway.
Also i just tried it on a completely different machine in college and i get the exact same problem so its not the main system interferein somehow or getting me confused.
BTW is it possible that there is a problem with initrd & usb support? On the college pc i cant use the usb keyboard on the busybox emergency shell.
If you are being dropped to busybox then it may be a problem with initrd26.img
not loading usb modules ... have you checked ?
I understand now you want to boot off usb drive so its portable thats cool ...
Grub must work for it to reach shell ,,,,,,
May be that usb modules are not loaded so it cannot find partition
chroot or mount drive & check out mkinitrd.conf .....
Will do, thanks.
just a thought try using the full image .... initrd26-full.img .... see if that works ...
O & to save rebooting load up qemu & run
ie I can boot my system like this
[man] qemu for more info
Thanks but i beat you to it :-)
Booting with initrd26-full or one with usb enabled gets me past the emergency busybox shell but it drops me to another shell after the kernel has booted.
i.e. Initscripts do not run but there are no error messages either.
The last two messages displayed are:
Initial Ramdisk loading Completed . . .
Freeing unused kernel memory: 252K reed
Followed by shell prompt:
Thinking about it now im not actually sure whether initscripts are installed or not so im going to check that now . .
Emmm i could not get 0.7.1 to see ex.drive (although modules loaded!)
Sooo I am trying out archbootstrap atm but got ....
/usr/sbin/chroot: cannot run command `/tmp/bootstrap/usr/bin/pacman.static': Permission denied
Will take a look at script see whats wrong but this could be the way to install to ex.drive .....
Got arch to boot perfectly off the external hd.
Turns out i accidentally didnt install sysvinit(i think)
I just started form the beginning & installed all packages from base.
0.7.1 doesnt recognise my usb device so
i used 0.7.0 which found the external drive no problem.
Used that to install as you normally would. In my case i only created a partition for /, no swap and no /boot partition.
Used 0.7.0 to install & also installed grub to the mbr of the external hd.
*I did not use the grub install on the internal hard drive*
*This way it should boot with any pc though i havent tried it yet.*
Then booted the INTERNAL hard drive into the old install.
This recogniesd the external drive no problem as usual.
Then opened a terminal:
mount --bind /dev /mnt/sda1/dev
mount --bind /proc /mnt/sda1/proc
chroot /mnt/sda1 #change root to system installed on external hd
Copied the current repository off the 0.7.1 cd onto the external hd to /var/current
Put this directory in /etc/pacman.conf and commented out the online repos.
Its necessary to update the install on the external hard drive to make it easier to boot with the updated udev & initrd.
i.e. I installed with 0.7.0 because 0.7.1 wont recognide usb devices but only 0.7.1 will boot aff the external drive
Then you have to change your menu.lst for grub.
Mine looks something like this:
# title arch linux
kernel = /boot/vlinuz26 root = /dev/sda1
initrd = /boot/initrd26-full.img
As far as i know root is always hd(0,0) when you select usb boot in bios.
kernel is in /boot because i did not create an extra boot partition, same for initrd.
root = /dev/sda1 works for me i expect it would be the same everywhere, either way you can discover where both are from the grub command line before booting.
You have to use initrd26-full.img, the regular initrd26.img does not inculde usb support.
Alternatively you can edit the mkinitrd config file and make your own initrd image with usb support.