I would like to boot
Ubuntu 8.04 i386 from my USB flash drive. I was guided by this tutorial:
http://syslinux.zytor.com/wiki/index...USB:_For_Linux
I took following steps:
1) made sure that usb_storage.ko kernel module is loaded
Code:
root@martin-desktop:~# lsmod | grep -i storage
usb_storage 39585 1
root@martin-desktop:~#
2) inserted USB flash drive
Code:
root@martin-desktop:~# tail -n0 -f /var/log/messages
Jan 29 01:43:23 martin-desktop kernel: [440650.637531] usb 2-2: new high speed USB device using ehci_hcd and address 8
Jan 29 01:43:23 martin-desktop kernel: [440650.776107] usb 2-2: configuration #1 chosen from 1 choice
Jan 29 01:43:23 martin-desktop kernel: [440650.776563] scsi10 : SCSI emulation for USB Mass Storage devices
Jan 29 01:43:28 martin-desktop kernel: [440655.778667] scsi 10:0:0:0: Direct-Access Sony Storage Media 0100 PQ: 0 ANSI: 0 CCS
Jan 29 01:43:28 martin-desktop kernel: [440655.781298] sd 10:0:0:0: Attached scsi generic sg2 type 0
Jan 29 01:43:28 martin-desktop kernel: [440655.784029] sd 10:0:0:0: [sdb] 15857664 512-byte logical blocks: (8.11 GB/7.56 GiB)
Jan 29 01:43:28 martin-desktop kernel: [440655.785083] sd 10:0:0:0: [sdb] Write Protect is off
Jan 29 01:43:28 martin-desktop kernel: [440655.789147] sdb: sdb1
Jan 29 01:43:28 martin-desktop kernel: [440655.856407] sd 10:0:0:0: [sdb] Attached SCSI removable disk
3) zero-filled my 8GB Sony flash drive(/dev/sdb)
Code:
root@martin-desktop:~# dd if=/dev/zero of=/dev/sdb bs=10M
dd: writing `/dev/sdb': No space left on device
775+0 records in
774+0 records out
8119123968 bytes (8.1 GB) copied, 1295.99 s, 6.3 MB/s
root@martin-desktop:~#
4) made partition table to MBR of /dev/sdb
Code:
root@martin-desktop:~# printf "0,1024,b,*\n0,0\n0,0\n0,0\n;\n" | sfdisk -uM /dev/sdb
Checking that no-one is using this disk right now ...
OK
Disk /dev/sdb: 1023 cylinders, 250 heads, 62 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MiB #blocks Id System
/dev/sdb1 * 0+ 1029- 1030- 1053999+ b W95 FAT32
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
root@martin-desktop:~#
Code:
root@martin-desktop:~# fdisk -l /dev/sdb
Disk /dev/sdb: 8119 MB, 8119123968 bytes
250 heads, 62 sectors/track, 1023 cylinders
Units = cylinders of 15500 * 512 = 7936000 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 136 1053999+ b W95 FAT32
root@martin-desktop:~#
5) set FAT32 partition to /dev/sdb1
Code:
root@martin-desktop:~# mkdosfs -F 32 -n ubuntu -v /dev/sdb1
mkdosfs 3.0.7 (24 Dec 2009)
/dev/sdb1 has 250 heads and 62 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 2107998 sectors;
file system has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 2055 sectors, and provides 262982 clusters.
Volume ID is c17d6cc8, volume label ubuntu .
root@martin-desktop:~#
6) copied MBR code area
Code:
root@martin-desktop:~# dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
0+1 records in
0+1 records out
404 bytes (404 B) copied, 0.0178841 s, 22.6 kB/s
root@martin-desktop:~#
7) mount USB flash drive and download Ubuntu 8.04
Code:
root@martin-desktop:~# mount /dev/sdb1 /media/ -t vfat
root@martin-desktop:~# pushd /media/ && wget http://releases.ubuntu.com/hardy/ubuntu-8.04.4-desktop-i386.iso && popd
/media ~
--2011-01-29 02:32:59-- http://releases.ubuntu.com/hardy/ubuntu-8.04.4-desktop-i386.iso
Resolving releases.ubuntu.com... 91.189.88.32, 2620:0:dc0:1800:214:4fff:fe7d:1b9, 2001:6b0:e:2018::1337, ...
Connecting to releases.ubuntu.com|91.189.88.32|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 733945856 (700M) [application/x-iso9660-image]
Saving to: `ubuntu-8.04.4-desktop-i386.iso'
100%[=====================================================================================================================================================================>] 733,945,856 1.20M/s in 10m 9s
2011-01-29 02:43:08 (1.15 MB/s) - `ubuntu-8.04.4-desktop-i386.iso' saved [733945856/733945856]
~
root@martin-desktop:~# ls -lsh /media/
total 700M
700M -rwxr-xr-x 1 root root 700M 2010-01-21 12:19 ubuntu-8.04.4-desktop-i386.iso
root@martin-desktop:~#
8) mount Ubuntu .iso as a loop device to /mnt
Code:
root@martin-desktop:~# mount -o loop -t iso9660 /media/ubuntu-8.04.4-desktop-i386.iso /mnt/
root@martin-desktop:~#
9) copy vmlinuz and initrd to flash drive
Code:
root@martin-desktop:~# cp /mnt/casper/initrd.gz /mnt/casper/vmlinuz /media/
root@martin-desktop:~# ls -lh /media/
total 710M
-rwxr-xr-x 1 root root 7.5M 2011-01-29 03:11 initrd.gz
-rwxr-xr-x 1 root root 700M 2010-01-21 12:19 ubuntu-8.04.4-desktop-i386.iso
-rwxr-xr-x 1 root root 1.9M 2011-01-29 03:11 vmlinuz
root@martin-desktop:~#
10) create /media/syslinux.cfg file
Code:
root@martin-desktop:~# printf "default vmlinuz\nappend initrd=initrd.gz\n" > /media/syslinux.cfg
root@martin-desktop:~#
11) umount /mnt(.iso loop device) and /media(USB flash drive)
Code:
root@martin-desktop:~# umount /mnt/ && umount /media/
root@martin-desktop:~#
12) install syslinux to /dev/sdb1
Code:
root@martin-desktop:~# syslinux -s /dev/sdb1
root@martin-desktop:~#
13) mount /dev/sdb1 once more in order to be sure, that all the necessary files are on the flash drive
Code:
root@martin-desktop:~# mount /dev/sdb1 /media/ -t vfat
root@martin-desktop:~# ls -lh /media/
total 710M
-rwxr-xr-x 1 root root 7.5M 2011-01-29 03:11 initrd.gz
-r-xr-xr-x 1 root root 15K 2011-01-29 03:17 ldlinux.sys
-rwxr-xr-x 1 root root 40 2011-01-29 03:14 syslinux.cfg
-rwxr-xr-x 1 root root 700M 2010-01-21 12:19 ubuntu-8.04.4-desktop-i386.iso
-rwxr-xr-x 1 root root 1.9M 2011-01-29 03:11 vmlinuz
root@martin-desktop:~# umount /media/
root@martin-desktop:~#
When I set "USB flash drive" as a first bootable device in BIOS, I get SYSLINUX "boot:" prompt and it loads both "vmlinuz" and "initrd.gz", but finally I end up in BusyBox prompt and following message:
Quote:
"Check root= bootarg cat /proc/cmdline or missing
modules, devices: cat /proc/modules ls /dev
ALERT! does not exist. Dropping to a shell!"
|
Last boot message which I see is "Attached scsi generic sg2 type 0".
Any suggestions, what might cause such behavior? Did I miss anything while preparing USB flash drive? Let me know if additional information is needed. All longer explanations are most welcome
PS please don't suggest
unetbootin and similar utilities as I would like to accomplish this manually