Browse Source

fix boot with grub2 source package

Waldemar Brodkorb 10 years ago
parent
commit
277e6a5f99
4 changed files with 16 additions and 22 deletions
  1. 11 11
      package/grub/Makefile
  2. BIN
      package/grub/files/core.img.i386-pc
  3. 1 7
      scripts/create.sh
  4. 4 4
      target/config/Config.in

+ 11 - 11
package/grub/Makefile

@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		grub
 PKG_VERSION:=		2.00
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		e927540b6eda8b024fb0391eeaa4091c
 PKG_DESCR:=		GRUB2 bootloader (source package)
 PKG_SECTION:=		boot
-PKG_BUILDDEP:=		bison-host
+PKG_BUILDDEP:=		bison-host qemu-host
 PKG_URL:=		http://www.gnu.org/software/grub
 PKG_SITES:=		ftp://ftp.gnu.org/gnu/grub/
 
@@ -38,19 +38,19 @@ TARGET_CFLAGS+=         -static
 TARGET_LDFLAGS+=        -static
 endif
 
-CONFIGURE_ARGS+=	--disable-grub-mkfont
+CONFIGURE_ARGS+=	--disable-grub-mkfont \
+			--enable-efiemu=no \
+			--enable-liblzma=no \
+			--enable-device-mapper=no \
+			--enable-libzfs=no \
+			--disable-werror
 XAKE_FLAGS+=		GCC_HONOUR_COPTS=s
 
 grub-install:
-	${INSTALL_DIR} $(IDIR_GRUB)/usr/{sbin,bin}
-	${INSTALL_DIR} $(IDIR_GRUB)/usr/lib/grub/${GRUB_ARCH}/
-	${INSTALL_DIR} $(IDIR_GRUB)/etc
-	${CP} ${WRKINST}/etc/grub.d $(IDIR_GRUB)/etc
+	${INSTALL_DIR} $(IDIR_GRUB)/boot/grub/${GRUB_ARCH}
 	${CP} ${WRKINST}/usr/lib/grub/${GRUB_ARCH}/*{mod,lst,img} \
-		$(IDIR_GRUB)/usr/lib/grub/${GRUB_ARCH}/
-	${INSTALL_BIN} ${WRKINST}/usr/bin/* $(IDIR_GRUB)/usr/bin
-	${INSTALL_BIN} ${WRKINST}/usr/sbin/* $(IDIR_GRUB)/usr/sbin
+		$(IDIR_GRUB)/boot/grub/${GRUB_ARCH}/
 	${CP} ./files/core.img.${GRUB_ARCH} \
-		$(IDIR_GRUB)/usr/lib/grub/core.img
+		$(IDIR_GRUB)/boot/grub/core.img
 
 include ${TOPDIR}/mk/pkg-bottom.mk

BIN
package/grub/files/core.img.i386-pc


+ 1 - 7
scripts/create.sh

@@ -152,7 +152,7 @@ else
 fi
 
 if (( usegrub )); then
-	tar -xOzf "$src" usr/lib/grub/core.img >"$T/core.img"
+	tar -xOzf "$src" boot/grub/core.img >"$T/core.img"
 	integer coreimgsz=$($statcmd "$T/core.img")
 	if (( coreimgsz < 1024 )); then
 		print -u2 core.img is probably too small: $coreimgsz
@@ -273,12 +273,6 @@ if (( usegrub )); then
 		print "\tlinux /boot/kernel $linuxargs"
 		print '}'
 	) >boot/grub/grub.cfg
-	set -A grubfiles
-	ngrubfiles=0
-	for a in usr/lib/grub/*-pc/{*.mod,*.lst}; do
-		[[ -e $a ]] && grubfiles[ngrubfiles++]=$a
-	done
-	cp "${grubfiles[@]}" boot/grub/
 fi
 
 print "Creating ext2fs filesystem image..."

+ 4 - 4
target/config/Config.in

@@ -305,15 +305,15 @@ config ADK_TARGET_QEMU_WITH_GRAPHIC
 	select ADK_KERNEL_FONT_8x16
 	select ADK_KERNEL_FB
 	select ADK_KERNEL_FRAMEBUFFER_CONSOLE
-	select ADK_KERNEL_FB_SM501 if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
-	select ADK_KERNEL_FB_CIRRUS if ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+	select ADK_KERNEL_FB_SM501 if ADK_LINUX_SH
+	select ADK_KERNEL_FB_CIRRUS if ADK_LINUX_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
 	select ADK_KERNEL_FB_PXA if ADK_TARGET_QEMU_ARM_MODEL_SPITZ
 	select ADK_KERNEL_INPUT
 	select ADK_KERNEL_INPUT_KEYBOARD
-	select ADK_KERNEL_KEYBOARD_ATKBD if ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+	select ADK_KERNEL_KEYBOARD_ATKBD if ADK_LINUX_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
 	select ADK_KERNEL_INPUT_MOUSE
 	select ADK_KERNEL_INPUT_MOUSEDEV
-	select ADK_KERNEL_USB_HID if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
+	select ADK_KERNEL_USB_HID if ADK_LINUX_SH
 
 endchoice