/
boot.cmd
105 lines (93 loc) · 2.69 KB
/
boot.cmd
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
# Traverse Ten64 board can boot EFI directly
# Redirect it to the EFI process already in the
# bootloader
# (Remove on release of the 1.x Ten64 firmwire package)
if test "${board}" = "ten64"; then
load ${devtype} ${devnum}:2 ${kernel_addr_r} efi/boot/bootaa64.efi
bootefi ${kernel_addr_r} ${fdt_addr_r}
fi;
if test ${boot_dev} = ""; then
setenv boot_dev mmc;
setenv root_dev /dev/mmcblk0p3;
fi;
if test ${dev_num} = ""; then
setenv dev_num ${devnum}
if test ${dev_num} = ""; then
setenv dev_num 0;
fi;
fi;
if test ${boot_part} = ""; then
setenv boot_part ${dev_num}:1;
fi;
# Import uEnv txt...
if fatload ${boot_dev} ${boot_part} ${kernel_addr_r} uEnv.txt; then
echo Load uEnv.txt...;
env import -t ${kernel_addr_r} ${filesize};
if test "${uenvcmd}" = ""; then
echo ...;
else
echo Boot with uEnv.txt...;
run uenvcmd;
fi;
fi;
# for compatiblity reasons set DTBSUNXI if we run on sunxi
if test "${board}" = "sunxi"; then
setenv fdtfile ${DTBSUNXI};
fi;
# Check if serial console is enabled
if test "${SERIAL-CONSOLE}" = "ON"; then
if test ${console} = ""; then
if test "${board}" = "rpi"; then
if test ${cpu} = "armv8"; then
if test "${fdtfile}" = "broadcom/bcm2837-rpi-3-b-plus.dtb"; then
setenv console ttyS1,115200n8;
else
if test "${fdtfile}" = "broadcom/bcm2837-rpi-3-b.dtb"; then
setenv console ttyS1,115200n8;
else
setenv console ttyAMA0,115200n8;
fi;
fi;
else
if test "${fdtfile}" = "bcm2837-rpi-3-b-plus.dtb"; then
setenv console ttyS1,115200n8;
else
if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then
setenv console ttyS1,115200n8;
else
setenv console ttyAMA0,115200n8;
fi;
fi;
fi;
else
setenv console ttyS0,115200n8;
fi;
fi
echo Set console to ${console};
setenv bootargs console=${console} root=${root_dev} rootwait;
else
echo Set console to tty1 ;
setenv bootargs console=tty1 root=${root_dev} rootwait;
fi;
setenv fdt_high ffffffff;
fatload ${boot_dev} ${boot_part} ${kernel_addr_r} vmlinuz-${KVER}-ipfire${kernel_type};
fatload ${boot_dev} ${boot_part} ${fdt_addr_r} dtb-${KVER}-ipfire${kernel_type}/${fdtfile};
if test "${FDTCMDS}" = ""; then
echo ;
else
fdt addr ${fdt_addr_r};
run FDTCMDS;
fi;
setenv ramdisk_addr ${ramdisk_addr_r}
if fatload ${boot_dev} ${boot_part} ${ramdisk_addr} uInit-${KVER}-ipfire${kernel_type}; then
echo Ramdisk loaded...;
else
echo Ramdisk not loaded...;
setenv ramdisk_addr -;
fi;
bootz ${kernel_addr_r} ${ramdisk_addr} ${fdt_addr_r};
booti ${kernel_addr_r} ${ramdisk_addr} ${fdt_addr_r};
bootz ${kernel_addr_r} - ${fdt_addr_r};
booti ${kernel_addr_r} - ${fdt_addr_r};
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr