yº�y    RQ³˜7         vv¸¾�Ç¨gœ      /init/ps1   �Ç¨hÿ  #!/bin/sh

if [ ${global.allow_color} = "true" ]; then
        export PS1="\e[1;32mbarebox@\e[1;36m\h:\w\e[0m "
else
        export PS1="barebox@\h:\w "
fi
�Ç¨gD     /init/mtdparts-nand �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
	init-menu-add-entry "$0" "NAND partitions"
	exit
fi

mtdparts="2M(nand0.barebox),128k(nand0.bareboxenv),8M(nand0.kernel),-(nand0.root)"
#mtdparts="512k(nand0.barebox)ro,128k(nand0.bareboxenv),-(nand0.sys)"
kernelname="gpmi-nand"

mtdparts-add -b -d nand0 -k ${kernelname} -p ${mtdparts}
�Ç¨g„     /init/automount �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
	init-menu-add-entry "$0" "Automountpoints"
	exit
fi

# automount tftp server based on $eth0.serverip

mkdir -p /mnt/tftp
automount /mnt/tftp 'ifup eth0 && mount -t tftp $eth0.serverip /mnt/tftp'

# automount sd card

mkdir -p /mnt/fat
automount -d /mnt/fat '[ -e /dev/disk0.0 ] && mount /dev/disk0.0 /mnt/fat'

# automount nfs server example

#nfshost=somehost
#mkdir -p /mnt/${nfshost}
#automount /mnt/$nfshost "ifup eth0 && mount -t nfs ${nfshost}:/tftpboot /mnt/${nfshost}"

# FAT on usb disk example

#mkdir -p /mnt/fat
#automount -d /mnt/fat 'usb && [ -e /dev/disk0.0 ] && mount /dev/disk0.0 /mnt/fat'
�Ç¨g     /data/boot-template �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
	boot-menu-add-entry "$0" "<menu text here>"
	exit
fi

global.bootm.image=<path to image>
#global.bootm.oftree=<path to oftree>
#global.bootm.initrd=<path to initrd>

#bootargs-ip

global.linux.bootargs.dyn.root="root=<rootfs here>"
   �Ç¨gy     /data/ansi-colors   �Ç¨hÿ  #!/bin/sh

if [ ${global.allow_color} != "true" ]; then
	exit
fi

# Colors
export RED='\e[1;31m'
export BLUE='\e[1;34m'
export GREEN='\e[1;32m'
export CYAN='\e[1;36m'
export YELLOW='\e[1;33m'
export PINK='\e[1;35m'
export WHITE='\e[1;37m'

export DARK_RED='\e[2;31m'
export DARK_BLUE='\e[2;34m'
export DARK_GREEN='\e[2;32m'
export DARK_CYAN='\e[2;36m'
export DARK_YELLOW='\e[2;33m'
export DARK_PINK='\e[2;35m'
export DARK_WHITE='\e[2;37m'

export RED_INV='\e[1;41m'
export BLUE_INV='\e[1;44m'
export GREEN_INV='\e[1;42m'
export CYAN_INV='\e[1;46m'
export ORANGE_INV='\e[1;43m'
export PINK_INV='\e[1;45m'
export NC='\e[0m' # No Color
   �Ç¨g¿     /config �Ç¨hÿ  #!/bin/sh

# change network settings in /env/network/eth0
# change mtd partition settings and automountpoints in /env/init/*

#global.hostname=

# set to false if you do not want to have colors
#global.allow_color=true

# user (used for network filenames)
#global.user=none

# timeout in seconds before the default boot entry is started
#global.autoboot_timeout=3

# list of boot entries. These are executed in order until one
# succeeds. An entry can be:
# - a filename in /env/boot/
# - a full path to a directory. All files in this directory are
#   treated as boot files and executed in alphabetical order
#global.boot.default=net

# base bootargs
#global.linux.bootargs.base="console=ttyS0,115200"
 �Ç¨g>   $   /menu/init-entries-collect  �Ç¨hÿ  #!/bin/sh

