aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Grégoire Delattre <gregoire.delattre@gmail.com>2018-10-12 00:24:45 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-01-23 16:18:26 +0100
commit6140d6762b6fcb8fa64a0cf06f79bc3e637396de (patch)
treed50b67520c24766c53e3e8464abeaaebf9bc4f9e
parent03c9b123e608cfbd10afe91fe75ef3d22dc1bcf2 (diff)
downloadbuildroot-6140d6762b6fcb8fa64a0cf06f79bc3e637396de.tar.gz
buildroot-6140d6762b6fcb8fa64a0cf06f79bc3e637396de.tar.bz2
board/pc: ensure grub.cfg is copied to target filesystem
Before this commit, the grub configuration file was copied to the TARGET_DIR in a post-image hook, after the filesystem has been generated. It was kinda working because the board/pc's grub configuration and the default one are the same and the later was copied during the build process of the grub2 package. This commit ensures the custom board/pc grub configuration is copied at the right time. Signed-off-by: Grégoire Delattre <gregoire.delattre@gmail.com> Reviewed-by: Matt Weber <matthew.weber@rockwellcollin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 0b28397a9bed339e9aca2acfe51b1f0c68dbee65) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rwxr-xr-xboard/pc/post-build.sh15
-rwxr-xr-xboard/pc/post-image.sh14
-rw-r--r--configs/pc_x86_64_bios_defconfig3
-rw-r--r--configs/pc_x86_64_efi_defconfig3
4 files changed, 19 insertions, 16 deletions
diff --git a/board/pc/post-build.sh b/board/pc/post-build.sh
new file mode 100755
index 0000000000..552d488160
--- /dev/null
+++ b/board/pc/post-build.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+BOARD_DIR=$(dirname "$0")
+
+# Detect boot strategy, EFI or BIOS
+if [ -f "$BINARIES_DIR/efi-part/startup.nsh" ]; then
+ cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
+else
+ cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
+
+ # Copy grub 1st stage to binaries, required for genimage
+ cp -f "$HOST_DIR/lib/grub/i387-pc/boot.img" "$BINARIES_DIR"
+fi
diff --git a/board/pc/post-image.sh b/board/pc/post-image.sh
deleted file mode 100755
index bdd0847ec5..0000000000
--- a/board/pc/post-image.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-BOARD_DIR="$(dirname $0)"
-
-# Detect boot strategy, EFI or BIOS
-if [ -f ${BINARIES_DIR}/efi-part/startup.nsh ]; then
- cp -f ${BOARD_DIR}/grub-efi.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
-else
- cp -f ${BOARD_DIR}/grub-bios.cfg ${TARGET_DIR}/boot/grub/grub.cfg
- # Copy grub 1st stage to binaries, required for genimage
- cp -f ${HOST_DIR}/lib/grub/i386-pc/boot.img ${BINARIES_DIR}
-fi
-
-exit $?
diff --git a/configs/pc_x86_64_bios_defconfig b/configs/pc_x86_64_bios_defconfig
index 47787bc118..6d9432d307 100644
--- a/configs/pc_x86_64_bios_defconfig
+++ b/configs/pc_x86_64_bios_defconfig
@@ -19,7 +19,8 @@ BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh support/scripts/genimage.sh"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg"
# Linux headers same as kernel, a 4.13 series
diff --git a/configs/pc_x86_64_efi_defconfig b/configs/pc_x86_64_efi_defconfig
index 67ba5bcf5b..6a93eacfa3 100644
--- a/configs/pc_x86_64_efi_defconfig
+++ b/configs/pc_x86_64_efi_defconfig
@@ -22,7 +22,8 @@ BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
# BR2_TARGET_ROOTFS_TAR is not set
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh support/scripts/genimage.sh"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-efi.cfg"
# Linux headers same as kernel, a 4.13 series