My USB drive now runs the latest Ubuntu 8.04 Hardy Heron (Release candidate).
I had to make 2 changes to the initrd.gz, to make it persistent.
- I followed the instructions mentioned in: Making a casper persistent Ubuntu 7.10 (Gutsy Gibbon)
- additionally, I had to make a change in the scripts/casper
406: mount ${cowdevice} -t ${cow_fstype} -o rw,noatime,mode=755 /cow || panic "Can not mount $cowdevice on /cow"to406: mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || panic "Can not mount $cowdevice on /cow"with mode=755, I got an "Invalid argument" error in the casper.log
How to make Ubuntu 8.04 (Hardy Heron) persistent on USB stick (pen drive)
- Follow the instructions here to partition and format the USB stick.
- Download and launch Ub8convert.exe, a Ubuntu8 folder is created
- Download the Ubuntu 8.04 ISO and place it in the Ubuntu8 folder
- From the Ubuntu8 folder, click fixu.bat and follow the onscreen instructions
- Once the fixu.bat script has finished, follow the instructions here to edit the initrd.gz file and make the 2 changes mentioned above.
- copy the new intird.gz file to the USB-Ubuntu folder under the Ubuntu8 folder.
- navigate to the new USB-Ubuntu folder inside the Ubuntu8 folder
- remove the file named isolinux.cfg. Edit the syslinux.cfg as shown below.
- Copy all of the files from "within" the USB-Ubuntu folder to the "root" of your flash drive (not to a subfolder)
- Now navigate to the root of your USB flash drive and click makeboot.exe and follow the onscreen instructions
- Once the script has finished, restart your PC and set your BIOS or Boot Menu to boot from the USB device
syslinux.cfg
MENU TITLE Ubuntu 8.04 on USB BOOT MENU
DEFAULT vesamenu.c32
PROMPT 1
LABEL live
menu label ^Try Ubuntu without any change to your computer
kernel /casper/vmlinuz
append file=/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
LABEL usb
menu label ^Persistent Ubuntu
kernel /casper/vmlinuz
append file=/preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet splash --
LABEL live-install
menu label ^Install Ubuntu
kernel /casper/vmlinuz
append file=/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
LABEL check
menu label ^Check filesystem for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
LABEL memtest
menu label Test ^memory
kernel /install/mt86plus
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
MENU BACKGROUND backg.png
timeout 150
menu color title 1;31;49 #eeff1010 #cc553333 std
menu color sel 7;37;40 #ffffffff #99660000 all
menu color border 30;44 #ffffffff #00000000 std
menu color pwdheader 31;47 #eeff1010 #20ffffff std
UPDATE: The problem with the initrd.gz would be fixed in (8.04.01) of Ubuntu. Here is the related bug.
8 comments:
Thanks man,
This was a real life-saver!
Best regards from Portugal!
Je traduis en français et donne les liens sur mon blog et sur le forum .fr
Cordialement
After adding "persistent" to the append-line in syslinux.cfg it works great. But I would prefer the original ubuntu-Menu style.
append file=/preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet persistent splash --
Hi. I follow all the steps, but when restart my computer, after select the persistent mode, i see this:
[39.917387] kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(8,1)
The kernel seems to have problem in recognizing your root device. Can you mount and access the USB disk from the Live CD ?
Yes, I can.
Thanks for the instructions. Two questions / comments:
1) This is designed to allow you to create the USB device within windows. But to edit the initrd.gz file (step 4), I had to boot up Linux (I had a CD of Ubunto 7.10) to make the changes. And for a newbie, even one old enuf to remember DOS commands, figuring out how to do this was tough!
2) My computer boots off the USB device, but when the menu shows up, I select #2 (persistent) and the computer says it cannot find the initrd.gz file.
It does find it when I select #1 (try w/o modding your computer). I can use Ubuntu from this selection fine, but it doesn't remember changes.
Should I change the menu script so that #2 reads
initrd=/casper/initrd.gz
instead of
initrd=initrd.gz
If I do this, thought, lines 1 and 2 are identical, so I wouldn't expect persistence to continue.
Can you explain why
initrd=initrd.gz
and
initrd=/casper/initrd.gz
without other switches would make one persistent and one not?
Thanks!
Adam Porter
Hi Adam,
To answer your questions:
1. It is unfortunately not possible to do everything from Windows. Windows, for eg. does not allow you to partition a memory stick, nor can you edit the initrd.gz. You would need a linux OS to do these things.
2. I had placed the edited initrd.gz in the root directory of the memory stick, and the original initrd.gz under /casper/ directory. Only the second menu choice would use the edited initrd.gz. But you could definitely choose to have a different setting.
Post a Comment