Changes in boot/Makefile.grub [765678f:1f5c9c96] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/Makefile.grub

    r765678f r1f5c9c96  
    3131include Makefile.common
    3232
    33 GRUB2 = grub
    34 STAGE2 = $(GRUB2)/i386-pc/eltorito.img
    35 STAGE2_IN = boot/$(STAGE2)
     33GRUB = grub.$(GRUB_ARCH)
     34BOOT = $(DISTROOT)/boot
     35
     36ELTORITO = boot/grub/$(GRUB_ARCH).img
     37IMAGE = $(DISTROOT)/$(ELTORITO)
     38
     39ifeq ($(GRUB_ARCH),pc)
     40        BOOT_CONFIG = $(BOOT)/grub/i386-pc/grub.cfg
     41        MULTIBOOT_CMD = multiboot
     42        MODULE_CMD = module
     43endif
     44ifeq ($(GRUB_ARCH),efi)
     45        BOOT_CONFIG = $(BOOT)/grub/grub.cfg
     46        MULTIBOOT_CMD = multiboot2
     47        MODULE_CMD = module2
     48endif
    3649
    3750all: $(BOOT_OUTPUT)
    3851
    3952$(BOOT_OUTPUT): build_dist
    40         mkisofs -J -r -input-charset utf-8 -b $(STAGE2_IN) -no-emul-boot -boot-load-size 64 -boot-info-table -o $@ $(DISTROOT)/
     53ifeq ($(GRUB_ARCH),pc)
     54        mkisofs -J -r -input-charset utf-8 -V "HelenOS boot ISO" -eltorito-boot $(ELTORITO) -no-emul-boot -boot-load-size 64 -boot-info-table -o $@ $(DISTROOT)/
     55endif
     56ifeq ($(GRUB_ARCH),efi)
     57        mkisofs -J -r -input-charset utf-8 -V "HelenOS boot ISO" -efi-boot $(ELTORITO) -o $@ $(DISTROOT)/
     58endif
    4159
    4260build_dist: clean
    43         mkdir -p $(DISTROOT)/boot
    44         cp -r $(GRUB2) $(DISTROOT)/boot
     61        mkdir -p $(BOOT)
     62        cp -r $(GRUB) $(BOOT)/grub
     63ifeq ($(GRUB_ARCH),efi)
     64        gunzip $(IMAGE)
     65endif
     66       
    4567        for module in $(COMPONENTS) ; do \
    46                 cp "$$module" $(DISTROOT)/boot/ ; \
     68                cp "$$module" $(BOOT)/ ; \
    4769        done
    4870       
    49         echo "set default=0" > $(DISTROOT)/boot/grub/i386-pc/grub.cfg
    50         echo "set timeout=10" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg
    51         echo "" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg
     71        echo "set default=0" > $(BOOT_CONFIG)
     72        echo "set timeout=10" >> $(BOOT_CONFIG)
     73        echo "" >> $(BOOT_CONFIG)
    5274       
    53         echo "menuentry 'HelenOS $(RELEASE)' --class helenos --class os {" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg
    54         echo "  set root='(cd)'" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg
     75ifeq ($(GRUB_ARCH),pc)
     76        echo "insmod vbe" >> $(BOOT_CONFIG)
     77        echo "insmod vga" >> $(BOOT_CONFIG)
     78endif
     79ifeq ($(GRUB_ARCH),efi)
     80        echo "insmod efi_gop" >> $(BOOT_CONFIG)
     81        echo "insmod efi_uga" >> $(BOOT_CONFIG)
     82endif
     83        echo "" >> $(BOOT_CONFIG)
    5584       
     85        echo "menuentry 'HelenOS $(RELEASE)' --class helenos --class os {" >> $(BOOT_CONFIG)
    5686        for module in $(MODULES) ; do \
    57                 echo "" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg ; \
    58                 echo "  echo 'Loading $$module'" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg ; \
     87                echo "  echo 'Loading $$module'" >> $(BOOT_CONFIG) ; \
    5988                if [ "$$module" = "kernel.bin" ] ; then \
    60                         echo "  multiboot /boot/$$module" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg ; \
     89                        echo "  $(MULTIBOOT_CMD) /boot/$$module" >> $(BOOT_CONFIG) ; \
    6190                else \
    62                         echo "  module /boot/$$module" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg ; \
     91                        echo "  $(MODULE_CMD) /boot/$$module" >> $(BOOT_CONFIG) ; \
    6392                fi \
    6493        done
    65        
    66         echo "}" >> $(DISTROOT)/boot/grub/i386-pc/grub.cfg
     94        echo "}" >> $(BOOT_CONFIG)
    6795
    6896clean:
Note: See TracChangeset for help on using the changeset viewer.