HOWTO make Puppy boot from a USB partition with EXTLINUX

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
festus
Posts: 235
Joined: Wed 14 Jan 2015, 19:10

#21 Post by festus »

drunkjedi wrote:Hi corvus,
For ext file systems you have to use extlinux.
Syslinux for fat.
Isolinux for cd or dvd.

I haven't used it. But command syntax for using syslinux and extlinux is same I think.

Please see it's wiki first.
http://www.syslinux.org/wiki/index.php?title=EXTLINUX
After messing around with extlinux a while, I finally put it all together with info gathered here and there on this forum and have got a bootable USB formatted with ext2 using extlinux.

Here are the steps I used:

1. On your blank USB "sdb", Create an ext2 Partition using GParted. It will be named sdb1. Before exiting GParted, and set the "boot" flag on sdb1.

2. The installation of Bootloader on the drive
First we need to Mount the drive

Install the MBR on the drive (make sure the drive letter is right!)
# cd /usr/lib/syslinux
# dd if=mbr.bin of=/dev/sdb (Note that this command uses sdb and not sdb1)

3. Then EXTLINUX
# cd /sbin
# extlinux --install /mnt/sdb1 (make sure the drive letter is right!)

4. We need to create an extlinux.conf file which will contain our bootloader instructions :

# leafpad /mnt/sdb1/extlinux.conf
Copy the below config for a HDD-frugal-install:

Code: Select all

default puppy
display boot.msg
prompt 1
timeout 50

F1 boot.msg
F2 help.msg
F3 help2.msg

label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=cd
Or, for USBflash installs:

Code: Select all

default puppy
display boot.msg
prompt 1
timeout 50

F1 boot.msg
F2 help.msg
F3 help2.msg

label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=usbflash pfix=copy
5. Click on the distro's ISO file to mount it. Copy everything off the ISO onto the flash drive. There may be some hidden files, so use the ROX eyeball icon to see them.

6. Unmount everything and reboot off the flash drive.

Hope this helps...

festus :)
Last edited by festus on Fri 18 Mar 2016, 13:53, edited 1 time in total.

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

#22 Post by L18L »

Here the steps I used to manually make Puppy boot from a USB stick:

1)
isohybrid puppy.iso

2)
dd if=puppy.iso of=/dev/sdX bs=1M ; sync

3)
use gparted to add 1 (or 2 or 3) partition.

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#23 Post by linuxcbon »

corvus wrote:I followed your instructions step by step except for formatting, I used ext4, and when I typed:

Code: Select all

syslinux /dev/sdc1
I just read this.
Maybe I wasn't clear enough :
syslinux is only for FAT or NTFS filesystems.
For ext2,ext3,ext4,etc. you need to use extlinux, which works the same as syslinux.
For booting cdrom or dvd format, you use isolinux.
etc.

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#24 Post by nic007 »

Why would you use syslinux and isolinux if you can use Grub4Dos on FAT; VFAT; FAT32; NTFS; EXT1 2 3 4; reiserfs file systems and even on a CD? Extremely easy to set up with the Grub4Dos configuration tool which does all the work for you (putting it on CD can be done with little intervention too).

User avatar
drunkjedi
Posts: 882
Joined: Mon 25 May 2015, 02:50

#25 Post by drunkjedi »

I first used it because I had ISO file and didn't want to burn it to CD.

Found out that syslinux was present in my Ubuntu install.
It's present in most linux distros I hear.

Also available for Windows too.

That's what got me to use it.

And I encountered no problem with it yet so didn't try anything else.

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#26 Post by linuxcbon »

nic007 wrote:Why would you use syslinux and isolinux if you can use Grub4Dos on FAT; VFAT; FAT32; NTFS; EXT1 2 3 4; reiserfs file systems and even on a CD? Extremely easy to set up with the Grub4Dos configuration tool which does all the work for you (putting it on CD can be done with little intervention too).
grub4dos or syslinux, are not very different, it's a matter of taste.
I was about to write 2 howtos : 1 for grub4dos, 1 for syslinux, but I dont have so much time. If you use grub4dos, why dont you write a howto for it ?

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#27 Post by nic007 »

linuxcbon wrote:
nic007 wrote:Why would you use syslinux and isolinux if you can use Grub4Dos on FAT; VFAT; FAT32; NTFS; EXT1 2 3 4; reiserfs file systems and even on a CD? Extremely easy to set up with the Grub4Dos configuration tool which does all the work for you (putting it on CD can be done with little intervention too).
grub4dos or syslinux, are not very different, it's a matter of taste.
I was about to write 2 howtos : 1 for grub4dos, 1 for syslinux, but I dont have so much time. If you use grub4dos, why dont you write a howto for it ?
But grub4dos support almost all filesystems. Look in the how to section. I made a tutorial for multi boot grub4dos cd just a few days ago

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#28 Post by nic007 »

drunkjedi wrote:I first used it because I had ISO file and didn't want to burn it to CD.

Found out that syslinux was present in my Ubuntu install.
It's present in most linux distros I hear.

Also available for Windows too.

That's what got me to use it.

And I encountered no problem with it yet so didn't try anything else.
Can you give us an example of how the configuration file should look like for a choice of booting a spesific distribution. Let's say I have puppyiso1,puppyiso2 and puppyiso3 in the root directory of sda1. Also, are there options to be specified during the boot up process. Thanks

User avatar
drunkjedi
Posts: 882
Joined: Mon 25 May 2015, 02:50

#29 Post by drunkjedi »

I am at work now,
I will post my syslinux.cfg file for you when I get home.
It boots Fatdog64, tahr64, and Debiandog with each some entries edited with boot options applied.

With basic menu options, just copy from isolinux.cfg on cd/iso.

