Difference between revisions of "Talk:Kernel-with-device-tree"
(New page: ==Old U-Boot== To enable device tree on old U-Boot, it's quite simple: * add "#define CONFIG_OF_LIBFDT" in the u-boot configuration file (include/configs/<board>.h). On armadeus SDK, thi...) |
(→Old U-Boot) |
||
| Line 15: | Line 15: | ||
NOTE2: it's fixed on u-boot 2012.04.01 that's the current (since June 2012) release used on all the APF boards. | NOTE2: it's fixed on u-boot 2012.04.01 that's the current (since June 2012) release used on all the APF boards. | ||
| + | |||
| + | ==Kernel manual booting (deprecated)== | ||
| + | Start the U-Boot previously compiled or use the latest U-Boot 2013.04, and then : | ||
| + | |||
| + | * load the kernel in memory | ||
| + | * load the dtb in memory | ||
| + | * run the command bootm with 3 arguments: <kernel addr> - <dtb addr> | ||
| + | |||
| + | The second argument is "-", it means that there isn't an initrd to load. | ||
| + | |||
| + | For example, on [[APF27]], it should be something like this: | ||
| + | <pre class="apf"> | ||
| + | BIOS> setenv consoledev ttymxc0 | ||
| + | BIOS> setenv baudrate 115200 | ||
| + | BIOS> setenv dtbaddr 0xa0800000 | ||
| + | BIOS> tftp $loadaddr apf27-linux.bin | ||
| + | BIOS> tftp $dtbaddr imx27-apf27.dtb | ||
| + | BIOS> setenv consoledev ttymxc0 | ||
| + | BIOS> setenv console console=$consoledev,115200 | ||
| + | BIOS> setenv bootargs ${console} earlyprintk | ||
| + | BIOS> run addnfsargs addipargs | ||
| + | BIOS> bootm $loadaddr - $dtbaddr | ||
| + | </pre> | ||
Latest revision as of 16:05, 23 September 2013
Old U-Boot
To enable device tree on old U-Boot, it's quite simple:
- add "#define CONFIG_OF_LIBFDT" in the u-boot configuration file (include/configs/<board>.h).
On armadeus SDK, this file is in this directory: buildroot/target/device/armadeus/<board>/<board>-u-boot-<version>.h
For example, for u-boot 2012.04 on apf27, it's: buildroot/target/device/armadeus/apf27/apf27-u-boot-2012.04.h
Nothing else needs to be done, because the u-boot image is build by the armadeus SDK with the command "make".
NOTE: on u-boot 2012.04, the command bootm with device tree is broken. If you want to use it,
you need to fix it with the following patch: http://git.denx.de/?p=u-boot.git;a=commit;h=1723997610ace497252d6f9a44ec76c06951ae43
NOTE2: it's fixed on u-boot 2012.04.01 that's the current (since June 2012) release used on all the APF boards.
Kernel manual booting (deprecated)
Start the U-Boot previously compiled or use the latest U-Boot 2013.04, and then :
- load the kernel in memory
- load the dtb in memory
- run the command bootm with 3 arguments: <kernel addr> - <dtb addr>
The second argument is "-", it means that there isn't an initrd to load.
For example, on APF27, it should be something like this:
BIOS> setenv consoledev ttymxc0
BIOS> setenv baudrate 115200
BIOS> setenv dtbaddr 0xa0800000
BIOS> tftp $loadaddr apf27-linux.bin
BIOS> tftp $dtbaddr imx27-apf27.dtb
BIOS> setenv consoledev ttymxc0
BIOS> setenv console console=$consoledev,115200
BIOS> setenv bootargs ${console} earlyprintk
BIOS> run addnfsargs addipargs
BIOS> bootm $loadaddr - $dtbaddr