aboutsummaryrefslogtreecommitdiffstats
path: root/doc/dreamplug.txt
blob: f243f196272df190fd6cdb55ed4f22eb545b5db3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

Kernel and initrd Images
---------------------------
The bootloader running on the DreamPlug (u-boot) expects raw, uncompressed
kernel and initrd images, usually named uImage and uInitrd. The appropriate
device tree file (dtb) must also be overlaid on the kernel to boot
successfully.

By default Debian (and the Debian Live build process) generates compressed
images, eg initrd.img-3.2.0-4-kirkwood and vmlinuz-3.2.0-4-kirkwood.

The scripts ./config/hooks/kernel-image.sh.chroot and
./config/hooks/kernel-image.sh.binary repack the image files and copy them over
to the /live directory in the final binary filesystem.


DreamPlug u-Boot Overview
---------------------------

Many factory-configured DreamPlugs need their internal u-boot firmware updated
and re-configured to boot from the external SD card. 

You may want to remove the internal microSD card for the sake of simplicity.
This will result in u-boot and linux boot warnings (eg, media not ready), but
these can be ignored.

The desired u-boot configuration is: 

    x_bootcmd_usb 'usb start'
    baudrate 115200
    bootcmd '${x_bootcmd_usb}; ${x_bootcmd_kernel}; ${x_bootcmd_initrd}; setenv bootargs ${x_bootargs} ${x_bootargs_root} ${x_bootargs_console}; bootm 0x6400000 0x6900000;'
    x_bootcmd_kernel ext2load usb 1:1 0x6400000 live/uImage
    x_bootcmd_initrd ext2load usb 1:1 0x6900000 live/uInitrd
    x_bootargs_root root=/dev/sdb1 rootdelay=4
    x_bootargs_console console=ttyS0,115200
    x_bootargs boot=live config username=torouter hostname=torouter live-media=/dev/sdb1 live-media-timeout=10 debug plainroot nonetworking


HOWTO: flash and configure u-boot
-----------------------------------

The default SD card images include the u-boot firmware required to boot from
the card. Insert a flashed SD card into the DreamPlug and connect with screen:

    $ screen /dev/ttyUSB0 115200

Power up the DreamPlug and quickly press enter in the screen session to
interrupt boot. Then enter the following commands into the running u-boot
session (change the last argument of the 'sf write' line, in hex, if the .kwb
file size changes from exactly 196076 bytes):

    usb start
    fatload usb 1 0x6400000 uboot.2012.04.01-2_armel.kwb
    sf probe 0
    sf erase 0x0 0x80000
    sf write 0x6400000 0x0 0x2fdec
    setenv baudrate 115200
    setenv bootcmd '${x_bootcmd_usb}; ${x_bootcmd_kernel}; ${x_bootcmd_initrd}; setenv bootargs ${x_bootargs} ${x_bootargs_root} ${x_bootargs_console}; bootm 0x6400000 0x6900000;'
    setenv x_bootcmd_usb 'usb start'
    setenv x_bootcmd_kernel ext2load usb 1:1 0x6400000 live/uImage
    setenv x_bootcmd_initrd ext2load usb 1:1 0x6900000 live/uInitrd
    setenv x_bootargs_root root=/dev/sdb1 rootdelay=4
    setenv x_bootargs_console console=ttyS0,115200
    setenv x_bootargs boot=live config username=torouter hostname=torouter live-media=/dev/sdb1 live-media-timeout=10 debug plainroot nonetworking
    saveenv
    reset

NOTE: it's possible the above directions are out of date and need to be
refreshed


Background Info, Links
--------------------------

See the DreamPlug.jpg photo in this folder.

Random notes on the DreamPlug:
http://www.madore.org/~david/linux/dreamplug.html