An inexpensive USB memory stick can be bought for a few pounds / dollars. This tutorial spells out how to create a fully functional Linux openSUSE 11.2 64 bit installation on such a memory stick. Furthermore, the build will be write-enabled (unlike a CD installation) thus facilitating the saving of system settings (such as country codes and personal preferences) and data files.
Before you start, source yourself a memory stick. I bought mine - an 8GB example - from PC World for £15.99 (about $25). If I had been bothered to order by mail I would have secured a much better deal although postage and waiting for delivery mitigated against that approach. If you chose to use a spare memory stick you have doing nothing, be aware that this process is 'destructive' - i.e. anything saved on the disk prior to our installation will be trashed and lost forever.
There are instructions to build a working openSUSE distro on USB on the openSUSE site but it didn't work on my installation so I have provided these steps instead for the benefit of others who also experience problems
The first task is to download the iso file and the md5 checksum file - which ensures that the iso download didn't become corrupted in the download process. Check out the script below for implementing this. Note that I have decided to go for a 64 bit installation and my favourite Linux desktop is KDE. If you prefer 32 bit or the GNOME desktop, change the wget parameters to reflect different downloads. You can check what is available by pointing your browser at http://download.opensuse.org/distribution/11.2/iso/
$ cd /tmp $ wget -q http://download.opensuse.org/distribution/11.2/iso/openSUSE-11.2-KDE4-LiveCD-x86_64.iso $ wget -q http://download.opensuse.org/distribution/11.2/iso/openSUSE-11.2-KDE4-LiveCD-x86_64.iso.md5 $ md5sum openSUSE-11.2-KDE4-LiveCD-x86_64.iso > mout $ diff openSUSE-11.2-KDE4-LiveCD-x86_64.iso.md5 mout $
Note that if your diff command produces some output then your download was corrupted and you need to try again. If, like me, you decide to go for a 64 bit installation, you need to satisfy yourself that your computer has a 64 bit instruction set. Firstly, determine what type of CPU you have - on my openSUSE laptop it's easy by clicking on the desktop 'My Computer' icon. This provides a list of system information, including your CPU. In my case it is a Intel(R) Pentium(R) Dual CPU T3400 @ 2.16GHz. For the second check, I pasted that text into Google which thankfully led me directly to the official Intel site and gave me the information I needed. The image on the right is taken from the Intel site and shows that my laptop has a 64 bit instruction set and was released Q4 2008 which makes sense since I bought it Q1 2009.
Once you are satisfied you have the correct iso image for the installation, insert the memory stick into yor computer and type the following command to determine how your memory stick is recognised by the system:
$ ls -l /dev/disk/by-id/*usb* lrwxrwxrwx 1 root root 9 2010-02-03 13:14 /dev/disk/by-id/usb-Lexar_USB_Flash_Drive_QR2EUZI4R8EFDFG39Y7T-0:0 -> ../../sdb lrwxrwxrwx 1 root root 10 2010-02-03 13:14 /dev/disk/by-id/usb-Lexar_USB_Flash_Drive_QR2EUZI4R8EFDFG39Y7T-0:0-part1 -> ../../sdb1
This tells me that the device is /dev/sdb and the partition supplied with the memory stick is /dev/sdb1. If we were doing the straight USB ISO install, we would just copy over the iso image onto the USB drive and we would be done. Unfortunately, like I said, it doesn't work for me; I suspect because the image pretends the USB stick is a CD drive and I already have one of those.
The approach I am taking uses the open source utility UNetbootin which can create bootable USB sticks for many Linux distros, and comes in Linux and Windows flavours. Below are the instructions for Linux. Download the latest binary from Sourceforge.
Before you are tempted to run it, you must first satisfy a prerequisite. The 7-zip file compression program is required so install it on your system with Kickoff->Computer->Install Software. Type 7z in the search box and then select p7zip and Accept.
Next change to the directory you downloaded the UNetbootin to, and change the permissions so it can be executed, and then run it.
# cd /tmp /tmp # ls unet* unetbootin-linux-393 /tmp # chmod u+x unet* /tmp # ./unetbootin-linux-393
The utility is GUI-based, so you will be confronted with the screen at the top. Populate the diskimage field with the iso file you downloaded earlier, and tick the Show All Drives box. You will then need to select the USB drive we determined earlier - in my case it is /dev/sdb1 but yours could be different as we have previously discussed. Once you are sure you have everything correct, hit OK and the image will be copied to your USB drive. At the end of that process, you will be prompted to reboot your machine and provided you have set your BIOS correctly, you should now get the menu right. Select the openSUSE_Live_(KDE) option and your USB LiveCD image will boot!
Since we now have a downloaded iso file, and blank CDs are only a few pennies, we may as well burn a CD also as backup. First you need to know the name of your CD device name.
# wodim --devices wodim: Overview of accessible drives (1 found) : ------------------------------------------------------------------------- 0 dev='/dev/scd0' rwrw-- : 'TSSTcorp' 'CDDVDW TS-L633A' -------------------------------------------------------------------------
cdrecord dev=/dev/scd0 speed=44 driveropts=burnproof -eject -v /tmp/openSUSE-11.2-KDE4-LiveCD-x86_64.iso
2-KDE4-LiveCD-x86_64.iso wodim: No write mode specified. wodim: Asuming -tao mode. wodim: Future versions of wodim may have different drive dependent defaults. TOC Type: 1 = CD-ROM scsidev: '/dev/scd0' devname: '/dev/scd0' scsibus: -2 target: -2 lun: -2 Linux sg driver version: 3.5.27 Wodim version: 1.1.9 Driveropts: 'burnproof' SCSI buffer size: 64512 Device type : Removable CD-ROM Version : 5 Response Format: 2 Capabilities : Vendor_info : 'TSSTcorp' Identification : 'CDDVDW TS-L633A ' Revision : 'TM00' Device seems to be: Generic mmc2 DVD-R/DVD-RW. Current: 0x0009 (CD-R) Profile: 0x0015 (DVD-R/DL sequential recording) Profile: 0x0016 (DVD-R/DL layer jump recording) Profile: 0x002B (DVD+R/DL) Profile: 0x001B (DVD+R) Profile: 0x001A (DVD+RW) Profile: 0x0014 (DVD-RW sequential recording) Profile: 0x0013 (DVD-RW restricted overwrite) Profile: 0x0012 (DVD-RAM) Profile: 0x0011 (DVD-R sequential recording) Profile: 0x0010 (DVD-ROM) Profile: 0x000A (CD-RW) Profile: 0x0009 (CD-R) (current) Profile: 0x0008 (CD-ROM) Profile: 0x0002 (Removable disk) Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R Drive buf size : 1962752 = 1916 KB Beginning DMA speed test. Set CDR_NODMATEST environment variable if device communication breaks or freezes immediately after that. FIFO size : 4194304 = 4096 KB Track 01: data 689 MB Total size: 791 MB (78:23.60) = 352770 sectors Lout start: 791 MB (78:25/45) = 352770 sectors Current Secsize: 2048 ATIP info from disk: Indicated writing power: 5 Is not unrestricted Is not erasable Disk sub type: Medium Type B, low Beta category (B-) (4) ATIP start of lead in: -11607 (97:27/18) ATIP start of lead out: 359849 (79:59/74) Disk type: Short strategy type (Phthalocyanine or similar) Manuf. index: 18 Manufacturer: Plasmon Data systems Ltd. Blocks total: 359849 Blocks current: 359849 Blocks remaining: 7079 Speed set to 4234 KB/s Starting to write CD/DVD at speed 24.0 in real TAO mode for single session. Last chance to quit, starting real write in 0 seconds. Operation starts. Waiting for reader process to fill input buffer ... input buffer ready. Performing OPC... Starting new track at sector: 0 Track 01: 689 of 689 MB written (fifo 100%) [buf 100%] 25.4x. Track 01: Total bytes read/written: 722468864/722468864 (352768 sectors). Writing time: 276.386s Average write speed 17.4x. Min drive buffer fill was 99% Fixating... Fixating time: 40.764s BURN-Free was never needed. wodim: fifo had 11380 puts and 11380 gets. wodim: fifo was 0 times empty and 10871 times full, min fill was 87%.