summaryrefslogtreecommitdiff
path: root/build-macbook21
blob: 39509e7c3264befcc354bc961a6c585e792a76f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash

#  build-macbook21: builds's the Apple MacBook2,1 ROM's
#
#	Copyright (C) 2014 Francis Rowe
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

# DO NOT RUN THIS DIRECTLY!
# Use "build"

# Build the ROM's (for MacBook2,1):
# ----------------------------------------------------------------------------------------------------------------------

# MacBook2,1 uses the same chipsets as the X60/T60
# Unlike X60/T60, MacBook2,1 has no dock or serial port available
# Therefore, no *_serial_*.rom images will be generated here.

cd coreboot
rm -rf .config

# MacBook2,1: prepare coreboot and build it:
cp ../resources/libreboot/config/macbook21config .config
make
cp build/coreboot.rom .
make clean
# MacBook2,1: prepare the ROM's that will have alternative (dvorak) configs inserted 
cp coreboot.rom coreboot_dvorak.rom
# MacBook2,1: prepare the ROM's that will have alternative (uk dvorak) configs inserted
cp coreboot.rom coreboot_ukdvorak.rom
# MacBook2,1: prepare the ROM's that will have alternative (uk qwerty) configs inserted
cp coreboot.rom coreboot_ukqwerty.rom
rm -rf .config
rm -rf macbook21
mkdir macbook21
# move the ROM's into the newly created x60 directory
mv coreboot*rom macbook21

# Insert additional configs and other files into the ROM's:
# ---------------------------------------------------------------------------------------------------------------------

# MacBook2,1: prepare finished coreboot.rom
# Configuration: US Qwerty keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock).
mv macbook21/coreboot.rom util/cbfstool
cp ../resources/grub/config/macbook21/grub.cfg util/cbfstool
cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png
cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool
cd util/cbfstool
./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw
./cbfstool coreboot.rom add -f background.png -n background.png -t raw
./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
./cbfstool coreboot.rom print
mv coreboot.rom ../../macbook21
rm -rf grub.cfg
rm -rf background.png
rm -rf dejavusansmono.pf2
cd ../../

# MacBook2,1: prepare finished coreboot_dvorak.rom
# Configuration: US Dvorak keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock)
mv macbook21/coreboot_dvorak.rom util/cbfstool/coreboot.rom
cp ../resources/grub/config/macbook21/grub_dvorak.cfg util/cbfstool/grub.cfg
cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png
cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool
cd util/cbfstool
./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw
./cbfstool coreboot.rom add -f background.png -n background.png -t raw
./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
./cbfstool coreboot.rom print
mv coreboot.rom ../../macbook21/coreboot_dvorak.rom
rm -rf grub.cfg
rm -rf background.png
rm -rf dejavusansmono.pf2
cd ../../

# MacBook2,1: prepare finished coreboot_ukdvorak.rom
# Configuration: UK Dvorak keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock)
mv macbook21/coreboot_ukdvorak.rom util/cbfstool/coreboot.rom
cp ../resources/grub/config/macbook21/grub_ukdvorak.cfg util/cbfstool/grub.cfg
cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png
cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool
cd util/cbfstool
./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw
./cbfstool coreboot.rom add -f background.png -n background.png -t raw
./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
./cbfstool coreboot.rom print
mv coreboot.rom ../../macbook21/coreboot_ukdvorak.rom
rm -rf grub.cfg
rm -rf background.png
rm -rf dejavusansmono.pf2
cd ../../

# MacBook2,1: prepare finished coreboot_ukqwerty.rom
# Configuration: UK Qwerty keyboard layout in GRUB payload. No MemTest86+. No serial output. (for those without dock)
mv macbook21/coreboot_ukqwerty.rom util/cbfstool/coreboot.rom
cp ../resources/grub/config/macbook21/grub_ukqwerty.cfg util/cbfstool/grub.cfg
cp ../resources/grub/background/background1024x768.png util/cbfstool/background.png
cp ../resources/grub/font/dejavusansmono.pf2 util/cbfstool
cd util/cbfstool
./cbfstool coreboot.rom add -f grub.cfg -n grub.cfg -t raw
./cbfstool coreboot.rom add -f background.png -n background.png -t raw
./cbfstool coreboot.rom add -f dejavusansmono.pf2 -n dejavusansmono.pf2 -t raw
./cbfstool coreboot.rom print
mv coreboot.rom ../../macbook21/coreboot_ukqwerty.rom
rm -rf grub.cfg
rm -rf background.png
rm -rf dejavusansmono.pf2
cd ../../

# Now we clean up and prepare the binary archive ready for release.
# ----------------------------------------------------------------------------------------------------------------------------

# now we are back in the main coreboot directory

# MacBook2,1 ROM's:
# delete the old ROM's
rm -rf ../bin/macbook21
# now put the new ROM's in ./bin
mv macbook21 ../bin

# go back to main source directory
cd ../