You are not logged in.

#1 2016-09-17 03:59:46

fajung
Member
From: Argentina, Buenos aires
Registered: 2016-05-28
Posts: 16

[Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

the other day I was borded so I youtubed "install Arch on a usb...", and I found this https://www.youtube.com/watch?v=1nPesiEhuic made by midfinger, so I tried to do it, I did it, and it worked just fine, then I search in the archWiki, I this https://wiki.archlinux.org/index.php/In … _a_USB_key  popup, after setting up xfce4 installing all the Apps, I decided to make the bootloader looks like Arch iso's, so, I installed syslinux, edited the syslinux.cfg but when I tried to boot from it, I got:

syslinux failed to load ldlinux.c32


then I gooogle search and I found some post in here that says that in order to ldlinux.c32 to not failed, I have to do a "mkfs.ext4 ^64bits  /dev/sdx", but in the wiki says that the partition has to be ^has_journal and I don't wanna start all over again if there is any solution.

this is the syslinux.cfg:

DEFAULT arch
PROMPT 0        # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl

# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
UI vesamenu.c32

MENU TITLE Arch Linux
MENU BACKGROUND /boot/syslinux/splash.png

MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 7
MENU VSHIFT 10
MENU TABMSGROW 14
MENU CMDLINEROW 14
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu

MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=UUID=a3270581-511a-4d6a-8d7e-dc88eb160695 rw
    INITRD ../initramfs-linux.img

LABEL archfallback
    MENU LABEL Arch Linux Fallback
    LINUX ../vmlinuz-linux
    APPEND root=UUIUD=a3270581-511a-4d6a-8d7e-dc88eb160695 rw
    INITRD ../initramfs-linux-fallback.img

#LABEL windows
#        MENU LABEL Windows
#        COM32 chain.c32
#        APPEND hd0 0

LABEL hdt
        MENU LABEL HDT (Hardware Detection Tool)
        COM32 hdt.c32

LABEL reboot
        MENU LABEL Reboot
        COM32 reboot.c32

LABEL poweroff
        MENU LABEL Poweroff
        COM32 poweroff.c32

I forgot

the usb is MBR and has 2 partitions:
part 1: 6gb: ext4 ^has_journal: for the system.
part 2: 9gb fat32 not used

OS arch 64bits

Last edited by fajung (2016-09-20 11:22:39)

Offline

#2 2016-09-18 13:51:45

ukhippo
Member
From: Non-paged pool
Registered: 2014-02-21
Posts: 366

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

Syslinux doesn't support 64bit ext4, so you either have to reformat part1, or (since you're not using part2) use part2 as a boot partition. If desired you could split part2 into 2 partitions - a small boot partition, and the rest.

Offline

#3 2016-09-19 04:11:06

fajung
Member
From: Argentina, Buenos aires
Registered: 2016-05-28
Posts: 16

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

in my vbox testing, the installed Arch are 64 bits, an syslinux works fine there, well, I'm goin to do as you said and make a fat32 partition 200Mbs for /boot
I'm going to see if I can install Arch on a 64gb mSD card, make a partition for 10gb for Arch, 200Mbs for boot and the rest as fat32 and hope my card's stereo read from it
thanks for the helps!!

Offline

#4 2016-09-19 08:31:35

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

ukhippo said about "64bit ext4 feature". Just do not use "^64bits" when calling "mkfs.ext4".


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#5 2016-09-19 14:02:08

ukhippo
Member
From: Non-paged pool
Registered: 2014-02-21
Posts: 366

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

Actually you DO want to specify “^64bit” to mkfs.ext4, as the caret means disable. The 64bit feature is enabled by default with ext4. Similarly has_journal is also enabled by default, which is not ideal for USB sticks - hence the recommendation for “^has_journal” to disable it. So you'll need to specify both: “-O ^64bit,^has_journal” if you want to go the single partition route.

My personal preference is to have a separate boot partition which is an EFI System Partition marked bootable. That way you can put both UEFI and BIOS bootloaders into it, and your main (non-boot) partition can have any FS supported by Linux.

Offline

#6 2016-09-20 11:00:09

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

I can install syslinux successfully on my newly created ext4 partition. I never heard of a 64 bit ext4 partition (how can I check to be sure?). Syslinux itself run in 32 bits mode (even on a 64 bits system) but has no problem to load a 64 bit kernel.

I think that syslinux was not correctly installed. If you install syslinux on an ext4 partition, you have to use "extlinux -i /boot/syslinux" (for example) to install it. Also the extlinux command have to be the same version as the one installed on the partition. I remember a similar problem with the SystemRescueCD that I tried to install manually on an ext4 partition, but using the incompatible extlinux from an archlinux system. The correct way was to use the extlinux that was on the SystemRescueCD.

Offline

#7 2016-09-20 11:22:08

fajung
Member
From: Argentina, Buenos aires
Registered: 2016-05-28
Posts: 16

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

I reinstalled Arch on the usb with syslinux, and it worked fine, /boot and / are ext4 and it is a 64 bits OS, maybe installing grub and the syslinux got things mixed at some piont. I did the mkfs.ext4 "^64bit,has_journal" just to be sure, and i t is working, thank for the help
I think that I broke it before when I installed them both grub and syslinux, at some point.

Offline

#8 2016-09-20 12:16:22

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

Have in mind that disabling the journal will disable useful feature on the filesystem (the journal help recovery in case of a crash). I do not know exactly about the 64bits but I never had to do this nor the "^has_journal" to install syslinux.

Last edited by olive (2016-09-20 12:17:46)

Offline

#9 2016-09-20 13:39:01

ukhippo
Member
From: Non-paged pool
Registered: 2014-02-21
Posts: 366

Re: [Solved] syslinux ldlinux.c32 faild to load on a Live USB installation

The bitness of the kernel is irrelevant. As a bootloader, syslinux loads before any OS. So it has to have support for filesystems. As documented in http://www.syslinux.org/wiki/index.php? … system#ext syslinux's ext4 support doesn't support the 64bit option. You can check what options you have set using tune2fs.
Disabling the has_journal option has nothing to do with syslinux, it's to limit the writes to the USB stick, as recommended by the arch wiki.

Offline

Board footer

Powered by FluxBB