Boot from a FAT partition without burning the iso file.

How to do things, solutions, recipes, tutorials
Message
Author
UKBill
Posts: 13
Joined: Fri 15 Jul 2005, 21:45

Boot from a FAT partition without burning the iso file.

#1 Post by UKBill »

How to run the Live CD without burning a disc

This mini HowTo allows you to run Puppy from your HD without burning a CD, you might find it useful if your computer doesn't have a working CD drive or if you want to avoid adding yet another disc to your crowded collection.

However, there are some caveats...
- You DO NEED to be able to transfer files to the HD somehow. (i.e. there already is an OS installed, you connect the HD to another system, etc.)
- This guide assumes that you have a Fat32 partition and that you are able to boot in real DOS mode, either from HD or a floppy, so it is mostly of use for w9X users.

THE GUIDE
1) in your Fat partition, make a folder named "isolinux"

2) download and copy "loadlin.exe" to the "isolinux" folder
ftp://elserv.ffm.fgan.de/pub/linux/load ... lin.exe.gz

3) open Puppy's iso file with a program that handles the .iso format, such as Winrar.
In linux you can mount the iso file directly and access its contents.

4) extract from the iso every file except pup_200.sfs (or whatever .sfs is in your iso) and put them into the "isolinux" folder.

5) the .sfs file should be extracted to the root of your Fat partition.

6) create a text file named "options.txt" in "isolinux" and put these lines in it:

Code: Select all

vmlinuz
root=/dev/ram
rw
initrd=initrd.gz
vga=normal
ramdisk_size=100000
init=/etc/init
lang=es
apm=power-off
nomce
noapic
noacpi
noscsi
quiet
BOOT_IMAGE=pup_200.sfs
Note that the last line should match the one you extracted from your downloaded iso file.

7) create a file named "go.bat" with this content:

Code: Select all

loadlin @options.txt
8) finally,
reboot to a (real) DOS session,
enter to the "isolinux" folder (typing 'cd\isolinux', without quotes),
then type "go" and the boot sequence should start as if you had boted from a CD.


EXTRA TIP
You can easily have several releases available, you just need to have:

- multiple "isolinux" folders, each one with a unique, descriptive, and 8-characters-long name, such as pup200, p201opera, etc.

- the .sfs file of each release in the root folder

- the files referenced in 'options.txt' must match those of the release, specially the .sfs file.


Hope this helps.
Regards.

swamp
Posts: 1
Joined: Fri 13 Oct 2006, 03:30
Location: Edmonton, Canada

HD boot with 2.10r1

#2 Post by swamp »

I've found the above advice to be of very good quality, and now have 2.10r1
up and running from a FAT partition.

However, I ended up doing things a bit differently, as I encountered a hang on
boot when I used the isolinux partition and pup_210.sfs in the uppermost directory. When I moved everything, loadlin and all to the uppermost, and adusted the necessary file paths, everything went well. This is a bit of a Redmond style
mess, what with system files in a root (windoze meaning) directory, but it works like a charm.

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#3 Post by ICPUG »

If you have multiple releases how do you cope with having the different pup_save files? They all seem to be named pup_save.3fs in all releases!

ICPUG

designengineer
Posts: 84
Joined: Wed 18 Oct 2006, 13:13

#4 Post by designengineer »

Since my CD is an external USB drive that I do not want to tote around with me when I travel, I used the proceedure described by UKBill to copy Puppy to my harddrive to let me use it without risking anything on my computer and it worked well. So that I absolutely could not inadvertantly mess up anything on my WindowsXP partition,I partitioned my harddrive to give me a "D" drive, then placed everything he suggested on that drive. I then made a bootable disk with WindowsXP and added this to the autoexec.bat file:

c:\isolinux\go.bat (since it is a bootable floppy made by XP, it does not even see the NTFS partition that XP resides on, so it is the "C" drive, not "D")

Now when I want to use Puppy, I just boot from that floppy and it brings up the fastest little operating system in the known world. No messing with Grub or the MBR or anything.
Thanks for the excellent suggestion.

wb0gaz
Posts: 62
Joined: Tue 14 Nov 2006, 23:59

#5 Post by wb0gaz »

Startup of puppy from a FAT partition hangs at the point of "loading kernel modules"; more information and my work-around is described below:

