summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/grub-bin/Makefile33
-rw-r--r--package/grub/Makefile26
-rw-r--r--package/grub/files/core.img.i386-pcbin0 -> 25564 bytes
-rw-r--r--target/x86/Makefile4
-rw-r--r--target/x86/sys-available/generic-pc1
-rw-r--r--target/x86/sys-available/ibm-x402
-rw-r--r--target/x86_64/Makefile11
7 files changed, 34 insertions, 43 deletions
diff --git a/package/grub-bin/Makefile b/package/grub-bin/Makefile
deleted file mode 100644
index 352c2b572..000000000
--- a/package/grub-bin/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-include ${TOPDIR}/rules.mk
-
-# compiled with i486 toolchain, statically linked with uClibc
-# cross-compiling is difficult, so provide a binary package
-PKG_NAME:= grub-bin
-PKG_VERSION:= 1.98
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 50dbe739776f904c318be05faf1d7ce5
-PKG_DESCR:= GRUB2 bootloader (binary package)
-PKG_SECTION:= boot
-PKG_SITES:= http://openadk.org/distfiles/
-PKG_URL:= http://www.gnu.org/software/grub
-
-PKG_ARCH_DEPENDS:= x86 x86_64
-
-PKG_CFLINE_GRUB_BIN:= select BUSYBOX_FEATURE_STAT_FORMAT@
-PKG_CFLINE_GRUB_BIN+= depends on !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS
-
-include ${TOPDIR}/mk/package.mk
-
-$(eval $(call PKG_template,GRUB_BIN,grub-bin,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-
-CONFIG_STYLE:= manual
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
-
-do-install:
- ${CP} ${WRKBUILD}/* ${IDIR_GRUB_BIN}/
-
-include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/grub/Makefile b/package/grub/Makefile
index 2f2deba4a..e52980ce4 100644
--- a/package/grub/Makefile
+++ b/package/grub/Makefile
@@ -5,9 +5,9 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= grub
PKG_VERSION:= 2.00
-PKG_RELEASE:= 4
+PKG_RELEASE:= 5
PKG_MD5SUM:= e927540b6eda8b024fb0391eeaa4091c
-PKG_DESCR:= GRUB2 bootloader (source package)
+PKG_DESCR:= GRUB2 bootloader
PKG_SECTION:= boot
PKG_BUILDDEP:= bison-host qemu-host
PKG_URL:= http://www.gnu.org/software/grub
@@ -16,6 +16,8 @@ PKG_SITES:= ftp://ftp.gnu.org/gnu/grub/
PKG_ARCH_DEPENDS:= x86 x86_64 mips
PKG_NOPARALLEL:= 1
+PKG_SUBPKGS:= GRUB GRUB_TOOLS
+
PKG_CHOICES_GRUB:= PC EFI
PKGCD_PC:= build for PC BIOS
PKGCD_EFI:= build for EFI
@@ -23,7 +25,10 @@ PKGCD_EFI:= build for EFI
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GRUB,grub,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,GRUB_TOOLS,grub-tools,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+# core.img is generated via
+# grub-mkimage -O ${GRUB_ARCH} -o core.img -c embed.cfg ${GRUB_MODULES}
GRUB_MODULES:= ext2 part_msdos biosdisk
ifeq ($(ADK_PACKAGE_GRUB_PC),y)
@@ -35,11 +40,8 @@ GRUB_ARCH:= x86_64-efi
CONFIGURE_ARGS+= --with-platform=efi
endif
-TARGET_CFLAGS+= -static
-TARGET_LDFLAGS+= -static
CONFIGURE_ARGS+= --disable-grub-mkfont \
--enable-efiemu=no \
- --enable-liblzma=no \
--enable-device-mapper=no \
--enable-libzfs=no \
--disable-werror
@@ -49,8 +51,16 @@ grub-install:
${INSTALL_DIR} $(IDIR_GRUB)/boot/grub/${GRUB_ARCH}
${CP} ${WRKINST}/usr/lib/grub/${GRUB_ARCH}/*{mod,lst,img} \
$(IDIR_GRUB)/boot/grub/${GRUB_ARCH}/
- PATH='${HOST_PATH}' qemu-i386 ${WRKBUILD}/grub-mkimage \
- -o $(IDIR_GRUB)/boot/grub/core.img -O ${GRUB_ARCH} \
- -c ./files/embed.cfg ${GRUB_MODULES}
+ ${CP} ./files/core.img.${GRUB_ARCH} \
+ $(IDIR_GRUB)/boot/grub/core.img
+
+grub-tools-install:
+ ${INSTALL_DIR} $(IDIR_GRUB_TOOLS)/usr/{sbin,bin}
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/grub-install \
+ $(IDIR_GRUB_TOOLS)/usr/sbin
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/grub-bios-setup \
+ $(IDIR_GRUB_TOOLS)/usr/sbin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/grub-mkimage \
+ $(IDIR_GRUB_TOOLS)/usr/bin
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/grub/files/core.img.i386-pc b/package/grub/files/core.img.i386-pc
new file mode 100644
index 000000000..bd6fbac6f
--- /dev/null
+++ b/package/grub/files/core.img.i386-pc
Binary files differ
diff --git a/target/x86/Makefile b/target/x86/Makefile
index 27920819f..736f1c359 100644
--- a/target/x86/Makefile
+++ b/target/x86/Makefile
@@ -9,7 +9,11 @@ include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y)
+ifeq ($(ADK_TARGET_QEMU_WITHOUT_GRAPHIC),y)
+CREATE:=./scripts/create.sh -g -t
+else
CREATE:=./scripts/create.sh -g
+endif
else
CREATE:=./scripts/create.sh
endif
diff --git a/target/x86/sys-available/generic-pc b/target/x86/sys-available/generic-pc
index 76d228936..72ae99765 100644
--- a/target/x86/sys-available/generic-pc
+++ b/target/x86/sys-available/generic-pc
@@ -4,6 +4,7 @@ config ADK_TARGET_SYSTEM_GENERIC_PC
select ADK_generic_pc
select ADK_CPU_I486
select ADK_TARGET_KERNEL_BZIMAGE
+ select ADK_PACKAGE_GRUB
help
Support for generic PC (i486).
diff --git a/target/x86/sys-available/ibm-x40 b/target/x86/sys-available/ibm-x40
index 80c5bf531..df11b1f3f 100644
--- a/target/x86/sys-available/ibm-x40
+++ b/target/x86/sys-available/ibm-x40
@@ -21,6 +21,6 @@ config ADK_TARGET_SYSTEM_IBM_X40
select ADK_TARGET_WITH_PP
select ADK_TARGET_WITH_ROOT_RW
select ADK_TARGET_KERNEL_BZIMAGE
- select ADK_PACKAGE_GRUB_BIN
+ select ADK_PACKAGE_GRUB
help
System profile for IBM X40 laptop.
diff --git a/target/x86_64/Makefile b/target/x86_64/Makefile
index c94c3a1a6..8d546a34b 100644
--- a/target/x86_64/Makefile
+++ b/target/x86_64/Makefile
@@ -8,6 +8,11 @@ include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
+ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y)
+CREATE:=./scripts/create.sh -g
+else
+CREATE:=./scripts/create.sh
+endif
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@@ -15,11 +20,15 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
ifeq ($(ADK_TARGET_SYSTEM_QEMU_X86_64),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "$(CREATE) qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
+ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y)
+ @echo 'qemu-system-x86_64 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 qemu-${CPU_ARCH}.img'
+else
@echo 'qemu-system-x86_64 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
endif
+endif
ifeq ($(ADK_TARGET_FS),initramfsarchive)
imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)