no 5.5 boot with syslinux 5.01

Please post any bugs you have found
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#31 Post by rcrsn51 »

What wiejetzt has failed to mention in all of this discussion is where he is getting syslinux 5.01 and why he is using it to boot Puppy. As Karl stated above, all recent woof-built Puppies have syslinux 3.73, which works fine.

As a test, I compiled syslinux 5.01 in Precise. Sure enough, it had exactly the problems that wiejetzt described. The same was true with 5.00. However, 4.06 worked.

So it appears that syslinux 5.x introduced something that is incompatible with how Puppy builds its kernel/initrd.gz.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#32 Post by Karl Godt »

I can only suspect that extlinux v5 is passing the boot parameters corrupted furhther .

Code: Select all

echo "pmedia='$pmedia' PMEDIA='$PMEDIA' psubdir='$psubdir' PSUBDIR='$PSUBDIR' pdev1='$pdev1' PDEV1='$PDEV1'"
In the initrd shell would probably reveal things .

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#33 Post by Karl Godt »

sh-3.00# ls -1 /root/my-documents/syslinux-3.86/extlinux/

ext2_fs.h
extlinux
main.c
Makefile

sh-3.00# ls -1 /root/my-documents/syslinux-4.06/extlinux/

btrfs.h
extlinux
fat.h
main.c
Makefile
mountinfo.c
mountinfo.h
ntfs.h

sh-3.00# ls -1 /root/my-documents/syslinux-5.01/extlinux/

btrfs.h
extlinux
fat.h
main.c
Makefile
misc.h
mountinfo.c
mountinfo.h
ntfs.h
xfs_fs.h
xfs.h
xfs_sb.h
xfs_types.h

wiejetzt
Posts: 15
Joined: Fri 12 Apr 2013, 17:59

#34 Post by wiejetzt »

rcrsn51 wrote:What wiejetzt has failed to mention in all of this discussion is where he is getting syslinux 5.01 and why he is using it to boot Puppy. As Karl stated above, all recent woof-built Puppies have syslinux 3.73, which works fine.

As a test, I compiled syslinux 5.01 in Precise. Sure enough, it had exactly the problems that wiejetzt described. The same was true with 5.00. However, 4.06 worked.

So it appears that syslinux 5.x introduced something that is incompatible with how Puppy builds its kernel/initrd.gz.
Got syslinux 5.01 from syslinux.org, included are binaries, enabling to install immediately.
That syslinux 5.x introduced something is one conclusion, another conclusion is that other distros have no problem with syslinux 5.01, only puppy 5.5.

I am sorry that caused so much trouble. I thought it is helpful to point out bugs. Obviously I have to be VERY careful, to report something that might be a bug, but may be not. Delete my account.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#35 Post by 01micko »

wiejetzt wrote:I am sorry that caused so much trouble. I thought it is helpful to point out bugs. Obviously I have to be VERY careful, to report something that might be a bug, but may be not. Delete my account.
I haven't got lot of time lately but this thread is on my radar.

From the start I understood that your problem was with syslinux >= 5.0x and any recent puppy linux.

It is a bug and should be dealt with. Don't pack up your bat and ball and go home just yet!
Puppy Linux Blog - contact me for access

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#36 Post by Iguleder »

Make sure you have ldlinux.c32 on the partition - this file is required by 5.01, but not by 4.06.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#37 Post by Karl Godt »

make && make clean && make

produces less warnings than just

make

But I don't think that this matters, since he used the pre-compiled ones .

not having

make distclean

unexpectable for kernel.org

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#38 Post by Karl Godt »

xfs seems to be missing in current partview btw .
horror_frontend_d still greps for it .

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#39 Post by Karl Godt »

And question is : Is extlinux needed in some rare cases ?

When I read the mbr.S :

/* Search for active partitions */

too_many_active:
call error
.ascii "Multiple active partitions.\r\n"


Never had to set anything active for grub !

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#40 Post by Karl Godt »

But a nice logo syslinux have now since v4 :
Attachments
syslinux-100.png
(128.23 KiB) Downloaded 1562 times
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#41 Post by Karl Godt »

Iguleder wrote:Make sure you have ldlinux.c32 on the partition - this file is required by 5.01, but not by 4.06.
sh-3.00# ldd /mnt/sda7/SYSLINUX/syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32
statically linked

So it needs to be copied onto the partition or if subfolder in ie /boot ?

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#42 Post by Iguleder »

In the partition root. Also, make sure you use the right MBR (mbr.bin) and have syslinux.cfg.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#43 Post by Karl Godt »

