open-plc-utils: new package
[buildroot-gz.git] / board / lego / ev3 / readme.txt
blob3c0bd2ec464dad119bcdbd39adc6386095dc692d
1 Lego Mindstorms EV3
3 Intro
4 =====
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.
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
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
22 Note that the EV3 configuration uses gcc 4.7, as the boot is broken with gcc
23 4.8.
25 How it works
26 ============
28 Boot process :
29 --------------
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.
35 How to build it
36 ===============
38 Configure Buildroot
39 -------------------
41 The lego_ev3_defconfig configuration provides basic support to boot on the Lego
42 Mindstorms EV3 programmable brick:
44   $ make lego_ev3_defconfig
46 Build everything
47 ----------------
49 Note: you will need to have access to the network, since Buildroot will
50 download the packages' sources.
52   $ make
54 Result of the build
55 -------------------
57 After building, you should obtain this tree:
59     output/images/
60     ├── rootfs.ext2
61     ├── rootfs.ext3 -> rootfs.ext2
62     └── uImage
65 Prepare your SDcard
66 ===================
68 The following µSD card layout is recommended:
70 - First partition formated with a FAT filesystem, containing the uImage.
71 - Second partition formatted as ext2 or ext3, containing the root filesystem.
73 Create the SDcard partition table
74 ----------------------------------
76 Determine the device associated to the SD card :
78   $ cat /proc/partitions
80 Let's assume it is /dev/mmcblk0 :
82   $ sudo fdisk /dev/mmcblk0
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:
88   * n p 1 2048 +10M t c
89   * n p 2 22528 +256M
91 Using the 'p' option, the SD card's partition must look like this :
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
97 Then write the partition table using 'w' and exit.
99 Make partition one a DOS partition :
101   $ sudo mkfs.vfat /dev/mmcblk0p1
103 Install the binaries to the SDcard
104 ----------------------------------
106 Remember your binaries are located in output/images/, go inside that directory :
108   $ cd output/images
110 Copy the Linux kernel:
112   $ sudo mkdir /mnt/sdcard
113   $ sudo mount /dev/mmcblk0p1 /mnt/sdcard
114   $ sudo cp uImage /mnt/sdcard
115   $ sudo umount /mnt/sdcard
117 Copy the rootfs :
119   $ sudo dd if=rootfs.ext3 of=/dev/mmcblk0p2 bs=1M
120   $ sync
122 It's Done!
124 Finish
125 ======
127 Eject your µSD card, insert it in your Lego EV3, and power it up.
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/
135 The serial port config to use is 115200/8-N-1.