cd /env/init

for i in *; do
	./$i menu
done

cd /
  �Ç¨gÑ     /menu/mainmenu  �Ç¨hÿ  #!/bin/sh

savepath=$PATH
export menupath=$PATH:/env/menu

. /env/data/ansi-colors

while true; do
	export PATH=${menupath}

	echo $PATH

	menu -a -m boot -d "${CYAN}Welcome to Barebox${NC}"

	boot-entries-collect

	menu -e -a -m boot -c "settings" -d "Settings"
	menu -e -a -m boot -c 'PATH=$savepath; echo "enter exit to return to menu"; sh' -d "${DARK_YELLOW}Shell${NC}"
	menu -e -a -m boot -c reset -d "${RED}Reset${NC}"

	menu -s -m boot
	menu -r -m boot
done
   �Ç¨gÜ      /menu/boot-entries-edit �Ç¨hÿ  #!/bin/sh

export menu_exit=false

while true; do
	menu -a -m boot_entries_edit -d "\e[1;36mEdit boot entries\e[0m"

	boot-entries-collect

	menu -e -a -m boot_entries_edit -c "boot-menu-new-boot-entry" -d "Add a new entry"
	menu -e -a -m boot_entries_edit -c "boot-entries-remove" -d "Remove an entry"
	menu -e -a -m boot_entries_edit -c "menu_exit=true" -d "back"

	menu -s -m boot_entries_edit
	menu -r -m boot_entries_edit

	if [ $menu_exit = true ]; then
		exit
	fi
done
�Ç¨gŸ      /menu/init-entries-edit �Ç¨hÿ  #!/bin/sh

export menu_exit=false

while true; do
	menu -a -m init_entries_edit -d "\e[1;36mEdit init entries\e[0m"

	menu -e -a -m init_entries_edit -R -c "true" -d ">> Reset board to let changes here take effect <<"

	init-entries-collect

	menu -e -a -m init_entries_edit -c "menu_exit=true" -d "back"

	menu -s -m init_entries_edit
	menu -r -m init_entries_edit

	if [ $menu_exit = true ]; then
		exit
	fi
done
 �Ç¨g�   $   /menu/boot-entries-collect  �Ç¨hÿ  #!/bin/sh

cd /env/boot

./$global.boot.default menu

for i in *; do
	if [ "$i" != "$global.boot.default" ]; then
		./$i menu
	fi
done

cd /
   �Ç¨g  $   /menu/boot-menu-add-entry   �Ç¨hÿ  #!/bin/sh

menu -e -a -m boot -c "boot -v $1; echo; readline \"press enter to continue\" a " -d "Boot: ${GREEN}$2${NC}"
menu -e -a -m boot_entries_edit -c "$global.editcmd /env/boot/$1" -d "${GREEN}$2${NC}"
menu -e -a -m boot_entries_remove -c "rm /env/boot/$1" -d "${GREEN}$2${NC}"
 �Ç¨g–     /menu/settings  �Ç¨hÿ  #!/bin/sh

export menu_exit=false

while true; do
	menu -a -m settings -d "${CYAN}Settings${NC}"

	menu -e -a -R -m settings -c "$global.editcmd /env/network/eth0" -d "Network settings"
	menu -e -a -R -m settings -c "$global.editcmd /env/config" -d "Config settings"
	menu -e -a -m settings -c "boot-entries-edit" -d "Edit boot entries"
	menu -e -a -m settings -c "init-entries-edit" -d "Edit init entries"
	menu -e -a -R -m settings -c "saveenv || echo \"failed to save environment\" && sleep 2" -d "Save settings"
	menu -e -a -m settings -c "menu_exit=true" -d "back"

	menu -s -m settings
	menu -r -m settings

	if [ $menu_exit = true ]; then
		exit
	fi
done
  �Ç¨gA  $   /menu/boot-entries-remove   �Ç¨hÿ  #!/bin/sh

