- clean up menu.lst template - make grub usage of vt0 selectable in menuconfig - choose appropriate default baudrate for soekris devices - fix generation of grub menu for iso images

SVN-Revision: 19681
This commit is contained in:
Jo-Philipp Wich 2010-02-17 00:59:41 +00:00
parent 0499a77159
commit 9ce3d38331
3 changed files with 41 additions and 14 deletions

View file

@ -2,14 +2,21 @@ config X86_GRUB_IMAGES
bool "Build GRUB images (Linux x86 or x86_64 host only)" bool "Build GRUB images (Linux x86 or x86_64 host only)"
depends TARGET_x86 && !TARGET_x86_olpc depends TARGET_x86 && !TARGET_x86_olpc
depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS || TARGET_ROOTFS_ISO depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS || TARGET_ROOTFS_ISO
select PACKAGE_grub select PACKAGE_grub
default y default y
config X86_GRUB_IMAGES_PAD config X86_GRUB_IMAGES_PAD
bool "Pad GRUB images to filesystem size (for JFFS2)" bool "Pad GRUB images to filesystem size (for JFFS2)"
depends X86_GRUB_IMAGES depends X86_GRUB_IMAGES
config X86_GRUB_CONSOLE config X86_GRUB_CONSOLE
bool
depends X86_GRUB_IMAGES
prompt "Use Console Terminal (in addition to Serial)"
default n if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx
default y if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx)
config X86_GRUB_SERIAL
string string
prompt "Serial port device" prompt "Serial port device"
depends X86_GRUB_IMAGES depends X86_GRUB_IMAGES
@ -19,7 +26,8 @@ config X86_GRUB_CONSOLE
config X86_GRUB_BAUDRATE config X86_GRUB_BAUDRATE
int "Serial port baud rate" int "Serial port baud rate"
depends X86_GRUB_IMAGES depends X86_GRUB_IMAGES
default 38400 default 19200 if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx
default 38400 if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx)
config X86_GRUB_KERNELPART config X86_GRUB_KERNELPART
int "Kernel partition size (in MB)" int "Kernel partition size (in MB)"

View file

@ -20,7 +20,25 @@ ROOTPART=$(strip $(subst ",, $(CONFIG_OLPC_BOOTSCRIPT_ROOTPART)))
endif endif
#"))")) # fix vim's broken syntax highlighting #"))")) # fix vim's broken syntax highlighting
CONSOLE=$(strip $(subst ",, $(CONFIG_X86_GRUB_CONSOLE))) GRUB_TERMINALS =
GRUB_SERIAL_CONFIG =
GRUB_TERMINAL_CONFIG =
GRUB_CONSOLE_CMDLINE =
ifeq ($(CONFIG_X86_GRUB_CONSOLE),y)
GRUB_CONSOLE_CMDLINE += console=tty0
GRUB_TERMINALS += console
endif
ifneq ($(CONFIG_X86_GRUB_SERIAL),)
GRUB_CONSOLE_CMDLINE += console=$(strip $(subst ",, $(CONFIG_X86_GRUB_SERIAL))),$(CONFIG_X86_GRUB_BAUDRATE)n8
GRUB_SERIAL_CONFIG = serial --unit=0 --speed=$(CONFIG_X86_GRUB_BAUDRATE) --word=8 --parity=no --stop=1
GRUB_TERMINALS += serial
endif
ifneq ($(GRUB_TERMINALS),)
GRUB_TERMINAL_CONFIG = terminal --timeout=2 $(GRUB_TERMINALS)
endif
ifeq ($(CONFIG_X86_GRUB_IMAGES),y) ifeq ($(CONFIG_X86_GRUB_IMAGES),y)
@ -49,9 +67,9 @@ ifneq ($(HOST_OS),Darwin)
$(KDIR)/root.grub/boot/grub/ $(KDIR)/root.grub/boot/grub/
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
sed \ sed \
-e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
-e 's#@CONSOLE@#$(CONSOLE)#g' \ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
-e 's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \ -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_x86.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_x86.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1)
$(call Image/Build/grub/$(1)) $(call Image/Build/grub/$(1))
@ -141,8 +159,9 @@ define Image/Build/iso
$(STAGING_DIR_HOST)/usr/lib/grub/i386-openwrt/stage2_eltorito \ $(STAGING_DIR_HOST)/usr/lib/grub/i386-openwrt/stage2_eltorito \
$(KDIR)/root.grub/boot/grub/stage2_eltorito $(KDIR)/root.grub/boot/grub/stage2_eltorito
sed \ sed \
-e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
-e 's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
-e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
-e 's#(hd0,0)#(cd)#g' \ -e 's#(hd0,0)#(cd)#g' \
./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz

View file

@ -1,15 +1,15 @@
serial --unit=0 --speed=@BAUDRATE@ --word=8 --parity=no --stop=1 @SERIAL_CONFIG@
terminal --timeout=2 console serial @TERMINAL_CONFIG@
default 0 default 0
timeout 5 timeout 5
title OpenWrt title OpenWrt
root (hd0,0) root (hd0,0)
kernel /boot/vmlinuz @CMDLINE@ noinitrd console=tty0 console=@CONSOLE@,@BAUDRATE@n8 reboot=bios kernel /boot/vmlinuz @CMDLINE@ noinitrd reboot=bios
boot boot
title OpenWrt (failsafe) title OpenWrt (failsafe)
root (hd0,0) root (hd0,0)
kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd console=tty0 console=@CONSOLE@,@BAUDRATE@n8 reboot=bios kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd reboot=bios
boot boot