@@ -25,9 +25,15 @@ setenv align_to "0x00001000"
25
25
setenv align_overlap_oboe_avoidance " on"
26
26
setenv align_addr_next 'if test " ${align_overlap_oboe_avoidance}" = " on" ; then setexpr addr_next ${addr_next} + 1 ; fi ; setexpr modulo ${addr_next} % ${align_to} ; if itest ${modulo} -gt 0 ; then setexpr addr_next ${addr_next} / ${align_to} ; setexpr addr_next ${addr_next} + 1 ; setexpr addr_next ${addr_next} * ${align_to} ; fi'
27
27
28
+ if setexpr setexpr 1 + 1 ; then
29
+ setenv setexpr " available"
30
+ else
31
+ echo " ** Command `setexpr` not available - using configured load addresses"
32
+ fi
33
+
28
34
echo " Boot script loaded from ${devtype}"
29
35
30
- setenv something " environment from ${devtype} to ${load_addr}"
36
+ setenv something " environment ${prefix}armbianEnv.txt from ${devtype} to ${load_addr}"
31
37
echo " Loading ${something} ..."
32
38
if load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt; then
33
39
env import -t ${load_addr} ${filesize}
37
43
38
44
setenv bootargs " console=ttyS0,115200 root=${rootdev} rootwait rootfstype=${rootfstype} ubootdev=${devtype} scandelay loglevel=${verbosity} usb-storage.quirks=${usbstoragequirks} ${extraargs}"
39
45
40
- setenv something " DT from ${devtype} to ${fdt_addr_r}"
46
+ setenv something " DT ${prefix}dtb/${fdtfile} from ${devtype} to ${fdt_addr_r}"
41
47
echo " Loading ${something} ..."
42
48
if load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} ; then
43
49
else
47
53
fi
48
54
fi
49
55
56
+ setenv fdt_filesize ${filesize}
50
57
fdt addr ${fdt_addr_r}
51
58
fdt resize ${fdt_extrasize}
52
59
53
- if setexpr setexpr 1 + 1 ; then
54
- setenv setexpr " available"
55
- else
56
- echo " ** Command `setexpr` not available - using configured load addresses"
57
- fi
58
-
59
- if test " ${setexpr}" = " available" ; then
60
- fdt header get fdt_totalsize totalsize
61
- if test " ${fdt_totalsize}" = " " ; then
62
- echo " ** Command `fdt header` does not support `get <var> <member>` - calculating DT size"
63
-
64
- # 'fdt resize' will align upwards to 4k address boundary
65
- setexpr fdt_totalsize ${filesize} / 0x1000
66
- setexpr fdt_totalsize ${fdt_totalsize} + 1
67
- setexpr fdt_totalsize ${fdt_totalsize} * 0x1000
68
- if test " ${fdt_extrasize}" != " " ; then
69
- # add 'extrasize' before aligning
70
- setexpr fdt_totalsize ${fdt_totalsize} + ${fdt_extrasize}
71
- fi
72
- fi
73
- setexpr addr_next ${fdt_addr_r} + ${fdt_totalsize}
74
- run align_addr_next
75
- setenv kernel_addr_r ${addr_next}
76
- fi
77
-
78
60
for overlay_file in ${overlays}; do
79
61
setenv something " kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo from ${devtype} to ${load_addr}"
80
62
echo " Loading ${something} ..."
@@ -145,7 +127,29 @@ if test "${spi_workaround}" = "on"; then
145
127
fdt set /soc/spi@10680/spi-flash@0 status " okay"
146
128
fi
147
129
148
- setenv something " kernel from ${devtype} to ${kernel_addr_r}"
130
+ echo " Trimming DT ..."
131
+ fdt resize
132
+
133
+ if test " ${setexpr}" = " available" ; then
134
+ fdt header get fdt_totalsize totalsize
135
+ if test " ${fdt_totalsize}" = " " ; then
136
+ echo " ** Command `fdt header` does not support `get <var> <member>` - calculating DT size"
137
+
138
+ # 'fdt resize' will align upwards to 4k address boundary
139
+ setexpr fdt_totalsize ${fdt_filesize} / 0x1000
140
+ setexpr fdt_totalsize ${fdt_totalsize} + 1
141
+ setexpr fdt_totalsize ${fdt_totalsize} * 0x1000
142
+ if test " ${fdt_extrasize}" != " " ; then
143
+ # add 'extrasize' before aligning
144
+ setexpr fdt_totalsize ${fdt_totalsize} + ${fdt_extrasize}
145
+ fi
146
+ fi
147
+ setexpr addr_next ${fdt_addr_r} + ${fdt_totalsize}
148
+ run align_addr_next
149
+ setenv kernel_addr_r ${addr_next}
150
+ fi
151
+
152
+ setenv something " kernel ${prefix}zImage from ${devtype} to ${kernel_addr_r}"
149
153
echo " Loading ${something} ..."
150
154
if load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}zImage ; then
151
155
else
@@ -161,7 +165,7 @@ if test "${setexpr}" = "available" ; then
161
165
setenv ramdisk_addr_r ${addr_next}
162
166
fi
163
167
164
- setenv something " initial ramdisk from ${devtype} to ${ramdisk_addr_r}"
168
+ setenv something " initial ramdisk ${prefix}uInitrd from ${devtype} to ${ramdisk_addr_r}"
165
169
echo " Loading ${something} ..."
166
170
if load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd ; then
167
171
else
171
175
fi
172
176
fi
173
177
174
- setenv something " kernel"
178
+ setenv something " kernel from ${kernel_addr_r} "
175
179
echo " Booting ${something} ..."
176
180
if bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} ; then
177
181
else
0 commit comments