[arch-general] [arch-dev-public] syslinux 5.00 in [testing]
Matthew Gyurgyik
pyther at pyther.net
Sun Dec 16 16:03:20 EST 2012
On 12/08/2012 10:59 AM, Matthew Gyurgyik wrote:
> On 12/08/2012 06:37 AM, Tobias Powalowski wrote:
>> Hi, seems syslinux changed some things more than I expected, could
>> thomas or gerado look at the changes?
>> http://www.syslinux.org/archives/2012-December/018747.html I don't
>> have time this afternoon.
>>
>> If it keeps broken, I'll remove it this evening from testing
>> repository.
>>
>> greetings tpowa
>>
>
> The default modules that we place into /boot (menu.c32 vesamenu.c32
> chain.c32 hdt.c32 reboot.c32 poweroff.com) depend on
> libutil_com.c32, libcom32.c32, libmenu.c32, libcom32gpl.c32 (new with
> syslinux 5.0)
>
> The syslinux-install_update script will need to be updated to
> include these extra modules. I will provide a patch in the next day
> or two, since I'm the original author.
>
> Simply adding the new modules to the script should work, but I want
> to test the following (thus the delay for the patch): 1) upgrade
> from syslinux4 -> syslinux5 2) new install using syslinux 5
>
> Regards, Matthew Gyurgyik
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