The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / board / lego / ev3 / readme.txt
1 Lego Mindstorms EV3
2
3 Intro
4 =====
5
6 This is the buildroot basic board support for the Lego Mindstorms EV3
7 programmable brick. No support for sensors and drivers is provided for the
8 moment.
9
10 The Lego Mindstorms EV3 brick comprises a Texas Instruments AM1808 SoC, with
11 an ARM 926EJ-S main processor running at 300 MHz.
12 See:
13 - https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3
14 - http://www.lego.com/en-us/mindstorms/products/ev3/31313-mindstorms-ev3/
15 - http://www.ti.com/product/am1808
16
17 The buildroot configuration uses the Linux kernel of the ev3dev project.
18 See:
19 - http://botbench.com/blog/2013/07/31/lego-mindstorms-ev3-source-code-available/
20 - https://github.com/mindboards/ev3sources
21
22 Note that the EV3 configuration uses gcc 4.7, as the boot is broken with gcc
23 4.8.
24
25 How it works
26 ============
27
28 Boot process :
29 --------------
30
31 The u-boot on-board the EV3 brick has provision to boot a Linux kernel from the
32 external µSD card. It will try to load a uImage from the first µSD card
33 partition, which must be formatted with a FAT filesystem.
34
35 How to build it
36 ===============
37
38 Configure Buildroot
39 -------------------
40
41 The lego_ev3_defconfig configuration provides basic support to boot on the Lego
42 Mindstorms EV3 programmable brick:
43
44   $ make lego_ev3_defconfig
45
46 Build everything
47 ----------------
48
49 Note: you will need to have access to the network, since Buildroot will
50 download the packages' sources.
51
52   $ make
53
54 Result of the build
55 -------------------
56
57 After building, you should obtain this tree:
58
59     output/images/
60     ├── rootfs.ext2
61     ├── rootfs.ext3 -> rootfs.ext2
62     └── uImage
63
64
65 Prepare your SDcard
66 ===================
67
68 The following µSD card layout is recommended:
69
70 - First partition formated with a FAT filesystem, containing the uImage.
71 - Second partition formatted as ext2 or ext3, containing the root filesystem.
72
73 Create the SDcard partition table
74 ----------------------------------
75
76 Determine the device associated to the SD card :
77
78   $ cat /proc/partitions
79
80 Let's assume it is /dev/mmcblk0 :
81
82   $ sudo fdisk /dev/mmcblk0
83
84 Delete all previous partitions by creating a new disklabel with 'o', then
85 create the new partition table, using these options, pressing enter after each
86 one:
87
88   * n p 1 2048 +10M t c
89   * n p 2 22528 +256M
90
91 Using the 'p' option, the SD card's partition must look like this :
92
93 Device          Boot  Start     End  Blocks  Id System
94 /dev/mmcblk0p1         2048   22527   10240   c  W95 FAT32 (LBA)
95 /dev/mmcblk0p2        22528  546815  262144  83  Linux
96
97 Then write the partition table using 'w' and exit.
98
99 Make partition one a DOS partition :
100
101   $ sudo mkfs.vfat /dev/mmcblk0p1
102
103 Install the binaries to the SDcard
104 ----------------------------------
105
106 Remember your binaries are located in output/images/, go inside that directory :
107
108   $ cd output/images
109
110 Copy the Linux kernel:
111
112   $ sudo mkdir /mnt/sdcard
113   $ sudo mount /dev/mmcblk0p1 /mnt/sdcard
114   $ sudo cp uImage /mnt/sdcard
115   $ sudo umount /mnt/sdcard
116
117 Copy the rootfs :
118
119   $ sudo dd if=rootfs.ext3 of=/dev/mmcblk0p2 bs=1M
120   $ sync
121
122 It's Done!
123
124 Finish
125 ======
126
127 Eject your µSD card, insert it in your Lego EV3, and power it up.
128
129 To have a serial console, you will need a proper USB to Lego serial port
130 adapter plugged into the EV3 sensors port 1.
131 See:
132 - http://botbench.com/blog/2013/08/15/ev3-creating-console-cable/
133 - http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
134
135 The serial port config to use is 115200/8-N-1.