Pendrive Linux

From miki
Jump to navigation Jump to search

Everything on how to make a persistent Live USB Linux, pen drive linux, install linux on a flash drive, from Windows or Linux...
This page is completely crap.

References

Using Automatic Tools

Universal USB Installer (Windows)

See Universal USB Installer on pendrivelinux.com.

UNetbootin (Windows, Linux)

Startup Disk Creator (Ubuntu)

This is an utility on Ubuntu.

  • Launch Startup Disk Creator in menu SystemAdministration.
  • Select ISO you want to use
  • Select a free FAT32 partition on your USB drive (BEWARE! Don't let it erase the partition, because that b*tch will erase the WHOLE disk)
  • Select size of casper file for persistent
  • ... and let's go.

In case you want several partitions, first create your partitions yourself with e.g. gparted, allocating a free FAT32 for the Ubuntu partition. Eg:

sdb1 NTFS Data partition
sdb2 FAT32 2850MB Ubuntu (850MB) + Casper-rw file (2000MB)

Alternatively you can also use a separate casper-rw partition:

sdb1 NTFS Data partition
sdb2 FAT32 2850MB Ubuntu (850MB) + Casper-rw file (2000MB)
sdb3 ext3 2000MB casper-rw persistent storage

Note that Windows XP (and maybe later) only shows the first partition on USB drive (because it is seen as a removable media, see USB). So you should create your data partition as the first partition on the disk.

Manual recipes

Recipe based on Universal USB Installer (Windows)

Assuming we install Ubuntu Lucid 10.04.2 on H: drive

  • Install SysLinux
syslinux.exe -maf H:
  • Extract linux ISO in USB root
# Exclude directory [BOOT]
7zG.exe x ubuntu-10.04.2-desktop-i386.iso -o"H:\" -y -x![BOOT]*
  • Create configuration files:
H:\isolinux\ H:\syslinux\
H:\isolinux\isolinux.cfg H:\syslinux\syslinux.cfg
  • Create file H:\syslinux\text.cfg, with as content (from ubuntu1004text.cfg):
default live
label live
  menu label ^Run Ubuntu from this USB
  kernel /casper/vmlinuz
  append noprompt cdrom-detect/try-usb=true persistent file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz splash --
label live-install
  menu label ^Install Ubuntu on a Hard Disk
  kernel /casper/vmlinuz
  append cdrom-detect/try-usb=true file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz splash --
label memtest
  menu label Test ^memory
  kernel /install/mt86plus
label hd
  menu label ^Boot from first hard disk
  localboot 0x80
  • Create casper file H:\casper-rw (see below)

Create the CASPER file / partition

To create a persistent file (here 4GB file), assuming USB is at /media/PENDRIVE:

dd if=/dev/zero of=/media/PENDRIVE/casper-rw bs=1M count=4096 --progress
mke2fs -b 4096 -L casper-rw /media/PENDRIVE/casper-rw

Also works on Windows, but requires dd.exe and mke2fs (see for instance Universal USB Installer)

To create a persistent partition:

sudo mkfs.ext3 -b 4096 -L casper-rw /dev/sdb3        # mkfs.ext3 is the same as mke2fs

1st recipe

  • Extract Linux CD in USB root
  • Delete folder [ROOT]
  • Copy the files to USB root:
 menu.c32
 syslinux.cfg
 ubnfilel.txt 		(list of all files on the cd - probably useless)
 ubnpathl.txt		(list of all dir on the cd - probably useless)
  • Copy /casper/vmlinuz to /ubnkern
  • Copy /casper/initrd.lz to /ubninit
  • Use "PDL-Casper-RW-Creator.exe" to create the casper file
  • Then edit D:\syslinux.cfg (where D: is the drive letter of your usb stick), and add "persistent" at the end of the line that begins with "append":
default unetbootin
label unetbootin
  kernel /ubnkern
  append initrd=/ubninit file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash persistent --

Yet another way

  • Created partition: 1 for extract iso, 1 for casper-rw
  • extract the .ISO to usb
  • make the drive bootable:
syslinux -maf X:
  • delete [BOOT]
  • created /syslinux.cfg
  • include /isolinux/isolinux.cfg