export menu_exit=false

while true; do
	menu -a -m boot_entries_remove -d "\e[1;36mRemove Boot entry\e[0m"

	boot-entries-collect

	menu -e -a -m boot_entries_remove -c "menu_exit=true" -d "back"

	menu -s -m boot_entries_remove
	menu -r -m boot_entries_remove

	if [ $menu_exit = true ]; then
		exit
	fi
done
   �Ç¨g$  (   /menu/boot-menu-new-boot-entry  �Ç¨hÿ  #!/bin/sh

name=

readline "Name of the new entry: " name

if [ -z "$name" ]; then
	exit 1
fi

if [ -e "/env/boot/$name" ]; then
	echo "entry $name already exists"
	readline "<enter>" unused
	exit 1
fi

cp /env/data/boot-template /env/boot/$name

edit /env/boot/$name

boot-menu-show rebuild
�Ç¨gb   $   /menu/init-menu-add-entry   �Ç¨hÿ  #!/bin/sh

menu -e -a -m init_entries_edit -c "$global.editcmd /env/init/$1" -d "\e[1;32m$2\e[0m"
  �Ç¨gT     /network/eth0   �Ç¨hÿ  #!/bin/sh

# ip setting (static/dhcp)
ip=static
global.dhcp.vendor_id=barebox-${global.hostname}

# static setup used if ip=static
ipaddr=192.168.3.11
netmask=255.255.255.0
gateway=192.168.3.10
serverip=192.168.3.10

# MAC address if needed
#ethaddr=xx:xx:xx:xx:xx:xx

# put code to discover eth0 (i.e. 'usb') to /env/network/eth0-discover
�Ç¨gy     /boot/nand  �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
        boot-menu-add-entry "$0" "Kernel:nand;rootfs:nand"
        exit
fi

#if [ ! -e /dev/ubi0 ]; then
#	ubiattach /dev/nand0.sys
#fi

#global.bootm.image="/dev/ubi0.kernel"
global.bootm.image="/dev/nand0.kernel.bb"
#global.bootm.oftree="/env/oftree"
bootargs-ip
global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=3 rootfstype=ubifs"

   �Ç¨gý      /boot/sd-ext3   �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
        boot-menu-add-entry "$0" "MMC (ext3)"
        exit
fi

global.bootm.image="/mnt/kernel/zImage"
#global.bootm.oftree="/boot/oftree"
global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
   �Ç¨gŠ     /boot/net   �Ç¨hÿ  #!/bin/sh

if [ "$1" = menu ]; then
	boot-menu-add-entry "$0" "network (tftp, nfs)"
	exit
fi

path="/mnt/tftp"

global.bootm.image="${path}/${global.user}-linux-${global.hostname}"
#global.bootm.oftree="${path}/${global.user}-oftree-${global.hostname}"
nfsroot="/home/${global.user}/nfsroot/${global.hostname}"
bootargs-ip
global.linux.bootargs.dyn.root="root=/dev/nfs nfsroot=$nfsroot,v3,tcp"
  �Ç¨gË     /bin/init   �Ç¨hÿ  #!/bin/sh

export PATH=/env/bin

global hostname=generic
global user=none
global autoboot_timeout=3
global boot.default=net
global allow_color=true
global linux.bootargs.base
#linux.bootargs.dyn.* will be cleared at the beginning of boot
global linux.bootargs.dyn.ip
global linux.bootargs.dyn.root
global editcmd=sedit

[ -e /env/config-board ] && /env/config-board
/env/config

if [ -e /env/menu ]; then
	echo -e -n "\nHit m for menu or any other key to stop autoboot: "
else
	echo -e -n "\nHit any key to stop autoboot: "
fi

# allow to stop the boot before execute the /env/init/*
# but without waiting
timeout -s -a -v key 0

if [ "${key}" = "q" ]; then
	exit
fi

for i in /env/init/*; do
	. $i
done

timeout -a $global.autoboot_timeout -v key
autoboot="$?"

if [ "${key}" = "q" ]; then
	exit
fi

if [ "$autoboot" = 0 ]; then
	boot
fi

if [ -e /env/menu ]; then
	if [ "${key}" != "m" ]; then
		echo -e "\ntype exit to get to the menu"
		sh
	fi
	/env/menu/mainmenu
fi
 �Ç¨g—     /bin/_boot_help �Ç¨hÿ  #!/bin/sh

for i in /env/boot/*; do
	basename $i s
	sources="$sources$s "
done

if [ -d /env/boot.d ]; then
	seq_sources="boot sequence:"
	for i in /env/boot.d/*; do
		readlink -f $i s
		basename $s link
		basename $i s
		seq_sources="$seq_sources\n ${YELLOW}${s}${NC} -> ${CYAN}${link}${NC}"
	done
else
	seq_sources="boot sequence:\n${GREEN}none${NC}"
fi

echo -e "boot sources:\n$sources\n\n$seq_sources"
 �Ç¨g€     /bin/mtdparts-add   �Ç¨hÿ  #!/bin/sh

mkdir -p /tmp/mtdparts

parts=
device=
kernelname=
bbdev=

while getopt "p:d:k:b" opt; do
        if [ ${opt} = p ]; then
                parts=${OPTARG}
        elif [ ${opt} = d ]; then
                device=${OPTARG}
        elif [ ${opt} = k ]; then
                kernelname=${OPTARG}
	elif [ ${opt} = b ]; then
		bbdev=true
        fi
done

if [ -z "${device}" ]; then
	echo "$0: no device given"
	exit
fi

if [ -z "${parts}" ]; then
	echo "$0: no partitions given"
	exit
fi

if [ -e /tmp/mtdparts/${device} ]; then
	if [ -n "/dev/${device}.*.bb" ]; then
		nand -d /dev/${device}.*.bb
	fi
	delpart /dev/${device}.*
fi

addpart -n /dev/${device} "$parts" || exit
mkdir -p /tmp/mtdparts/${device}

if [ -n "${bbdev}" ]; then
	nand -a /dev/${device}.*
fi

if [ -n ${kernelname} ]; then
	global linux.mtdparts.${device}
	global.linux.mtdparts.${device}="${kernelname}:${parts}"
fi
�Ç¨gj      /bin/_boot_list �Ç¨hÿ  #!/bin/sh

# This script is a workaround for buggy globbing in for loops

for i in $*; do
	_boot $i;
done
  �Ç¨gÂ     /bin/ifup   �Ç¨hÿ  #!/bin/sh

mkdir -p /tmp/network

if [ $# != 1 ]; then
	echo "usage: ifup <interface>"
	exit 1
fi

interface="$1"

if [ -f /tmp/network/$interface ]; then
	exit 0
fi

cmd=/env/network/$interface

if [ ! -e $cmd ]; then
	echo "$f: no such file"
	exit 1
fi

ip=
ipaddr=
netmask=
gateway=
serverip=
ethaddr=

. $cmd

if [ $? != 0 ]; then
	echo "failed to bring up $interface"
	exit 1
fi

if [ -f /env/network/${interface}-discover ]; then
	/env/network/${interface}-discover
	if [ $? != 0 ]; then
		echo "failed to discover eth0"
		exit 1
	fi
fi

if [ -n "$ethaddr" ]; then
	${interface}.ethaddr=$ethaddr
fi

if [ "$ip" = static ]; then
	${interface}.ipaddr=$ipaddr
	${interface}.netmask=$netmask
	${interface}.serverip=$serverip
	${interface}.gateway=$gateway
	ret=0
elif [ "$ip" = dhcp ]; then
	dhcp
	ret=$?
	if [ $ret = 0 -a -n "$serverip" ]; then
		${interface}.serverip=$serverip
	fi
fi

if [ $ret = 0 ]; then
	echo -o /tmp/network/$interface up
fi

exit $ret
  �Ç¨gû      /bin/bootargs-ip    �Ç¨hÿ  #!/bin/sh

# pass either static ip or dhcp to kernel based on barebox settings

. /env/network/eth0

if [ $ip = dhcp ]; then
	global.linux.bootargs.dyn.ip="ip=dhcp"
else
	global.linux.bootargs.dyn.ip="ip=$ipaddr:$serverip:$gateway:$netmask::eth0:"
fi
 �Ç¨g³     /bin/boot   �Ç¨hÿ  #!/bin/sh

BOOT_BOOTM_OPTS=
BOOT_DRYRUN=
BOOT_VERBOSE=
list=
bootsrc=${global.boot.default}

usage="
$0 [OPTIONS] [source]\n
 -v  verbose\n
 -d  dryrun\n
 -l  list boot sources\n
 -h  help"

. /env/data/ansi-colors

while getopt "vdhl" opt; do
	if [ ${opt} = v ]; then
		BOOT_BOOTM_OPTS="$BOOT_BOOTM_OPTS -v"
		BOOT_VERBOSE=1
	elif [ ${opt} = d ]; then
		BOOT_DRYRUN=1
	elif [ ${opt} = l ]; then
		list=1
	elif [ ${opt} = h ]; then
		echo -e "$usage"
		exit 0
	fi
done

if [ -n "$list" ]; then
	echo "boot sources:"
	for i in /env/boot/*; do
		basename $i s
		echo $s
	done
	exit 0
fi

if [ -n "$1" ]; then
	bootsrc="$*"
fi

export BOOT_BOOTM_OPTS
export BOOT_DRYRUN
export BOOT_VERBOSE

for src in $bootsrc; do
	if [ -d ${src} ]; then
		realsrc="$realsrc $src/*"
	else
		realsrc="$realsrc $src"
	fi
done

if [ -n "$BOOT_VERBOSE" ]; then
	echo -e "\nboot sequence:${YELLOW}$realsrc${NC}\n"
fi

for s in $realsrc; do
	_boot_list $s
done

exit $ret
 �Ç¨g:     /bin/_boot  �Ç¨hÿ  #!/bin/sh

# The real boot script, to be called from _boot_list which is called
# from boot

. /env/data/ansi-colors

# clear linux.bootargs.dyn.* and bootm.*
global -r linux.bootargs.dyn.
global -r bootm.

file="$1"

scr=/env/boot/$file
if [ ! -f "$scr" ]; then
	scr="$file"
fi

if [ ! -f "$scr" ]; then
	echo -e "${RED}/env/boot/${file}${NC} or ${RED}${file}${NC} do not exist"
	_boot_help
	exit 2
fi

if [ -L $scr ]; then
	readlink -f $scr boot
	basename $boot link
	basename $scr boot
	echo -e "${GREEN}boot${NC} ${YELLOW}${boot}${NC} -> ${CYAN}${link}${NC}"
else
	echo -e "${GREEN}booting ${YELLOW}$file${NC}..."
fi

$scr

if [ -n "$BOOT_DRYRUN" ]; then
	echo "dryrun. exiting now"
	exit 0
fi

${global.bootm.image} $BOOT_BOOTM_OPTS
bootm $BOOT_BOOTM_OPTS

echo -e "${GREEN}booting ${YELLOW}$file${NC} ${RED}failed${NC}"
  �Ç¨gŠ     /config-board   �Ç¨hÿ  #!/bin/sh

# board defaults, do not change in running system. Change /env/config
# instead

global.boot.default=nand

# Displays
#display=Primeview-PD050VL1
#display=Primeview-PD035VL1
#display=Primeview-PD104SLF
#display=Primeview-PM070WL4
display=ETM0700G0DH6

global.hostname=phyCARD-i.MX6
global.linux.bootargs.base="console=ttymxc2,115200 video=mxcfb0:$display vt.global_cursor_default=0"
  