[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to build and support GRUB for Beaglebone Black?

From: Andrei Borzenkov
Subject: Re: How to build and support GRUB for Beaglebone Black?
Date: Fri, 9 Oct 2015 20:46:19 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

09.10.2015 09:04, coadde пишет:
Andrei Borzenkov:
How do you start GRUB in the first place? On U-Boot platforms GRUB
cannot be run without U-Boot at all (it relies on U-Boot API for
disk/net IO), so the simplest way to get back to U-Boot is to exit GRUB :)

Otherwise please explain in more details how you build and start GRUB on
this platform.

I built grub under this configuration (GRUB for U-Boot platforms):


        ./configure \
                --with-platform="uboot" \
                --target="arm" \

OK so you have arm-uboot target. This target requires U-Boot; i.e. U-Boot starts GRUB. Let's say you are now in GRUB CLI.

Unfortunately I still fail to understand what you are want to achieve. Do you want to get back to U-Boot? Do you try to load and jump to completely new U-Boot binary? In the latter case what is the reason for it (if you needed U-Boot you could just not load GRUB).

                --disable-efiemu \
                --enable-mm-debug \
                --enable-nls \
                --enable-device-mapper \
                --enable-cache-stats \
                --enable-boot-time \
                --enable-grub-mkfont \
                --enable-grub-mount \
                --prefix="/usr" \
                --bindir="/usr/bin" \
                --sbindir="/usr/bin" \
                --mandir="/usr/share/man" \
                --infodir="/usr/share/info" \
                --datarootdir="/usr/share" \
                --sysconfdir="/etc" \
                --program-prefix="" \
                --with-bootdir="/boot" \
                --with-grubdir="grub" \
                --disable-silent-rules \


Those configurations comes from our grub's PKGBUILD [0] and our patch to
detect device tree folder [1]. Those files were created to build grub
for Parabola.

BTW, i created 2 U-Boot packages, the first one called
uboot-beaglebone-linux-libre to start up U-Boot without GRUB for our
linux-libre package. Here are the PKGBUILD [2] and a custom patch with
our custom modifications [3] based on uboot-beaglebone from Arch ARM
[4][5]. It was tested and works well in Parabola, also we put a
announcement [6] about it.

Note: we put linux-libre as suffix in our uboot-beaglebone package for
each specific kernel available in Parabola (eg.
uboot-beaglebone-linux-libre-lts for linux-libre-lts) because our kernel
images use custom names (eg. vmlinuz-linux-libre-grsec) in comparison to
Arch ARM (eg zImage for all kernels) to allow for 2 or more kernels in
the same system once we add GRUB compatibility for the future.

The second one is called uboot-grub-beaglebone, this uboot package was
created to start GRUB in ARMv7, it was based on
uboot-beaglebone-linux-libre. Here are our PKGBUILD [7] and patch [8]
for this package.

Otherwise, we've created a install file to install GRUB automatically
after installing [9], it was based on uboot-beaglebone-linux-libre too [10]


Help-grub mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]