User Tools

Site Tools


making_kernel_with_dtb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
making_kernel_with_dtb [2012/12/07 00:14] 82.234.233.9making_kernel_with_dtb [2013/06/12 08:01] (current) starox
Line 1: Line 1:
 ====== Introduction ====== ====== Introduction ======
  
-Since Linux x.y.z, the kernel support arm devices via a device tree.+Since Linux 3.y.z, the kernel support arm devices via a device tree.
 The idea behind is to make an unique kernel which supports every platforms. The idea behind is to make an unique kernel which supports every platforms.
 This tree describe the devices of the platform in order to initialize them. This tree describe the devices of the platform in order to initialize them.
Line 13: Line 13:
  
 ^ Distribution name ^ toolchain provider ^ commands to get mkimage command ^ toolchain triplet ^ ^ Distribution name ^ toolchain provider ^ commands to get mkimage command ^ toolchain triplet ^
-| Ubuntu 12.10 | ubuntu |sudo apt-get install arm-linux-gnueabi-gcc | arm-linux-gnueabi- |+| Ubuntu >= 12.10 | ubuntu |sudo apt-get install arm-linux-gnueabi-gcc | arm-linux-gnueabi- |
 | Debian squeeze | [[http://www.emdebian.org/|embedian]] | Follow instruction on [[http://www.emdebian.org/crosstools.html]] or [[http://wiki.debian.org/EmdebianToolchain]] \\ The quick way : \\ ''# echo "deb http://www.emdebian.org/debian/ squeeze main" >> etc/apt/sources.list\\ # apt-get update\\ # apt-get install emdebian-archive-keyring\\ # apt-key add /usr/share/emdebian-tools/emdebian-archive-keyring.gpg\\ # apt-key add /usr/share/keyrings/emdebian-archive-keyring.gpg\\ # apt-get update\\  # apt-get install gcc-4.4-arm-linux-gnueabi'' | arm-linux-gnueabi- | | Debian squeeze | [[http://www.emdebian.org/|embedian]] | Follow instruction on [[http://www.emdebian.org/crosstools.html]] or [[http://wiki.debian.org/EmdebianToolchain]] \\ The quick way : \\ ''# echo "deb http://www.emdebian.org/debian/ squeeze main" >> etc/apt/sources.list\\ # apt-get update\\ # apt-get install emdebian-archive-keyring\\ # apt-key add /usr/share/emdebian-tools/emdebian-archive-keyring.gpg\\ # apt-key add /usr/share/keyrings/emdebian-archive-keyring.gpg\\ # apt-get update\\  # apt-get install gcc-4.4-arm-linux-gnueabi'' | arm-linux-gnueabi- |
  
Line 19: Line 19:
 ====== Setting up kernel source ====== ====== Setting up kernel source ======
  
-Get the source from lacie-nas.org :+There is 2 kind of LaCie devices : 
 +  * those supported by the mainstream linux kernel 
 +  * those supported by the lacie-nas.org kernel 
 +  * those unsupported ;-) 
 + 
 +Here is some commands to get kernel source from a git repository although there are other way to get the mainstream kernel.\\  
 +These repositories ensure that you have the latest updates. 
 + 
 +===== Mainstream ===== 
 + 
 +Get the source from the  [[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary|git kernel repository]] : 
 + 
 +  git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git -b master 
 + 
 +===== Lacie-nas.org ===== 
 + 
 +Get the source from the [[http://git.lacie-nas.org/?p=linux-lacie.git;a=summary|lacie-nas git repository]] :
  
   git clone git://lacie-nas.org/linux-lacie.git -b kirkwood/master   git clone git://lacie-nas.org/linux-lacie.git -b kirkwood/master
Line 45: Line 61:
 This will build kernel image, and dtb for all kirkwood platforms. This will build kernel image, and dtb for all kirkwood platforms.
  
-====== Preparing kernel for u-boot ======+====== Preparing kernel for U-Boot ======
  
 Now you have to append the DTB to kernel. Now you have to append the DTB to kernel.
 DTB are in the arch/arm/boot/ directory. Choose the one corresponding to your device (here this is a network space 2 lite) : DTB are in the arch/arm/boot/ directory. Choose the one corresponding to your device (here this is a network space 2 lite) :
  
-  cat arch/arm/boot/zImage arch/arm/boot/kirkwood-ns2lite.dtb > zImage+kirkwood-ns2lite.dtb+  cat arch/arm/boot/zImage arch/arm/boot/dts/kirkwood-ns2lite.dtb > zImage+kirkwood-ns2lite.dtb
  
 Now you need to add an header for u-boot loader.  Now you need to add an header for u-boot loader. 
making_kernel_with_dtb.1354835680.txt.gz · Last modified: 2012/12/07 00:14 by 82.234.233.9