How do I upgrade syslinux in a puppy?

Core libraries and systems
Post Reply
Message
Author
B.K. Johnson
Posts: 807
Joined: Mon 12 Oct 2009, 17:11

How do I upgrade syslinux in a puppy?

#1 Post by B.K. Johnson »

Hello
The forum, indeed puppyland has been captured by Grub4Dos adherents. syslinux, although it still comes in every puppy, hardly gets a mention these days. And while syslinux is now at version 6.0.3, new pups continue to be produced with v 4.0.4/6. Admittedly, philb has included and used vesamenu.c32 and probably a current syslinux in his tahr-606 (32bit).

So it might be heresy to pose a syslinux question, but I can hope, can't I?

How do I update the syslinux in a puppy to a new version?

The syslinux bootloader installed in my latest puppylinux (tahr-6.0.6) is version 4.0.6.
I have downloaded the latest (6.0.3) and want to update.
The SYSLINUX Wiki suggests the following syntax for updating:

Code: Select all

syslinux [options] <Device_Or_Image>
and U as an update option.
So I assume, with sdb1 being my boot drive, the command would be:

Code: Select all

syslinux -U /dev/sdb1
Is this correct?
Should the device sdb1 be unmounted?
I see no reference to the new version. Do I cd to where the new version is then issue the command? Is it understood that the syslinux.exe in the commandline overrides the existing?

BK
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]

User avatar
OscarTalks
Posts: 2196
Joined: Mon 06 Feb 2012, 00:58
Location: London, England

#2 Post by OscarTalks »

Those commands you mention are for updating where syslinux is installed as the bootloader. I believe the syslinux within a Puppy is really the installer files to enable you to install syslinux.

I presume you have the 6.0.3 source tarball. It does actually also contain some pre-compiled binaries but you can recompile on your system and install. Untar the source package and there are some text documents in the /doc sub-directory including building.txt.

From within the top level source directory it looks like

Code: Select all

make installer
followed by

Code: Select all

new2dir make install
will upgrade within Puppy. The new2dir produces a copy of installed files so you can see what has happened and in case you want to make a .pet package of it.

I tested this in Wheezy. The extlinux executable went into /sbin with syslinux and others going into /usr/bin. Quite a cluster of other stuff is all together in /usr/share/syslinux. Not sure exactly what you want to achieve with this upgrade and I am no expert, but that seems to be along the right lines. If anyone can shed more light feel free to do so.
Oscar in England
Image

B.K. Johnson
Posts: 807
Joined: Mon 12 Oct 2009, 17:11

#3 Post by B.K. Johnson »

@OscarTalks
Good morning/afternoon. Thanks for responding.
My interest grew out of my search for an explanation why my old method of adding a pup in a multipup booting setup with syslinux as the bootloader instead of Grub4Dos failed and failed also as a single O/S boot. The new pup was tahr-6.0.6 (32bit). I was doing my installations from tahr-6.0.2~6.0.5 (see my sig). Results of various cli commands are shown below:

Code: Select all

root# which syslinux
/usr/bin/syslinux
root# syslinux -h
Usage: syslinux [-sfr][-d directory][-o offset] device
root# syslinux --h
Usage: syslinux [-sfr][-d directory][-o offset] device
root# syslinux --help
Usage: syslinux [-sfr][-d directory][-o offset] device
root# syslinux -?
Usage: syslinux [-sfr][-d directory][-o offset] device
root# syslinux -version
Usage: syslinux [-sfr][-d directory][-o offset] device
root#
The syslinux website showed 6.0.3 as the latest version. The terminal command, syslinux --version at the CD installation of tahr-6.0.6 returned 4.0.5. With such a divergence, I wished to install the latest version or minimally, 4.0.5.
I also found that /usr/bin/syslinux is a syslink to /usr/bin/syslinux-nomtools.

The Update parameter was described on the syslinux site. You will note that 'U' is not among the the option list in the version of my tahr-6.0.5.
Those commands you mention are for updating where syslinux is installed as the bootloader.
From above and since I have always created syslinux based menus (never Grub4Dos) I assumed syslinux was installed in every pup. But with the discovery of syslinux-nomtools and after seeing the tree contents of the 6.0.3 tar, I realized syslinux is really not installed; at least not fully so.

I now have 2 stand-alone (not in a multiple pup configuration) tahr-6.0.6 installations (of sorts), so maybe I am on 'a wild goose chase'. Nevertheless, I'll compile using your instructions and install in tahr-6.0.2~6.0.5 as soon as able.
Thanks again for your input and like you, I invite other contributors.

BK
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]

Post Reply