"Failed to load ldlinux.c32"
Greetings. I installed Crux on an old ThinkPad by following the handbook religiously. At first I couldn't get it to boot at all, but I already solved that one by marking the main partition as bootable. But now when I boot up, I'm getting the message "Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue.". When looking up online, I only get results of people being unable to boot either Ubuntu or Arch from USB (which is not the case here), or people who are supposed to install for UEFI but installed for BIOS instead (my laptop is pure BIOS, UEFI on laptops other than MacBooks didn't exist yet at the time this laptop came out). So how can I fix this? -- lain. Did you know that? 90% of all emails sent on a daily basis are being sent in plain text, and it's super easy to intercept emails as they flow over the internet? Never send passwords, tokens, personal information, or other volunerable information without proper PGP encryption! If you're writing your emails unencrypted, please consider sending PGP encrypted emails for security reasons. You can find my PGP public key at: https://fair.moe/lain.asc Every good email client is able to send encrypted emails. If yours can't, then you should consider switching to a secure email client, because yours just sucks. My recommendations are Claws Mail or NeoMutt. For instructions on how to encrypt your emails: https://unixsheikh.com/tutorials/gnupg-tutorial.html
Is your old machine 32 or 64 bit architecture? I think recent crux versions only work on 64 bit. On April 5, 2023 2:58:03 PM GMT+01:00, "lain." <lain@fair.moe> wrote:
Greetings.
I installed Crux on an old ThinkPad by following the handbook religiously. At first I couldn't get it to boot at all, but I already solved that one by marking the main partition as bootable. But now when I boot up, I'm getting the message "Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue.".
When looking up online, I only get results of people being unable to boot either Ubuntu or Arch from USB (which is not the case here), or people who are supposed to install for UEFI but installed for BIOS instead (my laptop is pure BIOS, UEFI on laptops other than MacBooks didn't exist yet at the time this laptop came out).
So how can I fix this?
-- lain.
Did you know that? 90% of all emails sent on a daily basis are being sent in plain text, and it's super easy to intercept emails as they flow over the internet? Never send passwords, tokens, personal information, or other volunerable information without proper PGP encryption!
If you're writing your emails unencrypted, please consider sending PGP encrypted emails for security reasons. You can find my PGP public key at: https://fair.moe/lain.asc
Every good email client is able to send encrypted emails. If yours can't, then you should consider switching to a secure email client, because yours just sucks.
My recommendations are Claws Mail or NeoMutt. For instructions on how to encrypt your emails: https://unixsheikh.com/tutorials/gnupg-tutorial.html
On 2023-04-05 16:34, Ricardo wrote:
Is your old machine 32 or 64 bit architecture? I think recent crux versions only work on 64 bit.
On April 5, 2023 2:58:03 PM GMT+01:00, "lain." <lain@fair.moe> wrote:
Greetings.
I installed Crux on an old ThinkPad by following the handbook religiously. At first I couldn't get it to boot at all, but I already solved that one by marking the main partition as bootable. But now when I boot up, I'm getting the message "Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue.".
When looking up online, I only get results of people being unable to boot either Ubuntu or Arch from USB (which is not the case here), or people who are supposed to install for UEFI but installed for BIOS instead (my laptop is pure BIOS, UEFI on laptops other than MacBooks didn't exist yet at the time this laptop came out).
So how can I fix this?
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
Greetings, While I'm not a syslinux expert I believe .c32 is correct for both 32-bit and 64-bit systems when booted in BIOS mode, though it differs for UEFI mode. In this case I would guess that ldlinux.c32 is not in the right location or not readable for some reason. Do you have it in the same place as syslinux.cfg? Usually that's /boot/syslinux or similar. Have you specifically followed the handbook section here? https://crux.nu/Main/Handbook3-7#ntoc16 - I'm able to install syslinux successfully following these instructions. You did mention you are following the handbook, just making sure. If that doesn't help, give us some details about your syslinux installation, partition layout, etc. Regards, Matt
On 2023年04月05日 19:57, Matt Housh wrote:
On 2023-04-05 16:34, Ricardo wrote:
Is your old machine 32 or 64 bit architecture? I think recent crux versions only work on 64 bit.
On April 5, 2023 2:58:03 PM GMT+01:00, "lain." <lain@fair.moe> wrote:
Greetings.
I installed Crux on an old ThinkPad by following the handbook religiously. At first I couldn't get it to boot at all, but I already solved that one by marking the main partition as bootable. But now when I boot up, I'm getting the message "Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue.".
When looking up online, I only get results of people being unable to boot either Ubuntu or Arch from USB (which is not the case here), or people who are supposed to install for UEFI but installed for BIOS instead (my laptop is pure BIOS, UEFI on laptops other than MacBooks didn't exist yet at the time this laptop came out).
So how can I fix this?
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
Greetings,
While I'm not a syslinux expert I believe .c32 is correct for both 32-bit and 64-bit systems when booted in BIOS mode, though it differs for UEFI mode.
In this case I would guess that ldlinux.c32 is not in the right location or not readable for some reason. Do you have it in the same place as syslinux.cfg? Usually that's /boot/syslinux or similar.
Have you specifically followed the handbook section here? https://crux.nu/Main/Handbook3-7#ntoc16 - I'm able to install syslinux successfully following these instructions. You did mention you are following the handbook, just making sure.
If that doesn't help, give us some details about your syslinux installation, partition layout, etc.
Regards, Matt
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
(My apologies, it's my first time making use of mailing lists.) Yes, syslinux.cfg is in the same folder as ldlinux.c32, which is /boot/syslinux. The only difference is that instead of sda2 I used sda1. sda1 = the entire installation, ext4, has the boot flag sda2 = swap Disk label type = dos -- lain.
On 2023-04-06 08:58, lain. wrote:
Yes, syslinux.cfg is in the same folder as ldlinux.c32, which is /boot/syslinux. The only difference is that instead of sda2 I used sda1.
sda1 = the entire installation, ext4, has the boot flag sda2 = swap Disk label type = dos
For comparison, on a test system here: ---------- # cd /boot/syslinux/ # ls -l total 192 -rw-r--r-- 1 root root 122308 Apr 5 19:34 ldlinux.c32 -r--r--r-- 1 root root 69632 Apr 5 19:34 ldlinux.sys -rw-r--r-- 1 root root 103 Apr 5 23:42 syslinux.cfg # cat syslinux.cfg DEFAULT CRUX PROMPT 1 TIMEOUT 3 LABEL CRUX KERNEL ../vmlinuz-6.1.22 APPEND root=/dev/sda2 ro quiet # history | grep -E 'mbr\.bin|extlinux' 24 extlinux --install /boot/syslinux 28 dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/sda # fdisk -l Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors Disk model: Samsung SSD 850 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x65a03c78 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 4196351 4194304 2G 83 Linux /dev/sda2 * 4196352 500117503 495921152 236.5G 83 Linux ---------- As far as I know the partition order isn't important in this case, only the bootable flag as mentioned. (/dev/sda1 should be of type swap in the above layout but I forgot to change it. Not relevant to syslinux.) Maybe someone else who is more well-versed with syslinux could help more but this simple configuration works for me. Regards, Matt
On 2023年04月07日 01:03, Matt Housh wrote:
On 2023-04-06 08:58, lain. wrote:
Yes, syslinux.cfg is in the same folder as ldlinux.c32, which is /boot/syslinux. The only difference is that instead of sda2 I used sda1.
sda1 = the entire installation, ext4, has the boot flag sda2 = swap Disk label type = dos
For comparison, on a test system here:
---------- # cd /boot/syslinux/ # ls -l total 192 -rw-r--r-- 1 root root 122308 Apr 5 19:34 ldlinux.c32 -r--r--r-- 1 root root 69632 Apr 5 19:34 ldlinux.sys -rw-r--r-- 1 root root 103 Apr 5 23:42 syslinux.cfg
# cat syslinux.cfg DEFAULT CRUX PROMPT 1 TIMEOUT 3
LABEL CRUX KERNEL ../vmlinuz-6.1.22 APPEND root=/dev/sda2 ro quiet
# history | grep -E 'mbr\.bin|extlinux' 24 extlinux --install /boot/syslinux 28 dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/sda
# fdisk -l Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors Disk model: Samsung SSD 850 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x65a03c78
Device Boot Start End Sectors Size Id Type /dev/sda1 2048 4196351 4194304 2G 83 Linux /dev/sda2 * 4196352 500117503 495921152 236.5G 83 Linux ----------
As far as I know the partition order isn't important in this case, only the bootable flag as mentioned. (/dev/sda1 should be of type swap in the above layout but I forgot to change it. Not relevant to syslinux.)
Maybe someone else who is more well-versed with syslinux could help more but this simple configuration works for me.
Regards, Matt
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
In my case, as you know, the boot and swap are swapped (pun unintended), and the swap's type is Linux Swap / Solaris, but I doubt that really matters. Commands (I mean extlinux and dd) and output of the "ls -l" command are identical. In syslinux.cfg the only difference is (of course) the partition (sda1 instead of sda2) which as you already said shouldn't matter, and instead of "ro" it says "rw". Label name was "CRUX-3.7", timeout was 0, and prompt was 0, there's no way it matters, but I set it to match yours anyway. And there's a "SAY" command too which I rewrote from the handbook, although it took me a while to figure out where the special characters are on the US-International keyboard layout. I just hexadrupple checked on possible typoes, but none of what I could find. So the only possible offender could be "rw" instead of "ro", but I don't think that's supposed to matter. So all I can think of is to re-generate the ldlinux.c32 file. Grub seems to be absent from the live environment, so I guess that's out of the question. -- lain.
On 2023-04-06 12:00, lain. wrote:
In my case, as you know, the boot and swap are swapped (pun unintended), and the swap's type is Linux Swap / Solaris, but I doubt that really matters. Commands (I mean extlinux and dd) and output of the "ls -l" command are identical. In syslinux.cfg the only difference is (of course) the partition (sda1 instead of sda2) which as you already said shouldn't matter, and instead of "ro" it says "rw". Label name was "CRUX-3.7", timeout was 0, and prompt was 0, there's no way it matters, but I set it to match yours anyway. And there's a "SAY" command too which I rewrote from the handbook, although it took me a while to figure out where the special characters are on the US-International keyboard layout.
I just hexadrupple checked on possible typoes, but none of what I could find. So the only possible offender could be "rw" instead of "ro", but I don't think that's supposed to matter. So all I can think of is to re-generate the ldlinux.c32 file. Grub seems to be absent from the live environment, so I guess that's out of the question.
Agreed, none of those minor differences should matter at all. Sorry, don't know what else to offer. grub is indeed available on the ISO as "grub2" from the opt collection, if you want to try that. Regards, Matt
Kind regards to all CRUX developers,maintainers, and users. 64bit has to be removed from ext4 features for extlinux-6.03 to work. sudo dumpe2fs /dev/sda1 | grep features extlinux --version If this is the case try this: In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it. Reference: https://wiki.syslinux.org/wiki/index.php?title=Filesystem As of Syslinux 6.03, "pure 64bit", compression and/or encryption are not supported. Quoting part of the release notes of version 1.43 of e2fsprogs (May 17, 2016): Mke2fs will now create file systems with the metadata_csum and 64bit features enabled by default. Users should rather (manually) disable the 64bit feature in the mke2fs command when creating / formatting a boot volume with ext4; otherwise, the bootloader (as of version 6.03) will fail. Notes: For a 4KiB block size, an ext2/3/4 volume size of less than 16TiB when created without the "64bit feature" is supported by Syslinux as of version 6.03. To manually disable the "64bit" feature when creating ext4 volumes, use -O ^64bit in the mke2fs (or equivalent) command. That is, an hyphen, immediately followed by an upper-case letter "O", a space character, the caret "^" symbol, followed by "64bit" (no hyphen). In some cases, a backslash character before the caret might be needed: -O \^64bit In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it. This issue is resolved in pre-release syslinux-6.0.4 with this patch: https://repo.or.cz/syslinux.git/patch/af7e95c32cea40c1e443ae301e64b27f068b49... On Thursday, April 6, 2023, 01:07:31 PM EDT, Matt Housh <jaeger@crux.ninja> wrote: On 2023-04-06 12:00, lain. wrote:
In my case, as you know, the boot and swap are swapped (pun unintended), and the swap's type is Linux Swap / Solaris, but I doubt that really matters. Commands (I mean extlinux and dd) and output of the "ls -l" command are identical. In syslinux.cfg the only difference is (of course) the partition (sda1 instead of sda2) which as you already said shouldn't matter, and instead of "ro" it says "rw". Label name was "CRUX-3.7", timeout was 0, and prompt was 0, there's no way it matters, but I set it to match yours anyway. And there's a "SAY" command too which I rewrote from the handbook, although it took me a while to figure out where the special characters are on the US-International keyboard layout.
I just hexadrupple checked on possible typoes, but none of what I could find. So the only possible offender could be "rw" instead of "ro", but I don't think that's supposed to matter. So all I can think of is to re-generate the ldlinux.c32 file. Grub seems to be absent from the live environment, so I guess that's out of the question.
Agreed, none of those minor differences should matter at all. Sorry, don't know what else to offer. grub is indeed available on the ISO as "grub2" from the opt collection, if you want to try that. Regards, Matt _______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
On 2023-04-06 13:15, Richard Dunbar wrote:
Kind regards to all CRUX developers,maintainers, and users.
64bit has to be removed from ext4 features for extlinux-6.03 to work. sudo dumpe2fs /dev/sda1 | grep features extlinux --version If this is the case try this: In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it.
Reference: https://wiki.syslinux.org/wiki/index.php?title=Filesystem As of Syslinux 6.03, "pure 64bit", compression and/or encryption are not supported. Quoting part of the release notes of version 1.43 of e2fsprogs (May 17, 2016): Mke2fs will now create file systems with the metadata_csum and 64bit features enabled by default. Users should rather (manually) disable the 64bit feature in the mke2fs command when creating / formatting a boot volume with ext4; otherwise, the bootloader (as of version 6.03) will fail.
Notes: For a 4KiB block size, an ext2/3/4 volume size of less than 16TiB when created without the "64bit feature" is supported by Syslinux as of version 6.03. To manually disable the "64bit" feature when creating ext4 volumes, use -O ^64bit in the mke2fs (or equivalent) command. That is, an hyphen, immediately followed by an upper-case letter "O", a space character, the caret "^" symbol, followed by "64bit" (no hyphen). In some cases, a backslash character before the caret might be needed: -O \^64bit In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it.
This issue is resolved in pre-release syslinux-6.0.4 with this patch: https://repo.or.cz/syslinux.git/patch/af7e95c32cea40c1e443ae301e64b27f068b49...
Greetings, I remember seeing some reference to this, but also on the same working test system from which I posted some output: ---------- $ syslinux --version syslinux 6.03 Copyright 1994-2014 H. Peter Anvin et al $ sudo tune2fs -l /dev/sda2 | grep -E 'features|Block size' Filesystem features: has_journal ext_attr resize_inode dir_index orphan_file filetype needs_recovery extent 64bit flex_bg metadata_csum_seed sparse_super large_file huge_file dir_nlink extra_isize metadata_csum orphan_present Block size: 4096 ---------- The '64bit' feature is enabled on this partition/filesystem as reported by both tune2fs and dumpe2fs. Very strange, not sure what to make of that. Regards, Matt
On 2023年04月06日 18:15, Richard Dunbar wrote:
Kind regards to all CRUX developers,maintainers, and users.
64bit has to be removed from ext4 features for extlinux-6.03 to work. sudo dumpe2fs /dev/sda1 | grep features extlinux --version If this is the case try this: In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it.
Reference: https://wiki.syslinux.org/wiki/index.php?title=Filesystem As of Syslinux 6.03, "pure 64bit", compression and/or encryption are not supported. Quoting part of the release notes of version 1.43 of e2fsprogs (May 17, 2016): Mke2fs will now create file systems with the metadata_csum and 64bit features enabled by default. Users should rather (manually) disable the 64bit feature in the mke2fs command when creating / formatting a boot volume with ext4; otherwise, the bootloader (as of version 6.03) will fail.
Notes: For a 4KiB block size, an ext2/3/4 volume size of less than 16TiB when created without the "64bit feature" is supported by Syslinux as of version 6.03. To manually disable the "64bit" feature when creating ext4 volumes, use -O ^64bit in the mke2fs (or equivalent) command. That is, an hyphen, immediately followed by an upper-case letter "O", a space character, the caret "^" symbol, followed by "64bit" (no hyphen). In some cases, a backslash character before the caret might be needed: -O \^64bit In resize2fs, the -s parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it.
This issue is resolved in pre-release syslinux-6.0.4 with this patch: https://repo.or.cz/syslinux.git/patch/af7e95c32cea40c1e443ae301e64b27f068b49...
On Thursday, April 6, 2023, 01:07:31 PM EDT, Matt Housh <jaeger@crux.ninja> wrote:
On 2023-04-06 12:00, lain. wrote:
In my case, as you know, the boot and swap are swapped (pun unintended), and the swap's type is Linux Swap / Solaris, but I doubt that really matters. Commands (I mean extlinux and dd) and output of the "ls -l" command are identical. In syslinux.cfg the only difference is (of course) the partition (sda1 instead of sda2) which as you already said shouldn't matter, and instead of "ro" it says "rw". Label name was "CRUX-3.7", timeout was 0, and prompt was 0, there's no way it matters, but I set it to match yours anyway. And there's a "SAY" command too which I rewrote from the handbook, although it took me a while to figure out where the special characters are on the US-International keyboard layout.
I just hexadrupple checked on possible typoes, but none of what I could find. So the only possible offender could be "rw" instead of "ro", but I don't think that's supposed to matter. So all I can think of is to re-generate the ldlinux.c32 file. Grub seems to be absent from the live environment, so I guess that's out of the question.
Agreed, none of those minor differences should matter at all. Sorry, don't know what else to offer.
grub is indeed available on the ISO as "grub2" from the opt collection, if you want to try that.
Regards, Matt
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
I can confirm this has solved the problem. Now that I got it to finally boot up, I'm very impressed by the boot times, the shortest I've ever seen on any Linux or BSD distro! I'm looking forward to explore CRUX further from here on. -- lain.
On 2023-04-06 19:28, lain. wrote:
I can confirm this has solved the problem. Now that I got it to finally boot up, I'm very impressed by the boot times, the shortest I've ever seen on any Linux or BSD distro! I'm looking forward to explore CRUX further from here on.
Well, glad you got it sorted out, despite the oddness. Regards, Matt
(My apologies, it's my first time making use of mailing lists.) I installed Arch on a different laptop with a similar CPU (released in the same year) just fine, both are Core 2 Duo, so it should be 64 bit. I installed OpenBSD on another laptop that's much older, that one had a 32 bit CPU, and I remember being unable to boot a 64 bit ISO image on that one at all, so if it were a 32 bit CPU, I should have known that. -- lain. On 2023年04月05日 22:34, Ricardo wrote:
Is your old machine 32 or 64 bit architecture? I think recent crux versions only work on 64 bit.
On April 5, 2023 2:58:03 PM GMT+01:00, "lain." <lain@fair.moe> wrote:
Greetings.
I installed Crux on an old ThinkPad by following the handbook religiously. At first I couldn't get it to boot at all, but I already solved that one by marking the main partition as bootable. But now when I boot up, I'm getting the message "Failed to load ldlinux.c32 Boot failed: please change disks and press a key to continue.".
When looking up online, I only get results of people being unable to boot either Ubuntu or Arch from USB (which is not the case here), or people who are supposed to install for UEFI but installed for BIOS instead (my laptop is pure BIOS, UEFI on laptops other than MacBooks didn't exist yet at the time this laptop came out).
So how can I fix this?
-- lain.
Did you know that? 90% of all emails sent on a daily basis are being sent in plain text, and it's super easy to intercept emails as they flow over the internet? Never send passwords, tokens, personal information, or other volunerable information without proper PGP encryption!
If you're writing your emails unencrypted, please consider sending PGP encrypted emails for security reasons. You can find my PGP public key at: https://fair.moe/lain.asc
Every good email client is able to send encrypted emails. If yours can't, then you should consider switching to a secure email client, because yours just sucks.
My recommendations are Claws Mail or NeoMutt. For instructions on how to encrypt your emails: https://unixsheikh.com/tutorials/gnupg-tutorial.html
_______________________________________________ CRUX mailing list CRUX@lists.crux.nu https://lists.crux.nu/mailman/listinfo/crux
-- lain. Did you know that? 90% of all emails sent on a daily basis are being sent in plain text, and it's super easy to intercept emails as they flow over the internet? Never send passwords, tokens, personal information, or other volunerable information without proper PGP encryption! If you're writing your emails unencrypted, please consider sending PGP encrypted emails for security reasons. You can find my PGP public key at: https://fair.moe/lain.asc Every good email client is able to send encrypted emails. If yours can't, then you should consider switching to a secure email client, because yours just sucks. My recommendations are Claws Mail or NeoMutt. For instructions on how to encrypt your emails: https://unixsheikh.com/tutorials/gnupg-tutorial.html
participants (4)
-
lain.
-
Matt Housh
-
Ricardo
-
Richard Dunbar