Re: [arch-dev-public] syslinux 5.00 in [testing]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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


[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux