Page 1 of 2

Boot from a FAT partition without burning the iso file.

Posted: Sat 24 Jun 2006, 05:11
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.

HD boot with 2.10r1

Posted: Fri 13 Oct 2006, 03:41
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.

Posted: Fri 13 Oct 2006, 18:01
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

Posted: Fri 20 Oct 2006, 16:51
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.

Posted: Sat 30 Dec 2006, 19:40
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

Posted: Sat 30 Dec 2006, 20:53
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.

choosing your pupsave

Posted: Wed 03 Jan 2007, 12:18
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.

Posted: Wed 10 Jan 2007, 21:30
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.

Posted: Mon 22 Jan 2007, 19:38
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.

Posted: Tue 23 Jan 2007, 00:11
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

grldr

Posted: Tue 23 Jan 2007, 03:31
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

Posted: Thu 25 Jan 2007, 00:49
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

Posted: Tue 30 Jan 2007, 23:33
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

Posted: Wed 31 Jan 2007, 02:43
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

Posted: Sat 03 Mar 2007, 21:18
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.

Posted: Sat 03 Mar 2007, 22:15
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.

Posted: Sun 04 Mar 2007, 02:30
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

Posted: Sun 04 Mar 2007, 18:55
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.

Posted: Mon 05 Mar 2007, 00:29
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.

Posted: Mon 05 Mar 2007, 00:44
by HairyWill
Hi pmshah,
I'm booting 2.14 this way, what error are you getting.