To make clear what Allwinner did to U-Boot I started a Git repository forked from mainline.
See https://github.com/longsleep/u-boot-pine64
Branch pine64-hacks has applied the BSP changes on top of mainline 2014.07 tag and contains various required backports and fixes for Pine64 on top.
Disk image test releases for Pine64
I publish disk images which combine U-Boot, Kernel with a minimal initrd as base image for Linux distributions and for testing. **These images are for developers** and are build with my set of Pine64 image building tools from here.
Download images: https://www.stdin.xyz/downloads/people/l...64-images/
Boot log for comparison: https://www.stdin.xyz/downloads/people/l...OOTLOG.txt
Release history:
**20160207-1**
- Initial public release with patched mainline Kernel
**20160221-3**
- Linux Kernel 3.10 based on BSP (see here)
- HDMI support
- MMC support
- USB support
- Ethernet support (with hack to force 100M)
- Wifi suport
- Enabled various Kernel settings for distribution and software support
**20160221-4**
- Updated initrd so it can boot /sbin/init on the second partition if found and executable
**20160227-1**
- Linux Kernel 3.10 based on BSP 1.2 (see here)
- ATF was cleaned up and Kernel is now entered in EL2 (see here)
- Device tree was updated to reflect changes in BSP 1.2 based Android builds
- Ethernet 1000M works
- Virtualization works (see KVM)
**20160304-1**
- Linux Kernel 3.10 security fixes CVE-2013-7446, CVE-2015-8543, CVE-2016-0728 backported (thanks to @janjwerner)
- Linux Kernel now has a tag (3.10.65-2-pine64)
- Added NFS support to Kernel
- Enabled GPIO via sysfs
- Enabled tun, loop and nbd devices
- Device tree was updated to improve thermal throttling situation
- Device tree was updated to get better 1000M Ethernet speeds and compatibility
**20160306-1**
- U-Boot now supports booti arm64 booting (enabled by default)
- Updated U-Boot defaults to boot with booti + Kernel Image and initrd (deprecating Android boot)
- Changed default locations of Kernel and Initrd to match what latest Linux distributions expect
- U-Boot now has a tag (v2014.07-1-pine64)
- U-Boot now loads initrd.img in default environment
- U-Boot now supports additional bootargs in default environment
- U-Boot now passes ethernet mac address to Kernel if found in environment
**20160311-1**
- Additional CPU frequencies were added to device tree
**20160319-1**
- Added Pine64 model detection. Will now boot with different device trees for Pine64 / Pine64 plus by default
- U-Boot updated to v2014.07-3-pine64
- Kernel and device trees updated to 3.10.65-3-pine64
**20160403-2**
- Kernel updated to 3.10.65-4-pine64
**20160423-1**
- U-Boot updated to v2014.07-4-pine64
- U-Boot built-in default environment now supports boot.scr from first mmc partition
- Enable UART2, UART3, UART4 (Thanks to Martin Ayotte)
- Kernel updated to 3.10.65-7-pine64
**20160618-1**
- U-Boot updated to v2014.07-6-pine64
- Kernel updated to 3.10.102-0-pine64
- ATF updated to 1.0-0-pine64
- U-Boot and ATF are now compiled with gcc 5.3
- Initrd has been updated
**20170311-1**
- U-Boot updated to v2014.07-7-pine64
- Kernel updated to 3.10.105-0-pine64
- Initrd has been updated
- U-Boot now exposes sunxi_flash as USB mass storage device (via sunxi_ums cmd, thanks to Kamil Trzcinski)
- U-Boot now detects Pinebook based based on the boot disk (emmc, thanks to Kamil Trzcinski)
- U-Boot now exposes the boot key status as boot_key variable (thanks to Kamil Trzcinski)
Released images are signed with a detached GPG signature (.asc) signed by my personal key 0x090EF0DB. Get the key and verify that the download is intact and unmodified.
To update both Kernel an U-Boot to the latest releases, run the following commands (as root):
and reboot.
Cheers,
Simon
See https://github.com/longsleep/u-boot-pine64
Branch pine64-hacks has applied the BSP changes on top of mainline 2014.07 tag and contains various required backports and fixes for Pine64 on top.
Disk image test releases for Pine64
I publish disk images which combine U-Boot, Kernel with a minimal initrd as base image for Linux distributions and for testing. **These images are for developers** and are build with my set of Pine64 image building tools from here.
Download images: https://www.stdin.xyz/downloads/people/l...64-images/
Boot log for comparison: https://www.stdin.xyz/downloads/people/l...OOTLOG.txt
Release history:
**20160207-1**
- Initial public release with patched mainline Kernel
**20160221-3**
- Linux Kernel 3.10 based on BSP (see here)
- HDMI support
- MMC support
- USB support
- Ethernet support (with hack to force 100M)
- Wifi suport
- Enabled various Kernel settings for distribution and software support
**20160221-4**
- Updated initrd so it can boot /sbin/init on the second partition if found and executable
**20160227-1**
- Linux Kernel 3.10 based on BSP 1.2 (see here)
- ATF was cleaned up and Kernel is now entered in EL2 (see here)
- Device tree was updated to reflect changes in BSP 1.2 based Android builds
- Ethernet 1000M works
- Virtualization works (see KVM)
**20160304-1**
- Linux Kernel 3.10 security fixes CVE-2013-7446, CVE-2015-8543, CVE-2016-0728 backported (thanks to @janjwerner)
- Linux Kernel now has a tag (3.10.65-2-pine64)
- Added NFS support to Kernel
- Enabled GPIO via sysfs
- Enabled tun, loop and nbd devices
- Device tree was updated to improve thermal throttling situation
- Device tree was updated to get better 1000M Ethernet speeds and compatibility
**20160306-1**
- U-Boot now supports booti arm64 booting (enabled by default)
- Updated U-Boot defaults to boot with booti + Kernel Image and initrd (deprecating Android boot)
- Changed default locations of Kernel and Initrd to match what latest Linux distributions expect
- U-Boot now has a tag (v2014.07-1-pine64)
- U-Boot now loads initrd.img in default environment
- U-Boot now supports additional bootargs in default environment
- U-Boot now passes ethernet mac address to Kernel if found in environment
**20160311-1**
- Additional CPU frequencies were added to device tree
**20160319-1**
- Added Pine64 model detection. Will now boot with different device trees for Pine64 / Pine64 plus by default
- U-Boot updated to v2014.07-3-pine64
- Kernel and device trees updated to 3.10.65-3-pine64
**20160403-2**
- Kernel updated to 3.10.65-4-pine64
**20160423-1**
- U-Boot updated to v2014.07-4-pine64
- U-Boot built-in default environment now supports boot.scr from first mmc partition
- Enable UART2, UART3, UART4 (Thanks to Martin Ayotte)
- Kernel updated to 3.10.65-7-pine64
**20160618-1**
- U-Boot updated to v2014.07-6-pine64
- Kernel updated to 3.10.102-0-pine64
- ATF updated to 1.0-0-pine64
- U-Boot and ATF are now compiled with gcc 5.3
- Initrd has been updated
**20170311-1**
- U-Boot updated to v2014.07-7-pine64
- Kernel updated to 3.10.105-0-pine64
- Initrd has been updated
- U-Boot now exposes sunxi_flash as USB mass storage device (via sunxi_ums cmd, thanks to Kamil Trzcinski)
- U-Boot now detects Pinebook based based on the boot disk (emmc, thanks to Kamil Trzcinski)
- U-Boot now exposes the boot key status as boot_key variable (thanks to Kamil Trzcinski)
Released images are signed with a detached GPG signature (.asc) signed by my personal key 0x090EF0DB. Get the key and verify that the download is intact and unmodified.
Code:
gpg --keyserver keyserver.ubuntu.com --recv-keys 090EF0DB
gpg --with-fingerprint simpleimage-pine64-*.xz.asc
To update both Kernel an U-Boot to the latest releases, run the following commands (as root):
Code:
bash <(curl -s https://raw.githubusercontent.com/longsleep/build-pine64-image/master/simpleimage/platform-scripts/pine64_update_uboot.sh)
bash <(curl -s https://raw.githubusercontent.com/longsleep/build-pine64-image/master/simpleimage/platform-scripts/pine64_update_kernel.sh)
Cheers,
Simon