From d19c44ac89bf9dae267466dbaafcdab65d63c667 Mon Sep 17 00:00:00 2001 From: Bob Mottram <bob.mottram@codethink.co.uk> Date: Tue, 1 Dec 2015 16:59:50 +0000 Subject: [PATCH] Support for other A20 boards --- man/freedombone-image.1.gz | Bin 2252 -> 2275 bytes src/freedombone-image-hardware-setup | 39 ++++++++++++++++++--------- src/freedombone-image-make | 2 +- src/freedombone-image-makefile | 30 +++++++++++++++++++++ 4 files changed, 57 insertions(+), 14 deletions(-) diff --git a/man/freedombone-image.1.gz b/man/freedombone-image.1.gz index 9226af6bf2830757ba221d59fb6010e124646418..5be0a0d3f3ae65f4cee66bc9458bc9646f20cb9b 100644 GIT binary patch literal 2275 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 literal 2252 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 aIS;2k%lvI1894UTR`Oq}({ngH6aWD9-BT0* diff --git a/src/freedombone-image-hardware-setup b/src/freedombone-image-hardware-setup index 68332b7f2..774762a82 100755 --- a/src/freedombone-image-hardware-setup +++ b/src/freedombone-image-hardware-setup @@ -133,21 +133,21 @@ beaglebone_repack_kernel() { -d $initRd uInitrd ) } -cubieboard2_setup_boot() { +a20_setup_boot() { + dtb="$1" + # Setup boot.cmd if grep -q btrfs /etc/fstab ; then - fstype=btrfs + fstype=btrfs else - fstype=ext4 + fstype=ext4 fi - kernelVersion=$(ls /usr/lib/*/sun7i-a20-cubieboard2.dtb | head -1 | cut -d/ -f4) + kernelVersion=$(ls /usr/lib/*/$dtb | head -1 | cut -d/ -f4) version=$(echo $kernelVersion | sed 's/linux-image-\(.*\)/\1/') initRd=initrd.img-$version vmlinuz=vmlinuz-$version - # boot.cmd for Cubieboard2 - # Parameters based on: - # https://github.com/infidel/cubiebuild/blob/eb6fcf98cd91ea12a216448debc4cda70723d7b3/load-image/.pyboot + # Create boot.cmd cat >> /boot/boot.cmd <<EOF setenv mmcdev 0 setenv mmcpart 1 @@ -160,10 +160,11 @@ setenv console ttyS0,115200n8 setenv kernel_file $vmlinuz setenv initrd_file $initRd +setenv fdtfile $dtb -setenv loadaddr 0x41000000 -setenv initrd_addr 0x43000000 -setenv fdtaddr 0x42000000 +setenv loadaddr 0x46000000 +setenv initrd_addr 0x48000000 +setenv fdtaddr 0x47000000 setenv initrd_high 0xffffffff setenv fdt_high 0xffffffff @@ -178,10 +179,10 @@ setenv mmcargs setenv bootargs console=\${console} root=\${mmcroot} rootfstype=\ run loadfiles; run mmcargs; bootz \${loadaddr} \${initrd_addr}:\${initrd_size} \${fdtaddr} EOF - # boot.scr for Cubieboard2 + # boot.scr for Allwinner A20 based device mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr - # DTBs for Cubieboard2 + # Copy all DTBs mkdir -p /boot/dtbs cp /usr/lib/$kernelVersion/* /boot/dtbs @@ -196,8 +197,20 @@ case "$MACHINE" in beaglebone_repack_kernel enable_serial_console ttyO0 ;; + cubietruck) + a20_setup_boot sun7i-a20-cubietruck.dtb + enable_serial_console ttyS0 + ;; + a20-olinuxino-lime2) + a20_setup_boot sun7i-a20-olinuxino-lime2.dtb + enable_serial_console ttyS0 + ;; + a20-olinuxino-micro) + a20_setup_boot sun7i-a20-olinuxino-micro.dtb + enable_serial_console ttyS0 + ;; cubieboard2) - cubieboard2_setup_boot + a20_setup_boot sun7i-a20-cubieboard2.dtb enable_serial_console ttyS0 ;; esac diff --git a/src/freedombone-image-make b/src/freedombone-image-make index 73f1de8a0..f027ae29e 100755 --- a/src/freedombone-image-make +++ b/src/freedombone-image-make @@ -93,7 +93,7 @@ case "$MACHINE" in --roottype btrfs \ " ;; - cubieboard2) + cubietruck | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2) extra_pkgs="$a20_pkgs" extra_opts="\ --variant minbase \ diff --git a/src/freedombone-image-makefile b/src/freedombone-image-makefile index cb4943966..061019efb 100755 --- a/src/freedombone-image-makefile +++ b/src/freedombone-image-makefile @@ -97,6 +97,36 @@ cubieboard2: prep $(SIGN) @echo "Build complete." +# build CubieTruck SD card image +cubietruck: prep + $(eval ARCHITECTURE = armhf) + $(eval MACHINE = cubietruck) + $(MAKE_IMAGE) + $(TAR) $(ARCHIVE) $(IMAGE) + @echo "" + $(SIGN) + @echo "Build complete." + +# build A20 OLinuXino Lime2 SD card image +a20-olinuxino-lime2: prep + $(eval ARCHITECTURE = armhf) + $(eval MACHINE = a20-olinuxino-lime2) + $(MAKE_IMAGE) + $(TAR) $(ARCHIVE) $(IMAGE) + @echo "" + $(SIGN) + @echo "Build complete." + +# build A20 OLinuXino MIRCO SD card image +a20-olinuxino-micro: prep + $(eval ARCHITECTURE = armhf) + $(eval MACHINE = a20-olinuxino-micro) + $(MAKE_IMAGE) + $(TAR) $(ARCHIVE) $(IMAGE) + @echo "" + $(SIGN) + @echo "Build complete." + # build an i386 image i386: prep $(eval ARCHITECTURE = i386) -- GitLab