1

I installed extlinux on my USB drive as so:

sudo extlinux -i /mnt/boot

and then

sudo cat /usr/lib/syslinux/bios/mbr.bin > /dev/sdb

where /dev/sdb1 is mounted to /mnt.

However, when I try to boot it up (using qemu), such as so:

sudo qemu-system-x86_64 -drive file=/dev/sdb,format=raw,index=0,media=disk -boot c

It says "Missing operating system" and doesn't do anything else.

As for my config, I have a simple:

DEFAULT linux
LABEL linux
 SAY Now booting the kernel from SYSLINUX...
 KERNEL bzImage
 APPEND ro root=/dev/sda1

And the directory structure is like so

/mnt
└── boot
    ├── bzImage
    ├── extlinux
    │   ├── extlinux.cfg
    │   ├── extlinux.conf
    │   ├── syslinux.cfg
    │   └── syslinux.conf
    ├── extlinux.cfg
    ├── extlinux.conf
    ├── ldlinux.c32
    ├── ldlinux.sys
    ├── syslinux.cfg
    └── syslinux.conf

I tried creating the config file everywhere, just in case, but it doesn't seem to change anything.

How could I approach this issue?

2
  • Is the boot flag set for the partition? syslinux requires that. Commented May 2 at 17:25
  • Indeed it is, I checked using fdisk Commented May 2 at 17:27

1 Answer 1

0

The solution was suprisingly simple, I had to convert the partition table from gpt -> mbr, and now it boots perfectly.

1
  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. Commented May 3 at 11:40

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.