Merge libreboot-6b6.
authorMichał Masłowski <mtjm@mtjm.eu>
Wed, 3 Sep 2014 18:30:21 +0000 (20:30 +0200)
committerMichał Masłowski <mtjm@mtjm.eu>
Wed, 3 Sep 2014 18:30:21 +0000 (20:30 +0200)
Conflicts:
buildrom-withgrub

1  2 
builddeps-grub
buildrom-withgrub
cleandeps

diff --cc builddeps-grub
Simple merge
@@@ -39,85 -36,98 +36,98 @@@ cd coreboo
  rm -rf .config
  
  # cbfstool will be used quite heavily here.
 -mv util/cbfstool/cbfstool .
 +[[ -f cbfstool ]] || mv util/cbfstool/cbfstool .
  
  # prepare libreboot configuration and build it
+ # it is assumed that these configs use coreboot text-mode
+ # instead of coreboot framebuffer, by default
  cp ../resources/libreboot/config/$1/config .config
  # coreboot.rom will appear under ./coreboot/build
  make
  # move it out (we'll be cleaning the build)
- # also rename it to libreboot_usqwerty.rom
- mv build/coreboot.rom libreboot_usqwerty.rom
+ mv build/coreboot.rom libreboot_txtmode.rom
  # clean the build
  make clean
- rm -rf .config
  
- # Insert files/configurations and perform operations that are common on all ROM images
- # ---------------------------------------------------------------------------------------------------------------
+ # Now prepare ROM images that use coreboot vesa framebuffer instead of text mode.
+ mv .config config_txtmode
+ # create .config for vesa framebuffer (instead of text mode)
+ sed 's/# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set/CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y/' < config_txtmode > .config
+ # build new ROM
+ make
+ mv build/coreboot.rom libreboot_vesafb.rom
+ # clean coreboot (again)
+ make clean
  
- # Add background image and font
- ./cbfstool libreboot_usqwerty.rom add -f ../resources/grub/background/background.jpg -n background.jpg -t raw
- ./cbfstool libreboot_usqwerty.rom add -f ../resources/grub/background/gnulove.jpg -n gnulove.jpg -t raw
- ./cbfstool libreboot_usqwerty.rom add -f ../resources/grub/font/dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
+ # copies no longer needed
+ rm -rf .config config_txtmode
  
- # Insert files/configurations and perform operations that are common on *serial* ROM images
+ # Insert files/configurations and perform operations that are common on all images
  # ---------------------------------------------------------------------------------------------------------------
  
- # ROM's based on this will have MemTest86+ included inside.
- cp libreboot_usqwerty.rom libreboot_serial_usqwerty.rom
- # Add memtest86+ to libreboot_serial_usqwerty.rom
- ./cbfstool libreboot_serial_usqwerty.rom add -f ../memtest86+-5.01/memtest -n memtest -t raw
+ for rom in libreboot_vesafb.rom libreboot_txtmode.rom
+ do
+       # Add SeaBIOS and SeaVGABIOS
+       ./cbfstool $rom add -f ../seabios/out/vgabios.bin -n vgaroms/vgabios.bin -t raw
+       ./cbfstool $rom add -f ../seabios/out/bios.bin.elf -n bios.bin.elf -t raw
+ done
  
- # Prepare ROM's (based on libreboot_usqwerty.rom and libreboot_serial_usqwerty.rom) with
- # alternative keyboard layout configurations inside GRUB
+ # Insert files/configurations and perform operations that are common on libreboot_vesafb.rom (coreboot framebuffer configuration)
  # ---------------------------------------------------------------------------------------------------------------
  
- # The for loops MUST be separate. Do NOT re-factor them!
+ # Add background image and font
+ ./cbfstool libreboot_vesafb.rom add -f ../resources/grub/background/background.jpg -n background.jpg -t raw
+ # ./cbfstool libreboot_vesafb.rom add -f ../resources/grub/background/gnulove.jpg -n gnulove.jpg -t raw
+ ./cbfstool libreboot_vesafb.rom add -f ../resources/grub/font/dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
  
- # default configs
- cp ../resources/grub/config/$1/grub_usqwerty.cfg .
- cp ../resources/grub/config/$1/grub_serial_usqwerty.cfg .
+ # Insert files/configurations and perform operations that are common on libreboot_txtmode.rom (coreboot text mode)
+ # ---------------------------------------------------------------------------------------------------------------
  