extlinux.txt wrote:EXTLINUX is a new Syslinux derivative, which boots from a Linux
ext2/ext3 filesystem.
It works the same way as SYSLINUX (see doc/syslinux.txt), with a few
slight modifications.

1. The installer is run on a *mounted* filesystem. Run the extlinux
installer on the directory in which you want extlinux installed:

extlinux --install /boot

Specify --install (-i) to install for the first time, or
--update (-U) to upgrade a previous installation.
NOTE: this doesn't have to be the root directory of a filesystem.
If /boot is a filesystem, you can do:

mkdir -p /boot/extlinux
extlinux --install /boot/extlinux

... to create a subdirectory and install extlinux in it.
/boot/extlinux is the recommended location for extlinux.
The Puppy installer installs it onto the rootfs of the partition ie
mkdir /boot /mnt/data
mount /dev/sdb1 /mnt/data || mount /dev/sdb1 /boot
puppyinstaller wrote:if [ ! "`echo "$DESTPART" | grep '[0-9]$'`" = "" ];then
extlinux -i /mnt/data #i think only use -z for superfloppy.
else
extlinux -i -z /mnt/data
fi
extlinux.txt wrote: 2. The configuration file is called "extlinux.conf", and is expected
to be found in the same directory as extlinux is installed in.
Since 4.00 "syslinux.cfg" is also tried if "extlinux.conf" is not
found.



3. Pathnames can be absolute or relative; if absolute (with a leading
slash), they are relative to the root of the filesystem on which
extlinux is installed (/boot in the example above), if relative,
they are relative to the extlinux directory.

extlinux supports subdirectories, but the total path length is
limited to 511 characters
.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#44 Post by Karl Godt »

First adventures with extlinux :

1) version 5.01 make; make clean; make; make install
* Extended partition on SDCARD sd*5 formatted with xfs
* mount /dev/sd*5 /mnt/sd*5
* mkdir -p /mnt/sd*5/boot/extlinux
* extlinux --install /mnt/sd*5/boot/extlinux
-> files created in /mnt/sd*5/boot/extlinux : ldlinux.sys AND ldlinux.c32 [ no extlinux.sys ]
* by default make install installs to /usr/share NOT to /usr/lib [ NO MCONFIG file ]
-> cp /usr/share/syslinux/mbr.bin /mnt/sd*5/boot/extlinux/
* cat /mnt/sd*5/boot/extlinux/mbr.bin >/dev/sd* [ * mostly c -> /dev/sdc in my case ]
* installed precise-5.5 into /mnt/sd*5/LINUXes/precise-5.5 frugal
* fetched the syslinux.cfg out of the precise-5.5.iso and copied to /mnt/sd*5/boot/extlinux
* renamed /mnt/sd*5/boot/extlinux/syslinux.cfg to extlinux.conf
* umount /dev/sd*5
* ran fdisk /dev/sd*5 to flag partition bootable
* ran fdisk -l /dev/sd*5 to check if it is now marked active
* rebooted
-> Missing Operating System ..

2) version 3.86 make; make clean; make; make install
* did all that above for a USB first partition ext3 formatted which had grub4dos on it
-> Problems with the PATH to boot.msg , help.msg , logo16
* typed at the prompt : /vmlinuz
-> booted a full installation on second internal hard drive .
* fixed the PATHs in these files
* rebooted
* booted correctly .

3) fixed everything for 1) : Still missing operating system .

OVERALL : 5.0X seems very unstable for now .

For the record : Puppy 4.3 has already extlinux v3.73 and since the files for the syslinux in woof2 are empty placeholders it seems that all main distros also still use v3.73 .

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#45 Post by Karl Godt »

Finally : Cannot confirm this BUG .
Posting from precise-5.5 on sdc2 ext2 formatted SDCard partition . Found the files ! Nothing unusual to report .

WHAT I can confirm is : xfs support is broken .

The partition was formerly formatted jfs .

Formatted to xfs : Missing operating system .

Formatted ext2 : Everything went smooth . Posting from it now .

Will have to check the PATH to logo.16 cos it did not show up,
but the four lines of boot.msg .

And while copying I did not correct the pdev1 variable in extlinux.conf and the /init was able to find it though :

Code: Select all

# cat /proc/cmdline
video=640x480 /LINUXes/precise-5.5/vmlinuz /LINUXes/precise-5.5/vmlinuz initrd=/LINUXes/precise-5.5/initrd.gz psubdir=LINUXes/precise-5.5 pdev1=sdc5

Post Reply