From fb6a8dfc7cba3898b50ec514ecc6232b7c29b054 Mon Sep 17 00:00:00 2001 From: Theodotos Andreou Date: Thu, 7 Jun 2018 00:25:04 -0700 Subject: [PATCH] Initial Commit --- README.md | 7 ++++++ boot-geexbox.uboot | 5 ++++ setup-usb-boot-utilite.uboot | 4 ++++ u-boot-update-env.sh | 34 +++++++++++++++++++++++++++ u-boot_utilite.env.orig | 45 ++++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 README.md create mode 100644 boot-geexbox.uboot create mode 100644 setup-usb-boot-utilite.uboot create mode 100755 u-boot-update-env.sh create mode 100644 u-boot_utilite.env.orig diff --git a/README.md b/README.md new file mode 100644 index 0000000..be722a9 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# U-boot for Utilte + +This is some work I've on my (now perished) Utilite: + +https://en.wikipedia.org/wiki/Utilite + +Probably no longer useful but some some sentimental value so here it is. diff --git a/boot-geexbox.uboot b/boot-geexbox.uboot new file mode 100644 index 0000000..988e804 --- /dev/null +++ b/boot-geexbox.uboot @@ -0,0 +1,5 @@ +# You will need to create an empty 'geexbox' directory under your boot file-system on the USB, for this setup to work +dtbaddr=15000000 +usbdev=0 +bootgeex=setenv dtb imx6q-sbc-fx6m.dtb;setenv zimage zImage;if fatload usb ${usbdev} ${loadaddr} ${zimage}; then setenv bootargs console=ttymxc3,115200 root=/dev/sdb2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080@60,if=RGB24,bpp=16 consoleblank=0 cm_fx6_v4l dmfc=3 mxc_vout.vdi_rate_double=1;fatload usb ${usbdev} ${dtbaddr} ${dtb};fi;bootz ${loadaddr} - ${dtbaddr} +bootcmd=run setupmmcboot;mmc dev ${storagedev};if mmc rescan; then run trybootsrz;fi;run setupusbboot;if usb start; then if fatls usb ${usbdev} geexbox; then run bootgeex;fi;if run loadscript; then run bootscript;else run usbbootargs;if run loadkernel; then run doboot;else setenv bootargs;fi;fi;fi; run setupsataboot;if sata init; then run trybootsmz;fi;run setupnandboot;run nandboot; diff --git a/setup-usb-boot-utilite.uboot b/setup-usb-boot-utilite.uboot new file mode 100644 index 0000000..c58cca0 --- /dev/null +++ b/setup-usb-boot-utilite.uboot @@ -0,0 +1,4 @@ +bootcmd=run setupmmcboot;mmc dev ${storagedev};if mmc rescan; then run trybootsrz;fi;run setupusbboot;if usb start; then if run loadscript; then run bootscript;else run usbbootargs;if run loadkernel; then run doboot;else setenv bootargs;fi;fi;fi; run setupsataboot;if sata init; then run trybootsmz;fi;run setupnandboot;run nandboot; +usbroot=/dev/sdb2 +usbrootdelay=1 +usbbootargs=setenv bootargs root=${usbroot} rootdelay=${usbrootdelay} diff --git a/u-boot-update-env.sh b/u-boot-update-env.sh new file mode 100755 index 0000000..503cfdb --- /dev/null +++ b/u-boot-update-env.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# This script will accept a text file with standard u-boot commands and +# load it to the U-Boot environment. The original environment is saved +# in a backup file in the current directory + +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +BACKUP_FILE=u-boot_env-$$.bak + +if [ -z "$1" ]; then + echo "Usage: $0 U-BOOT_ENV_FILE" + exit 1 +fi + +# Backup existing U-Boot environment +env fw_printenv > $BACKUP_FILE || exit 2 + +# Check if the ethaddr variable is defined +ethaddr=$(fw_printenv ethaddr 2> /dev/null) + +while read line +do + # Suppress the ethaddr overwrite warning + [ -z "$ethaddr"] && [[ "$line" =~ "ethaddr" ]] && continue + + # ignore comments starting with '#' + if [[ "$line" == *'#'* ]]; then + line=$(echo $line | cut -d\# -f1) + fi + + if [[ $line = *[^[:space:]]* ]]; then + env fw_setenv $(echo $line | sed 's/=/ /') || exit 3 + fi +done < "$1" diff --git a/u-boot_utilite.env.orig b/u-boot_utilite.env.orig new file mode 100644 index 0000000..a09e7cf --- /dev/null +++ b/u-boot_utilite.env.orig @@ -0,0 +1,45 @@ +autoload=no +baudrate=115200 +bootcmd=run setupmmcboot;mmc dev ${storagedev};if mmc rescan; then run trybootsmz;fi;run setupusbboot;if usb start; then if run loadscript; then run bootscript;fi;fi;run setupsataboot;if sata init; then run trybootsmz;fi;run setupnandboot;run nandboot; +bootdelay=2 +bootm_low=18000000 +bootscript=echo Running bootscript from ${storagetype} ...;source ${loadaddr}; +console=ttymxc3,115200 +doboot=bootm ${loadaddr} +doloadfdt=false +dtb=cm-fx6.dtb +ethprime=FEC0 +fdtaddr=0x11000000 +kernel=uImage-cm-fx6 +loadaddr=0x10800000 +loadfdt=load ${storagetype} ${storagedev} ${fdtaddr} ${dtb}; +loadkernel=load ${storagetype} ${storagedev} ${loadaddr} ${kernel}; +loadscript=load ${storagetype} ${storagedev} ${loadaddr} ${script}; +mmcargs=setenv bootargs console=${console} root=${mmcroot} ${video} +mmcroot=/dev/mmcblk0p2 rw rootwait +nandargs=setenv bootargs console=${console} root=${nandroot} rootfstype=${nandrootfstype} ${video} +nandboot=if run nandloadkernel; then run nandloadfdt;run setboottypem;run storagebootcmd;run setboottypez;run storagebootcmd;fi; +nandloadfdt=nand read ${fdtaddr} 780000 80000; +nandloadkernel=nand read ${loadaddr} 0 780000; +nandroot=/dev/mtdblock4 rw +nandrootfstype=ubifs +panel=HDMI +preboot=usb start +run_eboot=echo Starting EBOOT ...; mmc dev 2 && mmc rescan && mmc read 10042000 a 400 && go 10042000 +sataargs=setenv bootargs console=${console} root=${sataroot} ${video} +sataroot=/dev/sda2 rw rootwait +script=boot.scr +setboottypem=setenv kernel uImage-cm-fx6;setenv doboot bootm ${loadaddr};setenv doloadfdt false; +setboottypez=setenv kernel zImage-cm-fx6;setenv doboot bootz ${loadaddr} - ${fdtaddr};setenv doloadfdt true; +setupmmcboot=setenv storagetype mmc; setenv storagedev 2; +setupnandboot=setenv storagetype nand; +setupsataboot=setenv storagetype sata; setenv storagedev 0; +setupusbboot=setenv storagetype usb; setenv storagedev 0; +stderr=serial,vga +stdin=serial,usbkbd +stdout=serial,vga +storagebootcmd=echo Booting from ${storagetype} ...;run ${storagetype}args; run doboot; +trybootk=if run loadkernel; then if ${doloadfdt}; then run loadfdt;fi;run storagebootcmd;fi; +trybootsmz=if run loadscript; then run bootscript;fi;run setboottypem;run trybootk;run setboottypez;run trybootk; +video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32 +video_hdmi=mxcfb0:dev=hdmi,1920x1080M-32@50,if=RGB32