# 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