diff --git a/u-boot/Makefile b/u-boot/Makefile new file mode 100644 index 0000000..8f1830d --- /dev/null +++ b/u-boot/Makefile @@ -0,0 +1,193 @@ +# the original u-boot source drop from 2014 +# https://github.com/allwinner-zh/bootloader.git (no git history. fuck.) + +# root@librem15:~/pinebook/u-boot-jcarr/board/sunxi# git log --branches=* |grep ^Author |sort -u |wc -l +# 2385 contributors in u-boot (more or less. less actually. ~1500) + +# push all the remote tags to your server after adding the remote +# git push -u origin --all +# git push -u origin --tags + +all: + +clone: + # git clone https://github.com/trini/u-boot.git + git clone git@git.wit.com:jcarr/u-boot.git + + git remote add ayufan https://github.com/ayufan-pine64/u-boot-pine64.git + git fetch pine64 + + git remote add longsleep https://github.com/longsleep/u-boot-pine64.git + git fetch longsleep + + git remote add rockchip https://github.com/rockchip-linux/u-boot.git + git fetch rockchip + + git remote add anarsoul https://github.com/anarsoul/u-boot-pine64 + git fetch anarsoul + + git remote add trini https://github.com/trini/u-boot.git + git fetch trini + +show: + git remote -v + git branch -r + +update: + # git branch -a # shows all branches + # git ls-remote + git fetch --verbose --all --prune + +# show all commits on all branches +# so you can search everywhere if you are trying to find something lost +all-commits: + git rev-list --remotes + git rev-list --all --remotes --pretty + git log --branches=* + +toms-recent-commits: + git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=trini + +# builds and runs on Jan 1 2019 +build-pinebook + export CROSS_COMPILE=/home/pinebook/cross-compilers/gcc-linaro/bin/aarch64-linux-gnu- + git checkout anarsoul/pinebook-wip-20181109 + make pinebook_defconfig + make all V=1 + +build-qemu-arm: + make qemu_arm_defconfig + make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j5 + +build-x86-x32: + make qemu-x86_defconfig + make -j5 + qemu-system-i386 -machine none -bios u-boot.bin + +# this at least builds (for what it's worth) +pinebook-build1: + # git checkout -b jcarr-my-hacks-3.0 pine64/my-hacks-3.0 # old? + git checkout -b jcarr-my-hacks-1.2 pine64/my-hacks-1.2 + export PATH=/root/pinebook/cross-compilers/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH + make sun50iw1p1_config + make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- + +# https://balau82.wordpress.com/2010/03/10/u-boot-for-arm-on-qemu/ +build-2014-versatilepb: + git checkout v2015.04 + cp include/linux/compiler-gcc5.h include/linux/compiler-gcc7.h # from v2017-03 + make versatileqemu_config ARCH=arm CROSS_COMPILE=arm-none-eabi- + make all ARCH=arm CROSS_COMPILE=arm-none-eabi- + qemu-system-arm -M versatilepb -m 128M -nographic -kernel u-boot.bin + + # U-Boot 2015.04 (Dec 11 2018 - 16:36:36) + # + # DRAM: 128 MiB + # WARNING: Caches not enabled + # Using default environment + # + # In: serial + # Out: serial + # Err: serial + # Net: SMC91111-0 + # Warning: SMC91111-0 using MAC address from net device + + # VersatilePB # + +killall-qemu-arm: + killall -9 qemu-system-arm + +flash: + # datasheet for eMMC 16GB flash + # Foresee NCEMASKG-16G Rev A0 + +rom-address-offsets-within-u-boot: + # md 0x4a000000 # eMMC u-boot.bin start + # md 0x10000 # boot0 + # 0x10000 boot1 # doesn't exist + +anarsoul-build: + git checkout anarsoul/pinebook-wip-20181109 + # fails with arm-none-eabi-gcc (15:7-2018-q2-4) 7.3.1 20180622 on x64 + # make pinebook_defconfig ARCH=arm CROSS_COMPILE=arm-none-eabi- + # make all ARCH=arm CROSS_COMPILE=arm-none-eabi- V=1 + + # also doesn't work with gcc-5 or gcc-8 + make pinebook_defconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- + make all ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- V=1 + + # also doesn't work with gcc-5 or gcc-8 + make pinebook_defconfig ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- + make all ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- V=1 + + make pinebook_defconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- + make all ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- V=1 + + # native build on sid directly on the pinebook: + apt install bison flex swig python-dev + make clean; make distclean; + git checkout anarsoul/pinebook-wip-20181109 + make pinebook_defconfig + make all V=1 + dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1K seek=8 + # boots and hangs after: + # U-Boot SPL 2018.11-rc3-00047-g54dd89fefc (Dec 16 2018 - 15:00:32 +0000) + # DRAM: 2048 MiB + # Trying to boot from MMC1 + +linaro-gcc: + # wget # aria2c -x6 -k1M -c https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-linux-gnu/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz + PATH=/root/pinebook/cross-compilers/gcc-linaro/bin/:$PATH aarch64-linux-gnu-gcc -v + PATH=/root/pinebook/cross-compilers/gcc-linaro/bin/:$PATH make pinebook_defconfig ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- + cp ../arm-trusted-firmware/build/fvp/release/bl31.bin . + PATH=/root/pinebook/cross-compilers/gcc-linaro/bin/:$PATH make all ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- + +arm-trusted-firmware: + git clone https://github.com/ARM-software/arm-trusted-firmware.git + + git remote add apritzel https://github.com/apritzel/arm-trusted-firmware.git + git fetch apritzel + + apt install device-tree-compiler + export CROSS_COMPILE=/root/pinebook/cross-compilers/gcc-linaro/bin/aarch64-linux-gnu- + git checkout -b pinebook apritzel/allwinner + make PLAT=sun50iw1p1 DEBUG=1 bl31 + +misc: + update-alternatives --set gcc "/usr/bin/gcc-7" + update-alternatives --set g++ "/usr/bin/g++-7" + need to first set it with the .syntax unified directive. + +dd-current-uboot: + dd if=/dev/mmcblk0 of=current-uboot bs=1K skip=8 count=8 + +dd-current-partitionmap: + dd if=/dev/mmcblk0 of=current-mmcblk0 bs=1K count=64 + +dd-new-uboot: + dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1K seek=8 + +dd-zeroes: + dd if=/dev/zero of=/dev/mmcblk0 bs=1K seek=8 count=10 + +# drive layout: +# 179 96 30976000 mmcblk0 +# 179 97 7808405 mmcblk0p1 # ended up being parted msdos 4194kB to 8G +# 179 98 11718750 mmcblk0p2 # 8G to 20G + +jtag: + # https://github.com/Icenowy/sunxi-jtag + # http://linux-sunxi.org/JTAG # jtag over the mmc card connection + # http://linux-sunxi.org/JTAG/sun4iconfig + +parted-external-ssd: + parted /dev/mmcblk0 mklabel msdos + parted /dev/mmcblk0 mkpart primary ext4 1MiB 30GiB + mkfs.ext4 /dev/mmcblk0p1 + mount /dev/mmcblk0p1 /mnt/test/ + +brom64: + mmc dev 0 + mmc part + fatwrite mmc 0 0 brom_a64.bin 0x10000 + aarch64-linux-gnu-objdump -D -b binary -marm brom_a64.bin diff --git a/u-boot/hmmm/gcc-5-arm-linux-gnueabihf-base_5.5.0-10cross1_amd64.deb b/u-boot/hmmm/gcc-5-arm-linux-gnueabihf-base_5.5.0-10cross1_amd64.deb new file mode 100644 index 0000000..d457e87 Binary files /dev/null and b/u-boot/hmmm/gcc-5-arm-linux-gnueabihf-base_5.5.0-10cross1_amd64.deb differ diff --git a/u-boot/hmmm/gcc-arm-md5sum-mismatch b/u-boot/hmmm/gcc-arm-md5sum-mismatch new file mode 100644 index 0000000..efc0e6f --- /dev/null +++ b/u-boot/hmmm/gcc-arm-md5sum-mismatch @@ -0,0 +1,27 @@ +Get:1 http://mirrors.huaweicloud.com/debian sid/main amd64 gcc-5-arm-linux-gnueabihf-base amd64 5.5.0-10cross1 [184 kB] +Err:1 http://mirrors.huaweicloud.com/debian sid/main amd64 gcc-5-arm-linux-gnueabihf-base amd64 5.5.0-10cross1 + Hash Sum mismatch + Hashes of expected file: + - SHA256:69e8973938019a6c034f7f4e53f3acf2264b7628507e19afea7354ad0a044f33 + - MD5Sum:98655251875e43aeb179dd2e409297a2 [weak] + - Filesize:183952 [weak] + Hashes of received file: + - SHA256:168c29eb1eb2f48229f217ac3300e930a1f38e6372dfecd6c4511af13c6d1620 + - MD5Sum:85f36150f56d28fdd5ef76db758d3780 [weak] + - Filesize:203 [weak] + Last modification reported: Wed, 12 Dec 2018 00:18:47 +0000 +Get:2 http://mirrors.huaweicloud.com/debian sid/main amd64 cpp-5-arm-linux-gnueabihf amd64 5.5.0-10cross1 [5708 kB] +Get:3 http://mirrors.huaweicloud.com/debian sid/main amd64 gcc-5-arm-linux-gnueabihf amd64 5.5.0-10cross1 [6212 kB] +Fetched 11.9 MB in 5s (2591 kB/s) +E: Failed to fetch http://mirrors.huaweicloud.com/debian/pool/main/g/gcc-5-cross/gcc-5-arm-linux-gnueabihf-base_5.5.0-10cross1_amd64.deb Hash Sum mismatch + Hashes of expected file: + - SHA256:69e8973938019a6c034f7f4e53f3acf2264b7628507e19afea7354ad0a044f33 + - MD5Sum:98655251875e43aeb179dd2e409297a2 [weak] + - Filesize:183952 [weak] + Hashes of received file: + - SHA256:168c29eb1eb2f48229f217ac3300e930a1f38e6372dfecd6c4511af13c6d1620 + - MD5Sum:85f36150f56d28fdd5ef76db758d3780 [weak] + - Filesize:203 [weak] + Last modification reported: Wed, 12 Dec 2018 00:18:47 +0000 +E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? +