1 %define TARGET_VIM3 khadas-vim3
2 %define TARGET_VIM3L khadas-vim3l
3 %define TARGET_ODROID_N2 odroid-n2
4 %define TARGET_ODROID_C4 odroid-c4
9 Summary: Das U-Boot - Tizen bootloader
12 ExclusiveArch: aarch64
13 URL: https://source.denx.de/u-boot/u-boot.git
14 Source0: u-boot-%{version}.tar.bz2
15 Source1001: u_boot_amlogic.manifest
17 BuildRequires: gcc >= 6.0
22 u-boot - Tizen bootloader for Embedded boards based on ARM processor
24 %package -n u-boot-amlogic-common
25 Summary: U-boot Amlogic Common Files
29 %description -n u-boot-amlogic-common
30 u-boot-amlogic-common - Tizen Amlogic Boot Script, Tizen Logo Image, and common files
33 Summary: Das U-Boot - Tizen bootloader
36 Requires: u-boot-amlogic-common
38 %description -n u-boot-c4
39 u-boot-c4 - Tizen bootloader for Embedded boards based on ARM processor
42 Summary: Das U-Boot - Tizen bootloader
45 Requires: u-boot-amlogic-common
47 %description -n u-boot-n2
48 u-boot-n2 - Tizen bootloader for Embedded boards based on ARM processor
50 %package -n u-boot-vim3
51 Summary: Das U-Boot - Tizen bootloader
54 Requires: u-boot-amlogic-common
56 %description -n u-boot-vim3
57 u-boot-vim3 - Tizen bootloader for Embedded boards based on ARM processor
59 %package -n u-boot-vim3l
60 Summary: Das U-Boot - Tizen bootloader
63 Requires: u-boot-amlogic-common
65 %description -n u-boot-vim3l
66 u-boot-vim3l - Tizen bootloader for Embedded boards based on ARM processor
68 %define TARGETS %{TARGET_VIM3} %{TARGET_VIM3L} %{TARGET_ODROID_N2} %{TARGET_ODROID_C4}
71 %setup -q -n u-boot-%{version}
74 %{?asan:/usr/bin/gcc-unforce-options}
77 for i in %{TARGETS}; do
82 ENCRYPT=fip/aml_encrypt_g12b
83 OUTPUT_BIN=u-boot-n2.bin
88 ENCRYPT=fip/aml_encrypt_g12a
89 OUTPUT_BIN=u-boot-c4.bin
94 ENCRYPT=fip/aml_encrypt_g12b
95 OUTPUT_BIN=u-boot-vim3.bin
96 PARAMS=params-vim3.bin
100 ENCRYPT=fip/aml_encrypt_g12a
101 OUTPUT_BIN=u-boot-vim3l.bin
102 PARAMS=params-vim3l.bin
106 mkdir -p %{_builddir}/${target}
113 make HOSTCC="gcc $RPM_OPT_FLAGS" -C tools/dtc
115 # 1-2. Set configuration
116 make ${target}_defconfig
119 make %{?_smp_mflags} HOSTCC="gcc $RPM_OPT_FLAGS" HOSTSTRIP=/bin/true tools
121 make HOSTCC="gcc $RPM_OPT_FLAGS" envtools
124 export PATH="$PATH:tools:tools/dtc/"
125 make %{?_smp_mflags} EXTRAVERSION=`echo %{vcs} | sed 's/.*u-boot.*#\(.\{9\}\).*/-g\1-TIZEN.org/'`
129 ${ENCRYPT} --bl3sig --input u-boot.bin --compress lz4 \
130 --output ${FIP}/bl33.bin.enc \
131 --level v3 --type bl33 --compress lz4
132 ${ENCRYPT} --bootmk \
133 --output %{_builddir}/${target}/${OUTPUT_BIN} \
134 --bl2 ${FIP}/bl2.n.bin.sig \
135 --bl30 ${FIP}/bl30_new.bin.enc \
136 --bl31 ${FIP}/bl31.img.enc \
137 --bl33 ${FIP}/bl33.bin.enc \
138 --ddrfw1 ${FIP}/ddr4_1d.fw \
139 --ddrfw2 ${FIP}/ddr4_2d.fw \
140 --ddrfw3 ${FIP}/ddr3_1d.fw \
141 --ddrfw4 ${FIP}/piei.fw \
142 --ddrfw5 ${FIP}/lpddr4_1d.fw \
143 --ddrfw6 ${FIP}/lpddr4_2d.fw \
144 --ddrfw7 ${FIP}/diag_lpddr4.fw \
145 --ddrfw8 ${FIP}/aml_ddr.fw \
148 # 1-6. Generate params.bin
149 cp `find ./env -name "built-in.o"` copy_env_common.o
150 objcopy -O binary --only-section=.rodata.default_environment `find . -name "copy_env_common.o"`
151 tr '\0' '\n' < copy_env_common.o > default_envs.txt
152 mkenvimage -s 16384 -o ${PARAMS} default_envs.txt
153 rm copy_env_common.o default_envs.txt
156 # 1-7. Build Boot script
157 mkimage -A arm64 -T script -C none -n "Tizen Amlogic u-boot helper" -d ./tizen/bootscript/tizen-boot-amlogic-64b.scr ./boot.scr.uimg
162 # 2. u-boot installation
164 mkdir -p %{buildroot}/boot
165 mkdir -p %{buildroot}/var/tmp/u-boot-amlogic
166 install -d %{buildroot}/var/tmp/u-boot-amlogic
168 for i in %{TARGETS}; do
172 OUTPUT_BIN=u-boot-n2.bin
176 OUTPUT_BIN=u-boot-c4.bin
180 OUTPUT_BIN=u-boot-vim3.bin
181 PARAMS=params-vim3.bin
184 OUTPUT_BIN=u-boot-vim3l.bin
185 PARAMS=params-vim3l.bin
189 install -m 755 %{_builddir}/$target/$OUTPUT_BIN %{buildroot}/var/tmp/u-boot-amlogic
190 install -m 755 $PARAMS %{buildroot}/boot
193 install -m 755 boot.scr.uimg %{buildroot}/boot
194 install -m 755 images/tizen_logo.bmp.gz %{buildroot}/boot
199 %files -n u-boot-amlogic-common
200 %manifest u_boot_amlogic.manifest
201 %defattr(-,root,root,-)
203 /boot/tizen_logo.bmp.gz
206 %manifest u_boot_amlogic.manifest
207 %defattr(-,root,root,-)
208 /var/tmp/u-boot-amlogic/u-boot-c4.bin
212 %manifest u_boot_amlogic.manifest
213 %defattr(-,root,root,-)
214 /var/tmp/u-boot-amlogic/u-boot-n2.bin
217 %files -n u-boot-vim3
218 %manifest u_boot_amlogic.manifest
219 %defattr(-,root,root,-)
220 /var/tmp/u-boot-amlogic/u-boot-vim3.bin
221 /boot/params-vim3.bin
223 %files -n u-boot-vim3l
224 %manifest u_boot_amlogic.manifest
225 %defattr(-,root,root,-)
226 /var/tmp/u-boot-amlogic/u-boot-vim3l.bin
227 /boot/params-vim3l.bin