Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: deetee on April 19, 2013, 09:00:45 AM
-
Hi,
I installed the newest extlinux (syslinux version 5.01) to boot TC (vmlinuz, core.gz) from my ext3-harddisk.
Unfortunately syslinux installed two ldlinux-files (ldlinux.c32 and ldlinux.sys) with a size of 55k resp. 116k.
I wonder if and how it is possible to boot with less and smaller loadlinux-file(s) - because I saw syslinux-bootloaders with one ~30k file only.
What did I do wrong while installing extlinux?
deetee
-
here's what I find:
$ ls -l /mnt/sdc1/boot/extlinux/extlinux.sys
-r--r--r-- 1 root root 14336 May 30 2009 /mnt/sdc1/boot/extlinux/extlinux.sys
$ ls -l /mnt/sdc1/boot/extlinux/ldlinux.sys
-r--r--r-- 1 root root 32768 Mar 29 20:10 /mnt/sdc1/boot/extlinux/ldlinux.sys
Where the first one is a previous syslinux extension and the second one is the current syslinux extension.
-
Yes ... that's what I have seen (32k) - and that's what I want.
But to do it well I tried the latest syslinux: Downloaded the syslinux zip file, extracted it and executed the extlinux binary (<./extlinux -i /dev/sda1>).
To get a real slim TC I added core.gz, vmlinuz and a small extlinux.conf only.
It boots and works, but I wonder how to get a smaller 'extlinux footprint'.
deetee
-
You could try using the current syslinux extension and following the instructions in the info file?
-
Good idea - thank you for the hint.
I loaded syslinux.tcz and executed extlinux (<sudo extlinux -i -s /mnt/sda1/boot/>)
ldlinux.sys was overwritten (32k instead of 55k)
then I deleted ldlinux.c32 (115k) and now it boots and works.
Thanks for the now 'real slim TC-booting'.
To be honest I have neither a TC-CD nor an USB-bootable PC.
I booted with an old recovery-CD (grml) and did the extlinux-install with the most recent version.
It seems that the newest syslinux produces a bigger footprint.
deetee
-
I happened to wonder about same - though with syslinux instead of extlinux - lately, but a look at included 'news' would explain:
* core: Split non-core functionality into ldlinux.c32, which
is an ELF module loaded by the core that contains everything
the core doesn't require to boot the system, e.g. config
parser, command-line interface, etc.
Also, I think the resulting size of the 2 commands you posted could not directly compared, as only in one of them you used the "-s" option.
-
I wonder if and how it is possible to boot with less and smaller loadlinux-file(s) - because I saw syslinux-bootloaders with one ~30k file only.
What did I do wrong while installing extlinux?
As noted, absolutely nothing wrong. This is a result of the new changes in the elflink (5.xx) branch. Use Syslinux 4.06 if you want something smaller. The precompiled installers 'extlinux' and 'syslinux' should work in TC as-is. The only difference between these two installers is that 'syslinux' works on unmounted supported FAT* file systems while 'extlinux' works on any mounted supported file system. EXTLINUX functionality has been merged into SYSLINUX as of 4.00 (please note case of Syslinux, extlinux and SYSLINUX; this convention should be in use in Syslinux docs/code since about 3.73).
However, in the context of an 8 MiB payload of TC, why does it really matter?
-
Thank you all for your help and information.
deetee
I love TC
-
Here is a comprehensive list of module dependencies for Syslinux >=5.00
http://www.syslinux.org/wiki/index.php/Library_modules