1 Introduction
2 ------------
3
4 NanoPayload is a test of bootable payloads for the Ben NanoNote, exploring the
5 necessary initialisation activities to allow programs to run on the device.
6 Unlike U-Boot, it does not seek to become a general framework for booting any
7 kind of device; instead, it merely attempts to provide a minimal collection of
8 routines for "bare metal" software usage in order to illustrate the
9 initialisation requirements and to make it possible to deploy other software.
10
11 The payloads can be deployed on the Ben NanoNote using the USB boot mode as
12 described on the Qi-Hardware site:
13
14 http://en.qi-hardware.com/wiki/USB_BOOT_mode
15
16 A suitable command can be issued on a USB host machine as follows (given
17 sufficient privileges):
18
19 usbboot -c 'boot' -1 stage1/stage1.bin -2 stage2/stage2.bin
20
21 An attempt has been made to also generate payloads for the jz4730-based
22 MiniPC/Mipsbook/Minibook device. This device does not appear to support USB
23 boot mode, and thus any payloads will need to be deployed by other means.
24
25 Related U-Boot Resources
26 ------------------------
27
28 For the Ben NanoNote, some resources may only exist in the branch of U-Boot
29 identified as u-boot-2012.10-rc2 when configuring OpenWrt. Others may exist in
30 the principal U-Boot development branch, but differ between that branch and
31 the previous XBurst-supporting branch.
32
33 arch/mips/cpu/xburst/jz4740.c RAM and clock-related initialisation
34 arch/mips/lib/board.c generic board initialisation
35 arch/mips/include/asm/io.h things like readl and writel
36 board/qi/qi_lb60/qi_lb60.c board-specific initialisation
37 common/lcd.c generic LCD initialisation