Discussion:
[Buildroot] Making a Bootable USB Image for x86_64
Jimmy
2016-08-23 03:11:51 UTC
Permalink
Greetings all,

I know this has been asked a lot, but I have been sifting through the
archives and Google in order to find the best way to make a bootable USB
image of my buildroot installation for an x86 based machine. I have done
the following:

1. Generated a tar image of the root filesystem via the configuration menu
2. Selected grub2 from bootloaders with the i386-pc platform
3. Created a 1Gb EXT2FS partition with 1mb of space preceding on the USB
device itself
4. Extracted the rootfs tar to the USB device on the ext2 partition
5. Ran the following from the main buildroot directory (as root):
./output/host/usr/sbin/grub-bios-setup -b
./output/host/usr/lib/grub/i386-pc/boot.img -c ./output/images/grub.img
-d . /dev/sdb

The command immediately exits with a "segmentation fault (Core dumped)".
I can assert the following:
a. grub-bios-setup exists in the directory specified.
b. boot.img exists in the directory specified
c. grub.img exists in the directory specified
d. /dev/sdb exists and is the USB device

Has anyone else ran into this? I'm trying to read up all I can on the
issue but I'm running out of options, and I have a feeling its something
really simple.

Thank you so much!
--
-- Jimmy
Baruch Siach
2016-08-24 14:41:37 UTC
Permalink
Hi Jimmy,
Post by Jimmy
I know this has been asked a lot, but I have been sifting through the
archives and Google in order to find the best way to make a bootable USB
image of my buildroot installation for an x86 based machine.
I have no experience with grub installation on a USB device. I use extlinux
(http://www.syslinux.org/wiki/index.php?title=EXTLINUX) for that. You may use
a minimal extlinux.conf file like

DEFAULT linux
LABEL linux
KERNEL /bzImage
APPEND root=/dev/sdb2

You need to know your rootfs device node in advanced for this to work.
Otherwise you may use "root=UUID=98f012537-7a7c-2213-819e-a69ddf9abc2b"
instead, where the UUID comes from the 'blkid' command output.

Hope this helps,
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- ***@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
Jérôme Pouiller
2016-08-24 15:35:06 UTC
Permalink
Hello Jimmy,
Post by Jimmy
Greetings all,
I know this has been asked a lot, but I have been sifting through the
archives and Google in order to find the best way to make a bootable
USB image of my buildroot installation for an x86 based machine. I
1. Generated a tar image of the root filesystem via the configuration
menu 2. Selected grub2 from bootloaders with the i386-pc platform 3.
Created a 1Gb EXT2FS partition with 1mb of space preceding on the USB
device itself
4. Extracted the rootfs tar to the USB device on the ext2 partition
./output/host/usr/sbin/grub-bios-setup -b
./output/host/usr/lib/grub/i386-pc/boot.img -c
./output/images/grub.img -d . /dev/sdb
The command immediately exits with a "segmentation fault (Core
dumped)".
hmm... it looks like a snaky x86/x86_64 cross-compilation problem.

Help of grub2 (boot/grub2/Config.in) package provide an alternative way
to create bootable disk images with grub2. It use genimage instead of
grub-bios-setup. Let me know if it help.

BR,
--
Jérôme Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
Jimmy at 86Pixels
2016-08-25 12:25:30 UTC
Permalink
Post by Jérôme Pouiller
Hello Jimmy,
Post by Jimmy
Greetings all,
I know this has been asked a lot, but I have been sifting through the
archives and Google in order to find the best way to make a bootable
USB image of my buildroot installation for an x86 based machine. I
1. Generated a tar image of the root filesystem via the configuration
menu 2. Selected grub2 from bootloaders with the i386-pc platform 3.
Created a 1Gb EXT2FS partition with 1mb of space preceding on the USB
device itself
4. Extracted the rootfs tar to the USB device on the ext2 partition
./output/host/usr/sbin/grub-bios-setup -b
./output/host/usr/lib/grub/i386-pc/boot.img -c
./output/images/grub.img -d . /dev/sdb
The command immediately exits with a "segmentation fault (Core dumped)".
hmm... it looks like a snaky x86/x86_64 cross-compilation problem.
Help of grub2 (boot/grub2/Config.in) package provide an alternative way
to create bootable disk images with grub2. It use genimage instead of
grub-bios-setup. Let me know if it help.
BR,
--
Jérôme Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
_______________________________________________
buildroot mailing list
http://lists.busybox.net/mailman/listinfo/buildroot
Thank you both for the advice! I eventually solved this problem by
pulling the latest master branch to include Erico Nunes' kernel EFI
patch which solved the issue!

Thank you all so much again.
Jimmy

Loading...