Changeset 33513


Ignore:
Timestamp:
2012-09-22T22:10:42+02:00 (4 years ago)
Author:
nbd
Message:

x86: add support for building grub2 images

Location:
trunk/target/linux/x86/image
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/x86/image/Config.in

    r32384 r33513  
    1818        depends TARGET_x86 && !TARGET_x86_olpc 
    1919        depends TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS 
    20         select PACKAGE_grub 
     20        select PACKAGE_grub if !X86_USE_GRUB2 
    2121        default y 
     22 
     23config X86_USE_GRUB2 
     24        bool "Use grub2" 
     25        depends X86_GRUB_IMAGES 
     26        select PACKAGE_grub2 
    2227 
    2328config X86_GRUB_CONSOLE 
  • trunk/target/linux/x86/image/Makefile

    r33510 r33513  
    1010export PATH=$(TARGET_PATH):/sbin 
    1111 
     12GRUB2_MODULES = at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga 
    1213GRUB_TERMINALS = 
    1314GRUB_SERIAL_CONFIG = 
     
    2728 
    2829ifneq ($(GRUB_TERMINALS),) 
    29   GRUB_TERMINAL_CONFIG := terminal --timeout=2 $(GRUB_TERMINALS) 
     30  ifneq ($(CONFIG_X86_USE_GRUB2),) 
     31    GRUB_TERMINAL_CONFIG := terminal_input $(GRUB_TERMINALS); terminal_output $(GRUB_TERMINALS) 
     32  else 
     33    GRUB_TERMINAL_CONFIG := terminal --timeout=2 $(GRUB_TERMINALS) 
     34  endif 
    3035endif 
    3136 
     
    8691  endef 
    8792 
     93  define Image/Build/grub2 
     94        # left here because the image builder doesnt need these 
     95        $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2 
     96        $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz 
     97        grub-mkimage \ 
     98                -o $(KDIR)/grub2/core.img \ 
     99                -O i386-pc \ 
     100                -c ./grub-early.cfg \ 
     101                $(GRUB2_MODULES) 
     102        $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img $(KDIR)/grub2/ 
     103        echo '(hd0) $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img' > $(KDIR)/grub2/device.map 
     104        sed \ 
     105                -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \ 
     106                -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \ 
     107                -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \ 
     108                -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \ 
     109                ./grub.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg 
     110        PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_generic.sh \ 
     111                $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ 
     112                $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \ 
     113                $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) \ 
     114                256 
     115        grub-bios-setup \ 
     116                --device-map="$(KDIR)/grub2/device.map" \ 
     117                -d "$(KDIR)/grub2" \ 
     118                -r "hd0,msdos1" \ 
     119                "$(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img" 
     120        $(call Image/Build/grub/$(1)) 
     121  endef 
    88122endif 
    89123 
     
    211245        $(call Image/Build/bootscript,$(1)) 
    212246  ifneq ($(1),iso) 
    213         $(call Image/Build/grub,$(1)) 
     247        $(call Image/Build/$(if $(CONFIG_X86_USE_GRUB2),grub2,grub),$(1)) 
    214248        $(call Image/Build/vdi,$(1)) 
    215249        $(call Image/Build/vmdk,$(1)) 
Note: See TracChangeset for help on using the changeset viewer.