diff options
Diffstat (limited to 'target/linux/olpc/image')
-rw-r--r-- | target/linux/olpc/image/Config.in | 30 | ||||
-rw-r--r-- | target/linux/olpc/image/Makefile | 38 | ||||
-rwxr-xr-x | target/linux/olpc/image/gen_image.sh | 12 | ||||
-rw-r--r-- | target/linux/olpc/image/menu.lst | 15 | ||||
-rw-r--r-- | target/linux/olpc/image/olpc.fth | 4 |
5 files changed, 21 insertions, 78 deletions
diff --git a/target/linux/olpc/image/Config.in b/target/linux/olpc/image/Config.in index 6252ae6..295f916 100644 --- a/target/linux/olpc/image/Config.in +++ b/target/linux/olpc/image/Config.in @@ -1,35 +1,23 @@ -config OLPC_GRUB_IMAGES - bool "Build GRUB images" +config OLPC_BOOTSCRIPT_IMAGES + bool "Build images with bootscript" depends TARGET_olpc depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS || TARGET_ROOTFS_ISO - select PACKAGE_grub default y -config OLPC_GRUB_IMAGES_PAD - bool "Pad GRUB images to filesystem size (for JFFS2)" - depends OLPC_GRUB_IMAGES +config OLPC_BOOTSCRIPT_IMAGES_PAD + bool "Pad bootscript images to filesystem size (for JFFS2)" + depends OLPC_BOOTSCRIPT_IMAGES -config OLPC_GRUB_BAUDRATE - int "Serial port baud rate" - depends OLPC_GRUB_IMAGES - default 38400 - -config OLPC_GRUB_KERNELPART +config OLPC_BOOTSCRIPT_KERNELPART int "Kernel partition size (in MB)" - depends OLPC_GRUB_IMAGES + depends OLPC_BOOTSCRIPT_IMAGES default 4 -config OLPC_GRUB_ROOTPART +config OLPC_BOOTSCRIPT_ROOTPART string - prompt "Root partition on target device" if OLPC_GRUB_IMAGES + prompt "Root partition on target device" if OLPC_BOOTSCRIPT_IMAGES default "/dev/hda2" help The root partition on the final device. If you don't know, you probably want the default (/dev/hda2). -config OLPC_GRUB_BOOTOPTS - string - prompt "Extra kernel boot options" if OLPC_GRUB_IMAGES - default "" - help - If you don't know, just leave it blank. diff --git a/target/linux/olpc/image/Makefile b/target/linux/olpc/image/Makefile index b6d9504..b433ac4 100644 --- a/target/linux/olpc/image/Makefile +++ b/target/linux/olpc/image/Makefile @@ -8,12 +8,11 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk export PATH=$(TARGET_PATH):/sbin -BOOTOPTS=$(strip $(subst ",, $(CONFIG_OLPC_GRUB_BOOTOPTS))) -ROOTPART=$(strip $(subst ",, $(CONFIG_OLPC_GRUB_ROOTPART))) +ROOTPART=$(strip $(subst ",, $(CONFIG_OLPC_BOOTSCRIPT_ROOTPART))) #"))")) # fix vim's broken syntax highlighting -ifeq ($(CONFIG_OLPC_GRUB_IMAGES),y) +ifeq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),y) define Image/cmdline/squashfs block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit endef @@ -30,37 +29,18 @@ ifeq ($(CONFIG_OLPC_GRUB_IMAGES),y) root=$(ROOTPART) rootfstype=ext2 init=/etc/preinit endef - define Image/Build/grub + define Image/Build/bootscript # left here because the image builder doesnt need these - $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub - $(CP) \ - $(KDIR)/*stage* \ - $(KDIR)/root.grub/boot/grub/ - $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz - $(CP) ./olpc.fth $(KDIR)/root.grub/boot/olpc.fth - sed \ - -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \ - -e 's#@BAUDRATE@#$(CONFIG_OLPC_GRUB_BAUDRATE)#g' \ - ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst - PADDING="$(CONFIG_OLPC_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_OLPC_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) - $(call Image/Build/grub/$(1)) - endef -endif - -ifeq ($(CONFIG_OLPC_GRUB_IMAGES),y) - define Image/Prepare/grub - # for the image builder - $(CP) \ - $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage1 \ - $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage2 \ - $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/e2fs_stage1_5 \ - $(KDIR)/ + $(INSTALL_DIR) $(KDIR)/root.bootscript/boot + $(CP) $(KDIR)/bzImage $(KDIR)/root.bootscript/boot/vmlinuz + $(CP) ./olpc.fth $(KDIR)/root.bootscript/boot/olpc.fth + PADDING="$(CONFIG_OLPC_BOOTSCRIPT_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(1).image $(CONFIG_OLPC_BOOTSCRIPT_KERNELPART) $(KDIR)/root.bootscript $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) endef endif define Image/Prepare $(CP) $(LINUX_DIR)/arch/i386/boot/bzImage $(KDIR)/bzImage - $(call Image/Prepare/grub) + $(call Image/Prepare/bootscript) endef define Image/Build/squashfs @@ -73,7 +53,7 @@ endef define Image/Build $(call Image/Build/$(1)) - $(call Image/Build/grub,$(1)) + $(call Image/Build/bootscript,$(1)) $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(1).fs $(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-vmlinuz endef diff --git a/target/linux/olpc/image/gen_image.sh b/target/linux/olpc/image/gen_image.sh index d48e372..4fd6e37 100755 --- a/target/linux/olpc/image/gen_image.sh +++ b/target/linux/olpc/image/gen_image.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006 - 2007 OpenWrt.org set -x [ $# == 5 ] || { echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image>" @@ -33,13 +33,3 @@ dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc [ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE" dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc #rm -f "$OUTPUT.kernel" - -which chpax >/dev/null && chpax -zp $(which grub) -grub --batch --no-curses --no-floppy --device-map=/dev/null <<EOF -device (hd0) $OUTPUT -geometry (hd0) $cyl $head $sect -root (hd0,0) -setup (hd0) -quit -EOF - diff --git a/target/linux/olpc/image/menu.lst b/target/linux/olpc/image/menu.lst deleted file mode 100644 index cb306cc..0000000 --- a/target/linux/olpc/image/menu.lst +++ /dev/null @@ -1,15 +0,0 @@ -serial --unit=0 --speed=@BAUDRATE@ --word=8 --parity=no --stop=1 -terminal --timeout=2 console serial - -default 0 -timeout 5 - -title OpenWrt -root (hd0,0) -kernel /boot/vmlinuz @CMDLINE@ noinitrd console=tty0 console=ttyS0,@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 -boot diff --git a/target/linux/olpc/image/olpc.fth b/target/linux/olpc/image/olpc.fth index 02c9c2e..048ab88 100644 --- a/target/linux/olpc/image/olpc.fth +++ b/target/linux/olpc/image/olpc.fth @@ -1,4 +1,4 @@ \ Boot script -" sd:\boot\vmlinuz" to boot-device -" block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs init=/etc/preinit noinitrd console=tty0" to boot-file +" u:\boot\vmlinuz" to boot-device +" block2mtd.block2mtd=/dev/sda2,65536,rootfs root=/dev/mtdblock1 rootfstype=squashfs init=/etc/preinit rootdelay=5 noinitrd console=tty0" to boot-file boot |