GCW Zero Boot Kernel on external SD - jquenee/gcw0-guide GitHub Wiki

Introduction

TODO

External Boot step by step

  • Format external SD in FAT32
  • Build jzboot
git clone https://github.com/opendingux/jzboot
cd jzboot
make

Build UIBoot in STAGE1 mode

git clone https://github.com/gcwnow/UBIBoot.git
cd UBIBoot
make ARCH=mips CROSS_COMPILE=mipsel-gcw0-linux-uclibc- CONFIG=gcw0 STAGE1_ONLY=y

Clone linux kernel

git clone --depth 1 -b jz-5.3-gcw0 https://github.com/OpenDingux/linux.git

Overwrite kernel's command line (external SD example)

cd linux
vi ./arch/mips/configs/gcw0_defconfig
CONFIG_CMDLINE="root=/dev/mmcblk1p1 rootfstype=vfat rootwait ro init=/mininit-syspart"
CONFIG_CMDLINE_EXTEND=y

Build kernel

export PATH=/opt/gcw0-toolchain/usr/bin/:$PATH
make ARCH=mips gcw0_defconfig
make ARCH=mips CROSS_COMPILE=mipsel-gcw0-linux-uclibc- uzImage.bin

Add device tree into boot kernel image

mv uzImage.bin uzImage.bin.org
cat uzImage.bin.org ./arch/mips/boot/dts/ingenic/gcw0.dtb > uzImage.bin
  • Copy following binaries in external SD at root folder
scp modules.squashfs [email protected]:/media/sdcard/
scp mininit-syspart [email protected]:/media/sdcard/
scp rootfs.squashfs [email protected]:/media/sdcard/
  • Put GCW0 in USB mode (Reset + hold SELECT Button)
  • Boot the kernel from desktop
cd jzboot
sudo jzboot ubiboot-v20_mddr_512mb.bin uzImage.bin