I am using the procedure in this thread to create a dual-boot (windows95 + puppy2.12) HDD laptop, where the laptop does not have a boot floppy nor a CDROM. (on the chicken-and-egg problem - I did the initial restoration of windows 95 factory install by temporarily putting it's drive in another machine.) The machine has a working LAN connection, but no other install media.

I had a problem running the copy of puppy booted as this thread describes, when there was a swap partition (type 82) but no swap filesystem created (no mkswap yet.) In this condition, starting puppy from this thread's procedure results in a hang during "loading kernel modules." If the swap partition is absent, the hang does not occur. Fortunately, this machine has 80M of RAM so swap is not absolutely critical, but my plan to do a similar process on a smaller-RAM version of this machine (32M) is on hold until I can find a solution.

Here's the procedure I followed, and my work-around:

1. Install puppy 2.12 ISO cdrom files and create boot setup files as noted in this thread's initial instructions. Use this to boot puppy. At this point the machine's drive has a single FAT16 partition in /dev/hda1 and empty space following.

2. With puppy running from the FAT partition, fdisk /dev/hda and create a type 83 partition of the desired size (almost all the rest of the disc, but leave room for a future swap partition.) Do not create the swap partition at this point (problem noted above will happen.) The root partition I created was in /dev/hda2 (FAT16 DOS is still in /dev/hda1.)

3. Restart puppy from the FAT partition, then while running from the FAT partition, mkfs -t ext2 /dev/hda2. I chose ext2 because the main drive in this machine is actually an old IDE flash drive. Now run /usr/sbin/puppyinstaller, install to /dev/hda2, and let it complete, including creation of GRUB on MBR.

4. Restart system, selecting the linux partition from the newly created GRUB, and follow the scripts to get X running.

5. Use fdisk to create swap partition (type 82) in /dev/hda (this for me is in /dev/hda3.) Restart system, again selecting linux from GRUB, and do mkswap /dev/hda3.

6. Restart system again, and while there is no message during boot-up indicating that the newly created swapspace was utilized, rc.sysinit seems set up to locate and start using the swap partition.

Thanks very much for the startup procedure described in this thread, and perhaps someone else in my situation (a machine without floppy nor CDROM that is to be set up for dual boot puppy) will be able to use and/or improve upon the procedure...

Dave

John Doe
Posts: 1681
Joined: Mon 01 Aug 2005, 04:46
Location: Michigan, US

#6 Post by John Doe »

ICPUG wrote:If you have multiple releases how do you cope with having the different pup_save files? They all seem to be named pup_save.3fs in all releases!

ICPUG
One option is to rename them like this:

pup_save_Sally.3fs
pup_save_Bob.3fs
pup_save_KernelTest.3fs

etc....

You'll get an option to choose which one you want when you boot.

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

choosing your pupsave

#7 Post by HairyWill »

ICPUG wrote:If you have multiple releases how do you cope with having the different pup_save files? They all seem to be named pup_save.3fs in all releases!ICPUG
I see in another thread
http://www.murga-linux.com/puppy/viewtopic.php?t=13834
WhoDo recently suggested using grub hide and unhide, to hide partitions on boot. If you have one pupsave per partition you can use grub to decide which pupsave to use.

BTW thanks for the excellent web wizard you wrote for installing and booting puppy from windows.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#8 Post by ICPUG »

Thanks to John Doe and HairyWill for the suggestions.

I don't like messing with partitions so I used John Doe's suggestion. I didn't realise that the choice is only offered when there is more than one pupsave! Nice, when you realise it.

ICPUG

PS The web wizard to which HairyWill refers can be found at:

http://www.icpug.org.uk/national/linnwin/contents.htm

Written for Puppy 2.12 at this moment, but easy to update for 2.13 - I will probably update this coming weekend.

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#9 Post by HairyWill »

ICPUG wrote:I don't like messing with partitions so I used John Doe's suggestion
Wise move.
I spent the other night wondering why my work computer wouldn't boot. I'd used grub hide to hide a pup_save.3fs on the XP partition to allow me to boot one on a different partition. What I hadn't done was set grub to unhide the XP partition.
Grub hide/unhide actually changes the partition boot flag and its changes persist. Not really a problem but something to be aware of.

On a different tack I notice that grldr doesn't always find vmlinuz and initrd.gz if they are not in the root of the partition. The system I noticed it on had an NTFS XP partition. I think I saw some posts on the web about it. I tried editing the grub line on the fly, it could see the boot folder but not the files inside it. Again not a major problem, I just moved them into the root. This does stop me being able to use grub to boot more than one extra OS in this partition.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#10 Post by ICPUG »

Thanks for the information Will.

Was the problem with grldr not finding vmlinuz or initrd.gz outside of the root directory a problem with the grldr I provide in my routine? If not, is it an earlier or later version? I see it has been updated recently but I haven't tested it yet because they don't really support NTFS now.

Another thing. Did the problem occur with a Windows XP machine with Service Pack 2? I use Service Pack 1 on my laptop and Tinybit (developer of Grub4DOS) seems to suggest Service Pack 2 causes all sorts of problems. I am not convinced but I do not have Service Pack 2 either!

By the way, my routine has been updated to 2.13 now.

ICPUG

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

grldr

#11 Post by HairyWill »

I am not certain but I think grldr is that same one that I downloaded from your link, it is 149,000 bytes version 0.97.
Yes the machine does have XP service pack 2
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#12 Post by ICPUG »

Will,

Yes, that grldr is the one I point to. I will have to install on my sister's PC, which also has Windows XP with Service Pack 2. If I duplicate the glitch on there I will have to add a note to my routine to ensure users with service Pack 2 know where to put the files.

ICPUG

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#13 Post by ICPUG »

I have now tested grldr on Windows XP with Service Pack 2. I confirm Will's experience that files in subdirectories of the Windows XP root directory cannot be found.

This means that vmlinuz and initrd.gz have to be placed in the root directory of Windows XP, (with menu.lst altered accordingly), and probably means you can only boot one linux distro this way.

This problem does not seem to apply to the basic Windows XP or that upgraded with Servie Pack 1.

My web pages will be updated in due course.

ICPUG

amish
Posts: 615
Joined: Sun 24 Sep 2006, 23:15

#14 Post by amish »

This means that vmlinuz and initrd.gz have to be placed in the root directory of Windows XP, (with menu.lst altered accordingly), and probably means you can only boot one linux distro this way.
no, i'm pretty sure that even if you have to put them all in the same folder, you can rename them vmlinuz.1 vmlinuz.2 etc. i have done so with dos grub, i don't know if you can with the loader you're using, but i bet you can. same with initrd.gz. in puppy 1 it's not even called initrd. i think it's called image.gz
sadly, it is not possible to separate politics from free software. free software - politics = unfree software.

pmshah
Posts: 84
Joined: Thu 31 Aug 2006, 07:26
Location: India

#15 Post by pmshah »

ICPUG wrote:I have now tested grldr on Windows XP with Service Pack 2. I confirm Will's experience that files in subdirectories of the Windows XP root directory cannot be found.

This means that vmlinuz and initrd.gz have to be placed in the root directory of Windows XP, (with menu.lst altered accordingly), and probably means you can only boot one linux distro this way.

This problem does not seem to apply to the basic Windows XP or that upgraded with Servie Pack 1.

My web pages will be updated in due course.

ICPUG
Though off topic how about making your procedure compatible with v2.14. Simply replacing the files from the new version does not work.

amish
Posts: 615
Joined: Sun 24 Sep 2006, 23:15

#16 Post by amish »

i'm really interested in getting this working again... my howto works up to version 2.11.

sage goes so far as to say DONT USE 2.14, but he's just one guy. (i thought it was worth mentioning anyway.)

you say that just replacing the files doesn't work, implying that it worked in another version?

1. what was the last version that worked 2. what files did you replace 3. please list all the files from the 2.14 iso. that's going to be a short list. let's see if we can figure out where to put them.
sadly, it is not possible to separate politics from free software. free software - politics = unfree software.

Bruce B

#17 Post by Bruce B »

amish,

I just tested the technique described at the beginning of this topic. with 2.14 As my purpose was only for testing - I did things 'quick and dirty' as described below:

copied the following files to c:\

vmlinuz
initrd.gz
zdrv_214.sfs
pup_214.sfs
loadlin.exe
option.txt (the cfg file I wrote)

I took the template code and removed two lines shown here by # sign

Code: Select all

vmlinuz
root=/dev/ram
rw
initrd=initrd.gz
vga=normal
ramdisk_size=100000
init=/etc/init
# lang=es
apm=power-off
nomce
noapic
noacpi
noscsi
quiet
# BOOT_IMAGE=pup_200.sfs
It worked fine

-----------

Edit note: This test was made according to the requisites in the How To:

* FAT32 partition
* Real DOS Mode for executing loadlin.exe

designengineer
Posts: 84
Joined: Wed 18 Oct 2006, 13:13

#18 Post by designengineer »

I have used the exact procedure described by UKBill to load 2.14, except I boot from a bootable floppy (which gives me a real DOS mode). I made no changes to the option.txt file and it worked. Strange but true.

Bruce B

#19 Post by Bruce B »

designengineer wrote:I have used the exact procedure described by UKBill to load 2.14, except I boot from a bootable floppy (which gives me a real DOS mode). I made no changes to the option.txt file and it worked. Strange but true.
For the record. I didn't mean to imply that I needed to make the changes, I simply made the changes. It might have worked even if I'd not made the changes.

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#20 Post by HairyWill »

Hi pmshah,
I'm booting 2.14 this way, what error are you getting.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

Post Reply