[arch-general] [arch-dev-public] syslinux update to 5.01

Matthew Gyurgyik pyther at pyther.net
Thu Jan 31 21:41:30 EST 2013


On 01/31/2013 12:49 PM, Tobias Powalowski wrote:
> Am 31.01.2013 18:43, schrieb Pierre Schmitz:
>> Am 31.01.2013 16:09, schrieb Tobias Powalowski:
>>> Hi,
>>> ok syslinux 5.0 series should come to testing again.
>>> The problem with this release:
>>> You need to copy all .c32 modules to your /boot/syslinux path.
>>> - Those who used our shipped install script, will end up in a none menu
>>> based syslinux shell.
>> As long as we ship this install script we should maintain it. So this
>> script needs to be altered to copy the needed files.
>>
> The script has already been modified to at least to syslinux shell.
> If it should do more, Pyther needs to change it.
>
> greetings
> tpowa
>

I'll copy and paste from my previous message (Re: [arch-dev-public] 
syslinux 5.00 in [testing]).

-----

Below you will find the links to the patches for the 
syslinux-install_update script, PKGBUILD, and syslinux.cfg

During an install, the syslinux-install_update script will copy all .c32 
modules to /boot/syslinux. This is recommended by upstream [1]. The size 
cost is minimal, 996K. For updates, I added an array called 
core_modules. During an update, we only copy modules that already exist 
in /boot/syslinux. However, if any core_module does not exist in 
/boot/syslinux it will be copied/symlinked.

With these modifications, when a user upgrades from 4.06 -> 5.00, 
ldlinux.c32 will be copied/symlinked to /boot/syslinux as it is 
core_module. Other modules such as libutil_com.c32 and libcom32.c32 will 
not be copied/linked.

On boot, if a menu is being used, the menu will fail to load (missing 
depends: libutil_com.c32, etc...). However, the user will be given a 
syslinux shell they can boot by entering a label that corresponds to a 
defined label in syslinux.cfg.

A post_install message or a news item suggesting users to copy / symlink 
all modules to /boot/syslinux would be ideal. Users who miss this 
message, will still be able to boot, but instead of the menu loading, 
they will be dropped to a syslinux shell (as explained above).

cp /usr/lib/syslinux/*.c32 /boot/syslinux (/ and /boot on seperate fs)

or

ln -s /usr/lib/syslinux/*.c32 /boot/syslinux (/ and /boot on same fs)

In my opinion, we shouldn't add new modules during an update to 
/boot/syslinux unless, without the module, the system becomes 
unbootable. The rational here being - the user knows best.

Lastly, since com modules are no longer supported and no one has ported 
poweroff.com, I have removed the poweroff section from the syslinux.cfg [2].

Patches:
http://pyther.net/a/syslinux-5.00-patches-v1/PKGBUILD.diff
http://pyther.net/a/syslinux-5.00-patches-v1/syslinux-install_update.patch
http://pyther.net/a/syslinux-5.00-patches-v1/syslinux.cfg.patch

[1] "In general, unless you have a reason *not* to install all the .c32
files, it is probably a good idea." - hpa

[2] #syslinux @freenode:
   pyther : Hello. Is there a poweroff module for syslinux 5?
   Ady2 : pyther: no. all .com modules are not supported in 5.00. someone
   needs to create a new poweroff.c32 compatible with 5.00.


Regards,
Matthew Gyurgyik



More information about the arch-general mailing list