Edit: See first page, neerajkolte gave his syslinux.cfg.
Look at "append" line, it has all boot options given.
Last edited by drunkjedi on Mon 21 Mar 2016, 07:38, edited 1 time in total.

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#30 Post by linuxcbon »

nic007 wrote:But grub4dos support almost all filesystems. Look in the how to section. I made a tutorial for multi boot grub4dos cd just a few days ago
This howto is only about syslinux and not about grub4dos.

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#31 Post by nic007 »

linuxcbon wrote:
nic007 wrote:But grub4dos support almost all filesystems. Look in the how to section. I made a tutorial for multi boot grub4dos cd just a few days ago
This howto is only about syslinux and not about grub4dos.
You asked that I make a tutorial for grub4dos in how to, so I answered. BTW - I'm not dissing syslinux nor your how to, I'm asking a legitimate question why one should opt for syslinux when grub4dos covers almost all file systems and syslinux is limited in this regard.

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#32 Post by linuxcbon »

nic007 wrote:You asked that I make a tutorial for grub4dos in how to, so I answered. BTW - I'm not dissing syslinux nor your how to, I'm asking a legitimate question why one should opt for syslinux when grub4dos covers almost all file systems and syslinux is limited in this regard.
Filesystem is not a limitation. It's a deliberate choice from the developers to have an utility for each filesystem : syslinux for FAT/NTFS, extlinux for ext2/ext3/ext4/btrfs , isolinux for CDs/DVDs, PXELinux for network. I prefer syslinux (or extlinux) because it comes by default in almost all linux distributions. But grub4dos and syslinux work more or less the same, so as I already wrote, it's a matter of taste.
note : extlinux version [6.03+] supports : FAT12/16/32, NTFS, ext2/3/4, Btrfs, XFS, UFS/FFS,

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#33 Post by nic007 »

drunkjedi wrote:I am at work now,
I will post my syslinux.cfg file for you when I get home.
It boots Fatdog64, tahr64, and Debiandog with each some entries edited with boot options applied.

With basic menu options, just copy from isolinux.cfg on cd/iso.

Edit: See first page, neerajkolte gave his syslinux.cfg.
Look at "append" line, it has all boot options given.
Saw that. Question - Does this boot the iso directly or do you have to copy the files to the disk first?

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#34 Post by linuxcbon »

OK for fighting the filesystem limitation, I updated the howto, and replaced "syslinux" by "extlinux", which can support more filesystems.

extlinux versions 4.06+ can support : FAT12/16/32, NTFS, ext2/3/4, Btrfs,

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#35 Post by linuxcbon »

nic007 wrote:Saw that. Question - Does this boot the iso directly or do you have to copy the files to the disk first?
You can also boot an iso directly with extlinux, but I havent explained it , because I explained only the "frugal" method. But I can make another howto later.

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

#36 Post by nic007 »

linuxcbon wrote:
nic007 wrote:Saw that. Question - Does this boot the iso directly or do you have to copy the files to the disk first?
You can also boot an iso directly with extlinux, but I havent explained it , because I explained only the "frugal" method. But I can make another howto later.
Thanks, I'm exploring a bit today. Yes, booting the iso directly is of interest to me. I'm exploring the use of/possibilities of isolinux at the moment.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

Re: HOWTO make Puppy boot from a USB partition with EXTLINUX

#37 Post by greengeek »

linuxcbon wrote:INSTALL THE MBR TO THE USB STICK

Code: Select all

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=/dev/sdc
(for 64 bits linux, MBR can be found at /usr/share/syslinux/mbr.bin , so use it instead)

INSTALL EXTLINUX IN ONE USB PARTITION
For example partition /dev/sdc3 (can be FAT12/16/32, NTFS, ext2/3/4, Btrfs)
- Set the partition to "BOOTABLE"
- Install extlinux to the partition

Code: Select all

# extlinux -i /dev/sdc3
When I get to the 2nd stage - INSTALL EXTLINUX IN ONE USB PARTITION i get the following error:

Code: Select all

# extlinux -i /dev/sdc1
extlinux: Not a directory: /dev/sdc1
(For the purposes of this test I only have one partition - FAT32)

Am I doing this right?

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

Re: HOWTO make Puppy boot from a USB partition with EXTLINUX

#38 Post by linuxcbon »

greengeek wrote:Am I doing this right?
Yes that's right. Are you sure the stick is reckognized as /dev/sdc ? Is it maybe sda, sdb or sdd instead ? Check with dmesg when inserting stick. And check with gparted.

jeff757
Posts: 18
Joined: Wed 12 Dec 2012, 03:33

Re: HOWTO make Puppy boot from a USB partition with EXTLINUX

#39 Post by jeff757 »

[/b]greengeek wrote:

Code: Select all

Am I doing this right?
Unfortunately no. You MUST first mount the partition.
If you look at festus post on pg2 he is using the method I have used since the post in Lucid 525 said USBFLASH didn't work. My only difference is I install mbr the way linuxcbon showed.

jeff

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

Re: HOWTO make Puppy boot from a USB partition with EXTLINUX

#40 Post by linuxcbon »

jeff757 wrote:Unfortunately no. You MUST first mount the partition.
If you look at festus post on pg2 he is using the method I have used since the post in Lucid 525 said USBFLASH didn't work. My only difference is I install mbr the way linuxcbon showed. jeff
I never needed to mount the partition to do "extlinux -i /dev/sdXN" (for ext2/3/4). Maybe for FAT or NTFS, it needs to be mounted first. I am going to try it now.
OK I can confirm it doesnt work for FAT32,

Code: Select all

# extlinux -i /dev/sdc3
extlinux: Not a directory: /dev/sdc3
So I am going to update the howto for more general cases, using a mounted partition. :wink:

Post Reply