Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== The Allwinner boot process ===== Most Allwinner systems use U-Boot as the boot program. This page documents that process. ==== U-Boot layout ==== Recent versions of U-Boot are split into a small first-stage loader called SPL and a main boot program. The following table shows SD Card layout expected by system ROM: | SD Card layout ||| | start | size | usage | | 0 | 8KB | Partition table | | 8KB | 32KB | Initial SPL loader | | 40KB | 512KB | U-Boot | | 552KB | 472KB | Reserved | | 1024KB | - | Free for partitions | To write the u-boot files to an SD Card: <code> # dd if=/usr/local/share/u-boot/u-boot-<portname>/u-boot-sunxi-with-spl.bin conv=notrunc,sync of=/dev/sd_card_device bs=1k seek=8 </code> Alternatively on 64 bits %%SoCs%% you can put u-boot in an alternate location that doesn't conflict with GPT table <code> # dd if=/usr/local/share/u-boot/u-boot-<portname>/u-boot-sunxi-with-spl.bin conv=sync of=/dev/sd_card_device bs=128k seek=1 </code> ==== U-boot ports ==== The main U-Boot program can be configured with many different options for loading a kernel from SD card, USB drives, SATA drives, or the network. When booting %%FreeBSD%% the usual process is to have U-Boot start **loader.efi** from the FAT partition in either EFI/boot/bootarm.efi or EFI/boot/bootaa64.efi depending on the architecture. Some precompiled u-boot are available via ports and packages. For instance, you can simply enter ''%%pkg install u-boot-cubieboard%%'', and all the files you will need to get U-Boot onto an SD card are installed for you in ''%%/usr/local/share/u-boot%%'', including a README file that tells you how to install the file(s) onto the SD card. The following U-Boot ports and packages are available for Allwinner systems: * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-a13-olinuxino|sysutils/u-boot-a13-olinuxino]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-a64-olinuxino|sysutils/u-boot-a64-olinuxino]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-bananapi|sysutils/u-boot-bananapi]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-bananapim2|sysutils/u-boot-bananapim2]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-cubieboard|sysutils/u-boot-cubieboard]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-cubieboard2|sysutils/u-boot-cubieboard2]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-olimex-a20-som-evb|sysutils/u-boot-olimex-a20-som-evb]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-olinuxino-lime|sysutils/u-boot-olinuxino-lime]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-orangepi-one|sysutils/u-boot-orangepi-one]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-orangepi-pc|sysutils/u-boot-orangepi-pc]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-orangepi-pc2|sysutils/u-boot-orangepi-pc2]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-orangepi-plus-2e|sysutils/u-boot-orangepi-plus-2e]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-orangepi-zero|sysutils/u-boot-orangepi-zero]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-pcduino3|sysutils/u-boot-pcduino3]] * [[https://www.freshports.org/sysutils/u-boot-pine-h64|sysutils/u-boot-pine-h64]] * [[https://www.freshports.org/sysutils/u-boot-pine64|sysutils/u-boot-pine64]] * [[https://www.freshports.org/sysutils/u-boot-pine64-lts|sysutils/u-boot-pine64-lts]] * [[https://www.freshports.org/sysutils/u-boot-pinebook|sysutils/u-boot-pinebook]] * [[https://www.freshports.org/sysutils/u-boot-pinebookpro|sysutils/u-boot-pinebookpro]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-sinovoip-bpi-m3|sysutils/u-boot-sinovoip-bpi-m3]] * [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-sopine|sysutils/u-boot-sopine]] Technical note: these are all slave ports of [[https://svnweb.freebsd.org/ports/head/sysutils/u-boot-master|sysutils/u-boot-master]] with some predefined variables. arm/allwinner/booting.txt Last modified: 2021/05/14 09:54by AdriaanDeGroot