- for keymap in $(ls ../resources/grub/keymap/original)
- do
-     if [[ "$keymap" != usqwerty ]]; then
-       # copy the ROM based on the keymap
-       cp libreboot_usqwerty.rom libreboot_"$keymap".rom
-       cp libreboot_serial_usqwerty.rom libreboot_serial_"$keymap".rom
-     fi
- done
+ # Add memtest86+
+ ./cbfstool libreboot_txtmode.rom add -f ../memtest86+-5.01/memtest -n memtest -t raw
  
- for keymap in $(ls ../resources/grub/keymap/original)
- do
-     if [[ "$keymap" != usqwerty ]]; then
-       # copy the config based on the keymap:
-       cp grub_usqwerty.cfg grub_"$keymap".cfg
-       cp grub_serial_usqwerty.cfg grub_serial_"$keymap".cfg
-     fi
- done
+ # Add GRUB Invaders
+ ./cbfstool libreboot_txtmode.rom add -f ../grubinvaders/invaders -n invaders -t raw
+ ./cbfstool libreboot_txtmode.rom add -f ../grubinvaders/invaders.exec -n invaders.exec -t raw
  
- for keymap in $(ls ../resources/grub/keymap/original)
- do
-       # Insert GRUB keymap instructions into the config
-       echo "keymap $keymap" >> grub_"$keymap".cfg
-       echo "keymap $keymap" >> grub_serial_"$keymap".cfg
- done
+ # Generate the GRUB configurations and add them to each ROM image as grub.cfg and grubtest.cfg
+ # ---------------------------------------------------------------------------------------------------------------
  
- for keymap in $(ls ../resources/grub/keymap/original)
+ for keymap in $(ls ../resources/utilities/grub-assemble/keymap/original)
  do
-       # Set the GRUB keymap for the given ROM image
-       ./cbfstool libreboot_"$keymap".rom add -f grub_"$keymap".cfg -n grub.cfg -t raw
-       ./cbfstool libreboot_serial_"$keymap".rom add -f grub_serial_"$keymap".cfg -n grub.cfg -t raw
+       for romtype in txtmode vesafb
+       do
+               # copy the images based on the keymap
+               cp libreboot_"$romtype".rom libreboot_"$keymap"_"$romtype".rom
+               # generate the correct grub config
+               touch grub_"$keymap"_"$romtype".cfg
+               # generate contents:
+               cat ../resources/grub/config/extra/common.cfg >> grub_"$keymap"_"$romtype".cfg
+               cat ../resources/grub/config/extra/"$romtype".cfg >> grub_"$keymap"_"$romtype".cfg
+               echo "keymap $keymap" >> grub_"$keymap"_"$romtype".cfg
+               cat ../resources/grub/config/menuentries/common.cfg >> grub_"$keymap"_"$romtype".cfg
+               cat ../resources/grub/config/menuentries/"$romtype".cfg >> grub_"$keymap"_"$romtype".cfg
+               # Insert grub config into the image
+               ./cbfstool libreboot_"$keymap"_"$romtype".rom add -f grub_"$keymap"_"$romtype".cfg -n grub.cfg -t raw
+               # grubtest.cfg should be able to switch back to grub.cfg
+               sed 's/grubtest.cfg/grub.cfg/' < grub_"$keymap"_"$romtype".cfg > grub_"$keymap"_"$romtype"_test.cfg
+               # Insert grub test config into the image (for the user to test modifications to before modifying the main one)
+               ./cbfstool libreboot_"$keymap"_"$romtype".rom add -f grub_"$keymap"_"$romtype"_test.cfg -n grubtest.cfg -t raw
+       done
  done
  
- # we don't need the grub.cfg's anymore
+ # we don't need the generic rom images anymore
+ rm -rf libreboot_txtmode.rom
+ rm -rf libreboot_vesafb.rom
+ # we don't need the grub configs anymore
  rm -rf grub*cfg
  
- # Now we clean up and prepare the binary archive ready for release.
+ # Now we clean up and prepare the bin directory containing all the images
  # ----------------------------------------------------------------------------------------------------------------------------
  
  # prepare directory for new ROM images
diff --cc cleandeps
Simple merge