79 lines
4.3 KiB
ReStructuredText
79 lines
4.3 KiB
ReStructuredText
u-boot
|
|
======
|
|
|
|
compile
|
|
-------
|
|
|
|
.. code:: shell
|
|
|
|
export CROSS_COMPILE=arm-linux-gnueabihf-
|
|
make distclean
|
|
make rpi_0_w_defconfig
|
|
make u-boot.bin
|
|
|
|
environment
|
|
-----------
|
|
|
|
* uboot.env
|
|
|
|
default
|
|
^^^^^^^
|
|
|
|
.. code:: ini
|
|
|
|
arch=arm
|
|
baudrate=115200
|
|
board=rpi
|
|
board_name=Zero W
|
|
board_rev=0xC
|
|
board_rev_scheme=1
|
|
board_revision=0x9000C1
|
|
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
|
|
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
|
|
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
|
|
boot_net_usb_start=usb start
|
|
boot_prefixes=/ /boot/
|
|
boot_script_dhcp=boot.scr.uimg
|
|
boot_scripts=boot.scr.uimg boot.scr
|
|
boot_syslinux_conf=extlinux/extlinux.conf
|
|
boot_targets=mmc0 mmc1 usb0 pxe dhcp
|
|
bootcmd=run distro_bootcmd
|
|
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
|
|
bootcmd_mmc0=devnum=0; run mmc_boot
|
|
bootcmd_mmc1=devnum=1; run mmc_boot
|
|
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
|
|
bootcmd_usb0=devnum=0; run usb_boot
|
|
bootdelay=0
|
|
bootfstype=fat
|
|
cpu=arm1176
|
|
dhcpuboot=usb start; dhcp u-boot.uimg; bootm
|
|
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
|
|
efi_dtb_prefixes=/ /dtb/ /dtb/current/
|
|
fdt_addr=1b63eb00
|
|
fdt_addr_r=0x02600000
|
|
fdt_high=ffffffff
|
|
fdtcontroladdr=1b5fdd60
|
|
fdtfile=bcm2835-rpi-zero-w.dtb
|
|
fileaddr=2400000
|
|
filesize=c3
|
|
initrd_high=ffffffff
|
|
kernel_addr_r=0x00080000
|
|
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
|
|
loadaddr=0x00200000
|
|
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
|
|
preboot=usb start
|
|
pxefile_addr_r=0x02500000
|
|
ramdisk_addr_r=0x02700000
|
|
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
|
|
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
|
|
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
|
|
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
|
|
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
|
|
scriptaddr=0x02400000
|
|
serial#=00000000f40d25c5
|
|
soc=bcm283x
|
|
stderr=serial,vidconsole
|
|
stdin=serial,usbkbd
|
|
stdout=serial,vidconsole
|
|
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
|
|
vendor=raspberrypi
|