diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2011-03-18 16:42:52 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-03-18 17:22:25 +0000 |
commit | d2658c81017e5445e592a7c90222aaf37686486f (patch) | |
tree | 4783b8e8d73336963525dccd9ab30bc5cb9441d5 | |
parent | cb5e5139d4ea471e0bb374ee09c62d860c5ac2b7 (diff) | |
download | poky-d2658c81017e5445e592a7c90222aaf37686486f.tar.gz |
README.hardware: update for 1.0 release
* Update to refer to Yocto documentation
* Change title as suggested by Scott Rifenbark
* List all qemu* machine targets
* Remove machines no longer in core layer
* Add instructions for routerstationpro (originally based on an email from
Mark Hatle)
(From OE-Core rev: f8e9b15aa694b0f6d3373c2b6bf8904fdb0c7b86)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | README.hardware | 573 |
1 files changed, 170 insertions, 403 deletions
diff --git a/README.hardware b/README.hardware index c0df01bc0d..c68ad43d2a 100644 --- a/README.hardware +++ b/README.hardware | |||
@@ -1,429 +1,66 @@ | |||
1 | Poky Hardware Reference Guide | 1 | Poky Hardware README |
2 | ============================= | 2 | ==================== |
3 | 3 | ||
4 | This file gives details about using Poky with different hardware reference | 4 | This file gives details about using Poky with different hardware reference |
5 | boards and consumer devices. A full list of target machines can be found by | 5 | boards and consumer devices. A full list of target machines can be found by |
6 | looking in the meta/conf/machine/ directory. If in doubt about using Poky with | 6 | looking in the meta/conf/machine/ directory. If in doubt about using Poky with |
7 | your hardware, consult the documentation for your board/device. To discuss | 7 | your hardware, consult the documentation for your board/device. |
8 | support for further hardware reference boards/devices please contact OpenedHand. | ||
9 | 8 | ||
10 | QEMU Emulation Images (qemuarm and qemux86) | 9 | Support for additional devices is normally added by creating BSP layers - for |
11 | =========================================== | 10 | more information please see the Yocto Board Support Package (BSP) Developer's |
12 | 11 | Guide - documentation source is in documentation/bspguide or download the PDF | |
13 | To simplify development Poky supports building images to work with the QEMU | 12 | from: |
14 | emulator in system emulation mode. Two architectures are currently supported, | ||
15 | ARM (via qemuarm) and x86 (via qemux86). Use of the QEMU images is covered | ||
16 | in the Poky Handbook. | ||
17 | |||
18 | Hardware Reference Boards | ||
19 | ========================= | ||
20 | |||
21 | The following boards are supported by Poky: | ||
22 | |||
23 | * Compulab CM-X270 (cm-x270) | ||
24 | * Compulab EM-X270 (em-x270) | ||
25 | * FreeScale iMX31ADS (mx31ads) | ||
26 | * Marvell PXA3xx Zylonite (zylonite) | ||
27 | * Logic iMX31 Lite Kit (mx31litekit) | ||
28 | * Phytec phyCORE-iMX31 (mx31phy) | ||
29 | * Texas Instruments Beagleboard (beagleboard) | ||
30 | |||
31 | For more information see board's section below. The Poky MACHINE setting | ||
32 | corresponding to the board is given in brackets. | ||
33 | |||
34 | Consumer Devices | ||
35 | ================ | ||
36 | |||
37 | The following consumer devices are supported by Poky: | ||
38 | |||
39 | * FIC Neo1973 GTA01 smartphone (fic-gta01) | ||
40 | * HTC Universal (htcuniversal) | ||
41 | * Nokia 770/N800/N810 Internet Tablets (nokia770 and nokia800) | ||
42 | * Sharp Zaurus SL-C7x0 series (c7x0) | ||
43 | * Sharp Zaurus SL-C1000 (akita) | ||
44 | * Sharp Zaurus SL-C3x00 series (spitz) | ||
45 | |||
46 | For more information see board's section below. The Poky MACHINE setting | ||
47 | corresponding to the board is given in brackets. | ||
48 | |||
49 | |||
50 | Hardware Reference Boards | ||
51 | ========================= | ||
52 | |||
53 | Compulab CM-X270 (cm-x270) | ||
54 | ========================== | ||
55 | |||
56 | The bootloader on this board doesn't support writing jffs2 images directly to | ||
57 | NAND and normally uses a proprietary kernel flash driver. To allow the use of | ||
58 | jffs2 images, a two stage updating procedure is needed. Firstly, an initramfs | ||
59 | is booted which contains mtd utilities and this is then used to write the main | ||
60 | filesystem. | ||
61 | |||
62 | It is assumed the board is connected to a network where a TFTP server is | ||
63 | available and that a serial terminal is available to communicate with the | ||
64 | bootloader (38400, 8N1). If a DHCP server is available the device will use it | ||
65 | to obtain an IP address. If not, run: | ||
66 | |||
67 | ARMmon > setip dhcp off | ||
68 | ARMmon > setip ip 192.168.1.203 | ||
69 | ARMmon > setip mask 255.255.255.0 | ||
70 | |||
71 | To reflash the kernel: | ||
72 | |||
73 | ARMmon > download kernel tftp zimage 192.168.1.202 | ||
74 | ARMmon > flash kernel | ||
75 | |||
76 | where zimage is the name of the kernel on the TFTP server and its IP address is | ||
77 | 192.168.1.202. The names of the files must be all lowercase. | ||
78 | |||
79 | To reflash the initrd/initramfs: | ||
80 | |||
81 | ARMmon > download ramdisk tftp diskimage 192.168.1.202 | ||
82 | ARMmon > flash ramdisk | ||
83 | |||
84 | where diskimage is the name of the initramfs image (a cpio.gz file). | ||
85 | |||
86 | To boot the initramfs: | ||
87 | |||
88 | ARMmon > ramdisk on | ||
89 | ARMmon > bootos "console=ttyS0,38400 rdinit=/sbin/init" | ||
90 | |||
91 | To reflash the main image login to the system as user "root", then run: | ||
92 | |||
93 | # ifconfig eth0 192.168.1.203 | ||
94 | # tftp -g -r mainimage 192.168.1.202 | ||
95 | # flash_eraseall /dev/mtd1 | ||
96 | # nandwrite /dev/mtd1 mainimage | ||
97 | |||
98 | which configures the network interface with the IP address 192.168.1.203, | ||
99 | downloads the "mainimage" file from the TFTP server at 192.168.1.202, erases | ||
100 | the flash and then writes the new image to the flash. | ||
101 | |||
102 | The main image can then be booted with: | ||
103 | |||
104 | ARMmon > bootos "console=ttyS0,38400 root=/dev/mtdblock1 rootfstype=jffs2" | ||
105 | |||
106 | Note that the initramfs image is built by poky in a slightly different mode to | ||
107 | normal since it uses uclibc. To generate this use a command like: | ||
108 | |||
109 | IMAGE_FSTYPES=cpio.gz MACHINE=cm-x270 POKYLIBC=uclibc bitbake poky-image-minimal-mtdutils | ||
110 | |||
111 | |||
112 | Compulab EM-X270 (em-x270) | ||
113 | ========================== | ||
114 | |||
115 | Fetch the "Linux - kernel and run-time image (Angstrom)" ZIP file from the | ||
116 | Compulab website. Inside the images directory of this ZIP file is another ZIP | ||
117 | file called 'LiveDisk.zip'. Extract this over a cleanly formatted vfat USB flash | ||
118 | drive. Replace the 'em_x270.img' file with the 'updater-em-x270.ext2' file. | ||
119 | |||
120 | Insert this USB disk into the supplied adapter and connect this to the | ||
121 | board. Whilst holding down the the suspend button press the reset button. The | ||
122 | board will now boot off the USB key and into a version of Angstrom. On the | ||
123 | desktop is an icon labelled "Updater". Run this program to launch the updater | ||
124 | that will flash the Poky kernel and rootfs to the board. | ||
125 | |||
126 | |||
127 | FreeScale iMX31ADS (mx31ads) | ||
128 | =========================== | ||
129 | |||
130 | The correct serial port is the top-most female connector to the right of the | ||
131 | ethernet socket. | ||
132 | |||
133 | For uploading data to RedBoot we are going to use tftp. In this example we | ||
134 | assume that the tftpserver is on 192.168.9.1 and the board is on192.168.9.2. | ||
135 | |||
136 | To set the IP address, run: | ||
137 | |||
138 | ip_address -l 192.168.9.2/24 -h 192.168.9.1 | ||
139 | |||
140 | To download a kernel called "zimage" from the TFTP server, run: | ||
141 | |||
142 | load -r -b 0x100000 zimage | ||
143 | |||
144 | To write the kernel to flash run: | ||
145 | |||
146 | fis create kernel | ||
147 | |||
148 | To download a rootfs jffs2 image "rootfs" from the TFTP server, run: | ||
149 | |||
150 | load -r -b 0x100000 rootfs | ||
151 | |||
152 | To write the root filesystem to flash run: | ||
153 | |||
154 | fis create root | ||
155 | |||
156 | To load and boot a kernel and rootfs from flash: | ||
157 | |||
158 | fis load kernel | ||
159 | exec -b 0x100000 -l 0x200000 -c "noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rootfstype=jffs2 init=linuxrc ip=none" | ||
160 | |||
161 | To load and boot a kernel from a TFTP server with the rootfs over NFS: | ||
162 | |||
163 | load -r -b 0x100000 zimage | ||
164 | exec -b 0x100000 -l 0x200000 -c "noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.9.1:/mnt/nfsmx31 rw ip=192.168.9.2::192.168.9.1:255.255.255.0" | ||
165 | |||
166 | The instructions above are for using the (default) NOR flash on the board, | ||
167 | there is also 128M of NAND flash. It is possible to install Poky to the NAND | ||
168 | flash which gives more space for the rootfs and instructions for using this are | ||
169 | given below. To switch to the NAND flash: | ||
170 | |||
171 | factive NAND | ||
172 | |||
173 | This will then restart RedBoot using the NAND rather than the NOR. If you | ||
174 | have not used the NAND before then it is unlikely that there will be a | ||
175 | partition table yet. You can get the list of partitions with 'fis list'. | ||
176 | |||
177 | If this shows no partitions then you can create them with: | ||
178 | |||
179 | fis init | ||
180 | |||
181 | The output of 'fis list' should now show: | ||
182 | |||
183 | Name FLASH addr Mem addr Length Entry point | ||
184 | RedBoot 0xE0000000 0xE0000000 0x00040000 0x00000000 | ||
185 | FIS directory 0xE7FF4000 0xE7FF4000 0x00003000 0x00000000 | ||
186 | RedBoot config 0xE7FF7000 0xE7FF7000 0x00001000 0x00000000 | ||
187 | |||
188 | Partitions for the kernel and rootfs need to be created: | ||
189 | |||
190 | fis create -l 0x1A0000 -e 0x00100000 kernel | ||
191 | fis create -l 0x5000000 -e 0x00100000 root | ||
192 | |||
193 | You may now use the instructions above for flashing. However it is important | ||
194 | to note that the erase block size for the NAND is different to the NOR so the | ||
195 | JFFS erase size will need to be changed to 0x4000. Stardard images are built | ||
196 | for NOR and you will need to build custom images for NAND. | ||
197 | |||
198 | You will also need to update the kernel command line to use the correct root | ||
199 | filesystem. This should be '/dev/mtdblock7' if you adhere to the partitioning | ||
200 | scheme shown above. If this fails then you can doublecheck against the output | ||
201 | from the kernel when it evaluates the available mtd partitions. | ||
202 | |||
203 | |||
204 | Marvell PXA3xx Zylonite (zylonite) | ||
205 | ================================== | ||
206 | |||
207 | These instructions assume the Zylonite is connected to a machine running a TFTP | ||
208 | server at address 192.168.123.5 and that a serial link (38400 8N1) is available | ||
209 | to access the blob bootloader. The kernel is on the TFTP server as | ||
210 | "zylonite-kernel" and the root filesystem jffs2 file is "zylonite-rootfs" and | ||
211 | the images are to be saved in NAND flash. | ||
212 | |||
213 | The following commands setup blob: | ||
214 | |||
215 | blob> setip client 192.168.123.4 | ||
216 | blob> setip server 192.168.123.5 | ||
217 | |||
218 | To flash the kernel: | ||
219 | |||
220 | blob> tftp zylonite-kernel | ||
221 | blob> nandwrite -j 0x80800000 0x60000 0x200000 | ||
222 | |||
223 | To flash the rootfs: | ||
224 | |||
225 | blob> tftp zylonite-rootfs | ||
226 | blob> nanderase -j 0x260000 0x5000000 | ||
227 | blob> nandwrite -j 0x80800000 0x260000 <length> | ||
228 | |||
229 | (where <length> is the rootfs size which will be printed by the tftp step) | ||
230 | |||
231 | To boot the board: | ||
232 | |||
233 | blob> nkernel | ||
234 | blob> boot | ||
235 | |||
236 | |||
237 | Logic iMX31 Lite Kit (mx31litekit) | ||
238 | =============================== | ||
239 | 13 | ||
240 | The easiest method to boot this board is to take an MMC/SD card and format | 14 | http://yoctoproject.org/community/documentation |
241 | the first partition as ext2, then extract the poky image onto this as root. | ||
242 | Assuming the board is network connected, a TFTP server is available at | ||
243 | 192.168.1.33 and a serial terminal is available (115200 8N1), the following | ||
244 | commands will boot a kernel called "mx31kern" from the TFTP server: | ||
245 | 15 | ||
246 | losh> ifconfig sm0 192.168.1.203 255.255.255.0 192.168.1.33 | 16 | Support for machines other than QEMU may be moved out to separate BSP layers in |
247 | losh> load raw 0x80100000 0x200000 /tftp/192.168.1.33:mx31kern | 17 | future versions. |
248 | losh> exec 0x80100000 - | ||
249 | 18 | ||
250 | 19 | ||
251 | Phytec phyCORE-iMX31 (mx31phy) | 20 | QEMU Emulation Targets |
252 | ============================== | 21 | ====================== |
253 | 22 | ||
254 | Support for this board is currently being developed. Experimental jffs2 | 23 | To simplify development Poky supports building images to work with the QEMU |
255 | images and a suitable kernel are available and are known to work with the | 24 | emulator in system emulation mode. Several architectures are currently |
256 | board. | 25 | supported: |
257 | |||
258 | |||
259 | Consumer Devices | ||
260 | ================ | ||
261 | |||
262 | FIC Neo1973 GTA01 smartphone (fic-gta01) | ||
263 | ======================================== | ||
264 | |||
265 | To install Poky on a GTA01 smartphone you will need "dfu-util" tool | ||
266 | which you can build with "bitbake dfu-util-native" command. | ||
267 | |||
268 | Flashing requires these steps: | ||
269 | |||
270 | 1. Power down the device. | ||
271 | 2. Connect the device to the host machine via USB. | ||
272 | 3. Hold AUX key and press Power key. There should be a bootmenu | ||
273 | on screen. | ||
274 | 4. Run "dfu-util -l" to check if the phone is visible on the USB bus. | ||
275 | The output should look like this: | ||
276 | |||
277 | dfu-util - (C) 2007 by OpenMoko Inc. | ||
278 | This program is Free Software and has ABSOLUTELY NO WARRANTY | ||
279 | |||
280 | Found Runtime: [0x1457:0x5119] devnum=19, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade" | ||
281 | |||
282 | 5. Flash the kernel with "dfu-util -a kernel -D uImage-2.6.21.6-moko11-r2-fic-gta01.bin" | ||
283 | 6. Flash rootfs with "dfu-util -a rootfs -D <image>", where <image> is the | ||
284 | jffs2 image file to use as the root filesystem | ||
285 | (e.g. ./tmp/deploy/images/poky-image-sato-fic-gta01.jffs2) | ||
286 | |||
287 | |||
288 | HTC Universal (htcuniversal) | ||
289 | ============================ | ||
290 | |||
291 | Note: HTC Universal support is highly experimental. | ||
292 | |||
293 | On the HTC Universal, entirely replacing the Windows installation is not | ||
294 | supported, instead Poky is booted from an MMC/SD card from Windows. Once Poky | ||
295 | has booted, Windows is no longer in memory or active but when power is removed, | ||
296 | the user will be returned to windows and will need to return to Linux from | ||
297 | there. | ||
298 | |||
299 | Once an MMC/SD card is available it is suggested its split into two partitions, | ||
300 | one for a program called HaRET which lets you boot Linux from within Windows | ||
301 | and the second for the rootfs. The HaRET partition should be the first partition | ||
302 | on the card and be vfat formatted. It doesn't need to be large, just enough for | ||
303 | HaRET and a kernel (say 5MB max). The rootfs should be ext2 and is usually the | ||
304 | second partition. The first partition should be vfat so Windows recognises it | ||
305 | as if it doesn't, it has been known to reformat cards. | ||
306 | |||
307 | On the first partition you need three files: | ||
308 | |||
309 | * a HaRET binary (version 0.5.1 works well and a working version | ||
310 | should be part of the last Poky release) | ||
311 | * a kernel renamed to "zImage" | ||
312 | * a default.txt which contains: | ||
313 | |||
314 | set kernel "zImage" | ||
315 | set mtype "855" | ||
316 | set cmdline "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 console=tty0 rootdelay=5 fbcon=rotate:1" | ||
317 | boot2 | ||
318 | |||
319 | On the second parition the root file system is extracted as root. A different | ||
320 | partition layout or other kernel options can be changed in the default.txt file. | ||
321 | |||
322 | When inserted into the device, Windows should see the card and let you browse | ||
323 | its contents using File Explorer. Running the HaRET binary will present a dialog | ||
324 | box (maybe after messages warning about running unsigned binaries) where you | ||
325 | select OK and you should then see Poky boot. Kernel messages can be seen by | ||
326 | adding psplash=false to the kernel commandline. | ||
327 | |||
328 | |||
329 | Nokia 770/N800/N810 Internet Tablets (nokia770 and nokia800) | ||
330 | ============================================================ | ||
331 | |||
332 | Note: Nokia tablet support is highly experimental. | ||
333 | |||
334 | The Nokia internet tablet devices are OMAP based tablet formfactor devices | ||
335 | with large screens (800x480), wifi and touchscreen. | ||
336 | |||
337 | To flash images to these devices you need the "flasher" utility which can be | ||
338 | downloaded from the http://tablets-dev.nokia.com/d3.php?f=flasher-3.0. This | ||
339 | utility needs to be run as root and the usb filesystem needs to be mounted | ||
340 | although most distributions will have done this for you. Once you have this | ||
341 | follow these steps: | ||
342 | |||
343 | 1. Power down the device. | ||
344 | 2. Connect the device to the host machine via USB | ||
345 | (connecting power to the device doesn't hurt either). | ||
346 | 3. Run "flasher -i" | ||
347 | 4. Power on the device. | ||
348 | 5. The program should give an indication it's found | ||
349 | a tablet device. If not, recheck the cables, make sure you're | ||
350 | root and usbfs/usbdevfs is mounted. | ||
351 | 6. Run "flasher -r <image> -k <kernel> -f", where <image> is the | ||
352 | jffs2 image file to use as the root filesystem | ||
353 | (e.g. ./tmp/deploy/images/poky-image-sato-nokia800.jffs2) | ||
354 | and <kernel> is the kernel to use | ||
355 | (e.g. ./tmp/deploy/images/zImage-nokia800.bin). | ||
356 | 7. Run "flasher -R" to reboot the device. | ||
357 | 8. The device should boot into Poky. | ||
358 | |||
359 | The nokia800 images and kernel will run on both the N800 and N810. | ||
360 | |||
361 | |||
362 | Sharp Zaurus SL-C7x0 series (c7x0) | ||
363 | ================================== | ||
364 | |||
365 | The Sharp Zaurus c7x0 series (SL-C700, SL-C750, SL-C760, SL-C860, SL-7500) | ||
366 | are PXA25x based handheld PDAs with VGA screens. To install Poky images on | ||
367 | these devices follow these steps: | ||
368 | |||
369 | 1. Obtain an SD/MMC or CF card with a vfat or ext2 filesystem. | ||
370 | 2. Copy a jffs2 image file (e.g. poky-image-sato-c7x0.jffs2) onto the | ||
371 | card as "initrd.bin": | ||
372 | |||
373 | $ cp ./tmp/deploy/images/poky-image-sato-c7x0.jffs2 /path/to/my-cf-card/initrd.bin | ||
374 | |||
375 | 3. Copy an Linux kernel file (zImage-c7x0.bin) onto the card as | ||
376 | "zImage.bin": | ||
377 | 26 | ||
378 | $ cp ./tmp/deploy/images/zImage-c7x0.bin /path/to/my-cf-card/zImage.bin | 27 | * ARM (qemuarm) |
28 | * x86 (qemux86) | ||
29 | * x86-64 (qemux86-64) | ||
30 | * PowerPC (qemuppc) | ||
31 | * MIPS (qemumips) | ||
379 | 32 | ||
380 | 4. Copy an updater script (updater.sh.c7x0) onto the card | 33 | Use of the QEMU images is covered in the Poky Reference Manual. The Poky |
381 | as "updater.sh": | 34 | MACHINE setting corresponding to the target is given in brackets. |
382 | 35 | ||
383 | $ cp ./tmp/deploy/images/updater.sh.c7x0 /path/to/my-cf-card/updater.sh | ||
384 | 36 | ||
385 | 5. Power down the Zaurus. | 37 | Hardware Reference Boards |
386 | 6. Hold "OK" key and power on the device. An update menu should appear | 38 | ========================= |
387 | (in Japanese). | ||
388 | 7. Choose "Update" (item 4). | ||
389 | 8. The next screen will ask for the source, choose the appropriate | ||
390 | card (CF or SD). | ||
391 | 9. Make sure AC power is connected. | ||
392 | 10. The next screen asks for confirmation, choose "Yes" (the left button). | ||
393 | 11. The update process will start, flash the files on the card onto | ||
394 | the device and the device will then reboot into Poky. | ||
395 | 39 | ||
40 | The following boards are supported by Poky's core layer: | ||
396 | 41 | ||
397 | Sharp Zaurus SL-C1000 (akita) | 42 | * Texas Instruments Beagleboard (beagleboard) |
398 | ============================= | 43 | * Freescale MPC8315E-RDB (mpc8315e-rdb) |
44 | * Ubiquiti Networks RouterStation Pro (routerstationpro) | ||
399 | 45 | ||
400 | The Sharp Zaurus SL-C1000 is a PXA270 based device otherwise similar to the | 46 | For more information see the board's section below. The Poky MACHINE setting |
401 | c7x0. To install Poky images on this device follow the instructions for | 47 | corresponding to the board is given in brackets. |
402 | the c7x0 but replace "c7x0" with "akita" where appropriate. | ||
403 | 48 | ||
404 | 49 | ||
405 | Sharp Zaurus SL-C3x00 series (spitz) | 50 | Consumer Devices |
406 | ==================================== | 51 | ================ |
407 | 52 | ||
408 | The Sharp Zaurus SL-C3x00 devices are PXA270 based devices similar | 53 | The following consumer devices are supported by Poky's core layer: |
409 | to akita but with an internal microdrive. The installation procedure | ||
410 | assumes a standard microdrive based device where the root (first) | ||
411 | partition has been enlarged to fit the image (at least 100MB, | ||
412 | 400MB for the SDK). | ||
413 | 54 | ||
414 | The procedure is the same as for the c7x0 and akita models with the | 55 | * Intel Atom based PCs and devices (atom-pc) |
415 | following differences: | ||
416 | 56 | ||
417 | 1. Instead of a jffs2 image you need to copy a compressed tarball of the | 57 | For more information see the device's section below. The Poky MACHINE setting |
418 | root fileystem (e.g. poky-image-sato-spitz.tar.gz) onto the | 58 | corresponding to the device is given in brackets. |
419 | card as "hdimage1.tgz": | ||
420 | 59 | ||
421 | $ cp ./tmp/deploy/images/poky-image-sato-spitz.tar.gz /path/to/my-cf-card/hdimage1.tgz | ||
422 | 60 | ||
423 | 2. You additionally need to copy a special tar utility (gnu-tar) onto | ||
424 | the card as "gnu-tar": | ||
425 | 61 | ||
426 | $ cp ./tmp/deploy/images/gnu-tar /path/to/my-cf-card/gnu-tar | 62 | Specific Hardware Documentation |
63 | =============================== | ||
427 | 64 | ||
428 | 65 | ||
429 | Intel Atom based PCs and devices (atom-pc) | 66 | Intel Atom based PCs and devices (atom-pc) |
@@ -580,3 +217,133 @@ Note: As of the 2.6.37 linux-yocto kernel recipe, the Beagleboard uses the | |||
580 | order to setup the getty on the serial line: | 217 | order to setup the getty on the serial line: |
581 | 218 | ||
582 | SERIAL_CONSOLE_beagleboard = "115200 ttyS2" | 219 | SERIAL_CONSOLE_beagleboard = "115200 ttyS2" |
220 | |||
221 | |||
222 | Ubiquiti Networks RouterStation Pro (routerstationpro) | ||
223 | ====================================================== | ||
224 | |||
225 | You will need the following: | ||
226 | * A serial cable - female to female (or female to male + gender changer) | ||
227 | NOTE: cable must be straight through, *not* a null modem cable. | ||
228 | * USB flash drive or hard disk that is able to be powered from the | ||
229 | board's USB port. | ||
230 | * tftp server installed on your workstation | ||
231 | |||
232 | NOTE: in the following instructions it is assumed that /dev/sdb corresponds | ||
233 | to the USB disk when it is plugged into your workstation. If this is not the | ||
234 | case in your setup then please be careful to substitute the correct device | ||
235 | name in all commands where appropriate. | ||
236 | |||
237 | --- Preparation --- | ||
238 | |||
239 | 1) Build an image (e.g. poky-image-minimal) using "routerstationpro" as the | ||
240 | MACHINE | ||
241 | |||
242 | 2) Partition the USB drive so that primary partition 1 is type Linux (83). | ||
243 | Minimum size depends on your root image size - poky-image-minimal probably | ||
244 | only needs 8-16MB, other images will need more. | ||
245 | |||
246 | # fdisk /dev/sdb | ||
247 | Command (m for help): p | ||
248 | |||
249 | Disk /dev/sdb: 4011 MB, 4011491328 bytes | ||
250 | 124 heads, 62 sectors/track, 1019 cylinders, total 7834944 sectors | ||
251 | Units = sectors of 1 * 512 = 512 bytes | ||
252 | Sector size (logical/physical): 512 bytes / 512 bytes | ||
253 | I/O size (minimum/optimal): 512 bytes / 512 bytes | ||
254 | Disk identifier: 0x0009e87d | ||
255 | |||
256 | Device Boot Start End Blocks Id System | ||
257 | /dev/sdb1 62 1952751 976345 83 Linux | ||
258 | |||
259 | 3) Format partition 1 on the USB as ext3 | ||
260 | |||
261 | # mke2fs -j /dev/sdb1 | ||
262 | |||
263 | 4) Mount partition 1 and then extract the contents of | ||
264 | tmp/deploy/images/poky-image-XXXX.tar.bz2 into it (preserving permissions). | ||
265 | |||
266 | # mount /dev/sdb1 /media/sdb1 | ||
267 | # cd /media/sdb1 | ||
268 | # tar -xvjpf tmp/deploy/images/poky-image-XXXX.tar.bz2 | ||
269 | |||
270 | 5) Unmount the USB drive and then plug it into the board's USB port | ||
271 | |||
272 | 6) Connect the board's serial port to your workstation and then start up | ||
273 | your favourite serial terminal so that you will be able to interact with | ||
274 | the serial console. (If you don't have a favourite, picocom is suggested.) | ||
275 | |||
276 | 7) Connect the network into eth0 (the one that is NOT the 3 port switch). If | ||
277 | you are using power-over-ethernet then the board will power up at this point. | ||
278 | |||
279 | 8) Start up the board, watch the serial console. Hit Ctrl+C to abort the | ||
280 | autostart if the board is configured that way (it is by default). The | ||
281 | bootloader's fconfig command can be used to disable autostart and configure | ||
282 | the IP settings if you need to change them (default IP is 192.168.1.20). | ||
283 | |||
284 | 9) Make the kernel (tmp/deploy/images/vmlinux-routerstationpro.bin) available | ||
285 | on the tftp server. | ||
286 | |||
287 | 10) If you are going to write the kernel to flash (optional - see "Booting a | ||
288 | kernel directly" below for the alternative), remove the current kernel and | ||
289 | rootfs flash partitions. You can list the partitions using the following | ||
290 | bootloader command: | ||
291 | |||
292 | RedBoot> fis list | ||
293 | |||
294 | You can delete the existing kernel and rootfs with these commands: | ||
295 | |||
296 | RedBoot> fis delete kernel | ||
297 | RedBoot> fis delete rootfs | ||
298 | |||
299 | --- Booting a kernel directly --- | ||
300 | |||
301 | 1) Load the kernel using the following bootloader command: | ||
302 | |||
303 | RedBoot> load -m tftp -h <ip of tftp server> vmlinux-routerstationpro.bin | ||
304 | |||
305 | You should see a message on it being successfully loaded. | ||
306 | |||
307 | 2) Execute the kernel: | ||
308 | |||
309 | RedBoot> exec -c "console=ttyS0,115200 root=/dev/sda1 rw rootdelay=2 board=UBNT-RSPRO" | ||
310 | |||
311 | Note that specifying the command line with -c is important as linux-yocto does | ||
312 | not provide a default command line. | ||
313 | |||
314 | --- Writing a kernel to flash --- | ||
315 | |||
316 | 1) Go to your tftp server and gzip the kernel you want in flash. It should | ||
317 | halve the size. | ||
318 | |||
319 | 2) Load the kernel using the following bootloader command: | ||
320 | |||
321 | RedBoot> load -r -b 0x80600000 -m tftp -h <ip of tftp server> vmlinux-routerstationpro.bin.gz | ||
322 | |||
323 | This should output something similar to the following: | ||
324 | |||
325 | Raw file loaded 0x80600000-0x8087c537, assumed entry at 0x80600000 | ||
326 | |||
327 | Calculate the length by subtracting the first number from the second number | ||
328 | and then rounding the result up to the nearest 0x1000. | ||
329 | |||
330 | 3) Using the length calculated above, create a flash partition for the kernel: | ||
331 | |||
332 | RedBoot> fis create -b 0x80600000 -l 0x240000 kernel | ||
333 | |||
334 | (change 0x240000 to your rounded length -- change "kernel" to whatever | ||
335 | you want to name your kernel) | ||
336 | |||
337 | --- Booting a kernel from flash --- | ||
338 | |||
339 | To boot the flashed kernel perform the following steps. | ||
340 | |||
341 | 1) At the bootloader prompt, load the kernel: | ||
342 | |||
343 | RedBoot> fis load -d -e kernel | ||
344 | |||
345 | (Change the name "kernel" above if you chose something different earlier) | ||
346 | |||
347 | (-e means 'elf', -d 'decompress') | ||
348 | |||
349 | 2) Execute the kernel using the exec command as above. | ||