summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/x86/image/Config.in15
-rw-r--r--target/linux/x86/image/Makefile13
-rw-r--r--target/linux/x86/image/menu.lst4
3 files changed, 24 insertions, 8 deletions
diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in
index e5a82da791..d52ae0c070 100644
--- a/target/linux/x86/image/Config.in
+++ b/target/linux/x86/image/Config.in
@@ -9,6 +9,13 @@ config X86_GRUB_IMAGES_PAD
bool "Pad GRUB images to filesystem size (for JFFS2)"
depends X86_GRUB_IMAGES
+config X86_GRUB_CONSOLE
+ string
+ prompt "Serial port device"
+ depends X86_GRUB_IMAGES
+ default "hvc0" if TARGET_x86_xen_domu
+ default "ttyS0" if ! TARGET_x86_xen_domu
+
config X86_GRUB_BAUDRATE
int "Serial port baud rate"
depends X86_GRUB_IMAGES
@@ -22,15 +29,17 @@ config X86_GRUB_KERNELPART
config X86_GRUB_ROOTPART
string
prompt "Root partition on target device" if X86_GRUB_IMAGES
- default "/dev/sda2"
+ default "/dev/xvda2" if TARGET_x86_xen_domu
+ default "/dev/sda2" if ! TARGET_x86_xen_domu
help
The root partition on the final device. If you don't know,
- you probably want the default (/dev/hda2).
+ you probably want the default (/dev/sda2).
config X86_GRUB_BOOTOPTS
string
prompt "Extra kernel boot options" if X86_GRUB_IMAGES
- default ""
+ default "xencons=hvc" if TARGET_x86_xen_domu
+ default "" if ! TARGET_x86_xen_domu
help
If you don't know, just leave it blank.
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index 51490fa791..13712cf0ea 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -20,6 +20,9 @@ ROOTPART=$(strip $(subst ",, $(CONFIG_OLPC_BOOTSCRIPT_ROOTPART)))
endif
#"))")) # fix vim's broken syntax highlighting
+CONSOLE=$(strip $(subst ",, $(CONFIG_X86_GRUB_CONSOLE)))
+
+
ifeq ($(CONFIG_X86_GRUB_IMAGES),y)
ifneq ($(HOST_OS),Darwin)
define Image/cmdline/squashfs
@@ -47,6 +50,7 @@ ifneq ($(HOST_OS),Darwin)
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
sed \
-e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \
+ -e 's#@CONSOLE@#$(CONSOLE)#g' \
-e 's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \
./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)
@@ -153,13 +157,16 @@ endef
define Image/Build
$(call Image/Build/$(1))
$(call Image/Build/bootscript,$(1))
-ifneq ($(1),iso)
+ ifneq ($(1),iso)
$(call Image/Build/grub,$(1))
$(call Image/Build/vdi,$(1))
$(call Image/Build/vmdk,$(1))
-endif
+ endif
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(1).fs
$(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-vmlinuz
+ ifeq ($(1),ext2)
+ gzip -f9 $(BIN_DIR)/openwrt-$(BOARD)-$(1).image
+ endif
endef
$(eval $(call BuildImage))
diff --git a/target/linux/x86/image/menu.lst b/target/linux/x86/image/menu.lst
index cb306cc443..e09177c96e 100644
--- a/target/linux/x86/image/menu.lst
+++ b/target/linux/x86/image/menu.lst
@@ -6,10 +6,10 @@ timeout 5
title OpenWrt
root (hd0,0)
-kernel /boot/vmlinuz @CMDLINE@ noinitrd console=tty0 console=ttyS0,@BAUDRATE@n8 reboot=bios
+kernel /boot/vmlinuz @CMDLINE@ noinitrd console=tty0 console=@CONSOLE@,@BAUDRATE@n8 reboot=bios
boot
title OpenWrt (failsafe)
root (hd0,0)
-kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd console=tty0 console=ttyS0,@BAUDRATE@n8 reboot=bios
+kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd console=tty0 console=@CONSOLE@,@BAUDRATE@n8 reboot=bios
boot