This guide will attempt to completely explain in detail how I installed openSUSE Linux on my Eee PC 1005ha Seashell. It took me about a solid 12 hour day to do the installation, research, troubleshoot, etc. The purpose of this guide is to make sure you don’t have to spend nearly as much time.
Note: I used another machine with Ubuntu 8.04 Linux (Hardy Heron). The instructions below explain how to prepare the USB drive from a Linux machine. Since the 1005ha Seashell comes with XP, I will go back later when I have time and add an explanation of how to prepare the USB drive from your Eee PC using XP.
Additional Note: I wiped out my Windows partitions completely. There are many ways to run Windows applications from within Linux, but if you ever need XP back you can use the recovery CD that came with the machine to create another USB boot drive which will return your machine to the exact state it was in when you bought it.
PART 1 - Prepare for install
The following steps should be done well in advance of your installation.
- Get a USB memory stick. Everyone should have a memory stick or an external USB drive that is at least 5GB, for the following reasons:
a) Most large software products nowadays come in DVD format.
b) Unless you opted for the external DVD drive with your Seashell, you do not have a DVD drive
c) Unless Asus made other variations that I’m not aware of, you have 3 built-in USB ports.
d) A single-sided single-layer DVD can store approximately 4.7 GB.
I recommend getting a SanDisk 8GB Cruzer Micro. They are relatively cheap (Mine was around $25) and I got a great review from one of the guys in my IT department who says the quality of the Cruzer drives is great.
But any USB media will do as long as it is 5GB or more.
- Download the latest openSUSE full installation ISO. It’s over 4GB, so it will probably take a long time, maybe even days if you don’t have a reasonably fast connection. If you are waiting for your new USB drive, now’s the perfect time to start.
a) Go to Software.openSUSE.org
b) Select the following:
i) 32 Bit PC
ii) DVD
-We’re using USB, but in a sense we will be tricking the computer into thinking it’s a DVD
iii) Standard (ftp or http)
-Feel free to use BitTorrent if you wish, (and if you know how) as this may be faster
If you prefer the direct link, the file I downloaded is currently found here:
http://download.opensuse.org/distribution/11.1/iso/openSUSE-11.1-DVD-i586.iso
- Download the Atheros network driver. You will need this to get your network devices up and running after you install openSUSE. Keep this driver tarball (.tar.gz) on another USB drive or somewhere you will be able to access it after you install openSUSE.
I think you can actually add it to the USB drive when you are done preparing it, but I haven’t tried this so I can’t guarantee that won’t cause problems.
You can find the driver tarball here:
Atheros AR8132 Driver for Linux
- Also make sure you will have (at least temporary) access to a wired ethernet connection when the time comes to install.
-If you are currently running Linux-
- Download and prepare the mksusebootdisk script
a) Download the script here: http://opensource.hqcodeshop.com/suse/mksusebootdisk
b) Open the script in a text editor and find the following line:
for (`fsck.vfat -v $part 2>/dev/null`) {
c) Add a -n switch to the line to look like this:
for (`fsck.vfat -n -v $part 2>/dev/null`) {
d) Open the root terminal, change to the directory where you saved mksusebootdisk and run the following command to give execute permissions to the script:
chmod +x mksusebootdisk
Remember where you saved this file. You will need it later.
- Once you have your USB drive ready to go and you have downloaded the .iso, follow the steps here to properly prepare the USB drive for the .iso image.
a) Open root terminal (or superuser terminal) and enter password if prompted.
b) Use the following command to look at the storage devices and mounted drive mappings on your machine
df -h
Look for a device that matches the size of your USB drive. I’ll use the value from my machine as an example:
/dev/sdb1 7.5G 5.1G 2.5G 68% /media/SUSE
/dev/sdb1 is the device path for the partition. “dev” stands for “device”. You can ignore the “/dev/” for now as this is a constant. The remaining value is the name. If you remove the number at the end, you have the name.
The directory to the far right is the mount point your OS automatically chose for your device when you plugged it in. You will need this directory to unmount the drive later.
So in the above example, you have:
= sdb
= sdb1
= /media/SUSE
The following steps will assume these values in the example match your system. If not, just substitute the values you got from this step.
c) Make sure the USB drive is properly formatted
Check the partitions of the “disk”
fdisk -l /dev/sdb
You should see a line similar to this:
/dev/sdb1 * 1 3924 1004528 c W95 FAT32 (LBA)
If you see an asterisk (*), the drive’s bootable flag is set. If not, run the following commands to enable it.
fdisk /dev/sdb
a
1
w
If you do not see “FAT32”, you will need to reformat the USB drive to use FAT32.
umount /media/SUSE
mkfs.vfat -F 32 /dev/sdb1
If the above steps are unclear or do not work, please see the following article for an explanation:
SuSE install from USB drive - openSUSE
- Once the USB drive is prepared, copy the .iso image to the drive
a) First create some mount points, one imaginary mount point for the .iso and another for the USB drive. Essentially you are going to trick the computer into thinking the .iso is the source DVD and the USB drive is the target DVD and you are going to do a DVD image copy.
mkdir /mnt/dvd
mkdir /mnt/usb
b) Mount the .iso image
Change to the directory where you saved the .iso and run the following:
mount openSUSE-11.1-DVD-i586.iso /mnt/dvd -o loop
If your loop-device is not set up, go here for help: Loop device - Wikipedia, the free encyclopedia
c) Mount the USB drive
mount /dev/sdb1 /mnt/usb
d) Copy the .iso to the USB drive as though you were doing a disc copy
cp -R -L /mnt/dvd/* /mnt/usb/
Warning: This will take a while… probably at least 10-20 minutes.
e) When finished copying, unmount the USB drive
umount /mnt/usb
- Use the mksusebootdisk script to write the boot sector on the USB drive (make the USB bootable)
If you followed the instructions in step 3 correctly, and did not forget step 5e above, all you need to do is change to the folder where you saved mksusebootdisk and run this command:
./mksusebootdisk --arch --partition /dev/<partition> /mnt/dvd
-If you are currently running XP----
If you plan to create the boot “disk” from XP, here is a site with some ideas on how to do it:
Boot From A USB Flash Drive