We assume on this page than you are familiar with getting and building the Linux kernel for arm.\\
If you're not, you can go [[making_kernel_with_dtb|there]] for your first steps.
====== Patching kernel ======
===== U-Boot issue =====
Lacie U-Boot is old and don't work with device tree.\\
It passes a device number to Linux kernel. This number is used to identify device and initialize hardware.\\
The Internet space v1 is very similar to the edminiv2 board.\\
The last kernel supporting edminiv2 without device tree is v3.6\\
So we must use the id passed by Lacie U-Boot for identifying the edminiv2.\\
This number is already used by another device. It has been changed for avoiding colision.\\
commit e467520cdf729a9fca1e4f5f8271457cc27afb64
Author: Frédéric Leroy
Date: Wed May 1 18:18:46 2013 +0200
Change Machine ID to make it work with Lacie Internet Space v1 / Orange Homelibrary
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 2997e56..ce6b9b6 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -117,7 +117,7 @@ omap_h3 MACH_OMAP_H3 OMAP_H3 509
omap_h4 MACH_OMAP_H4 OMAP_H4 510
omap_osk MACH_OMAP_OSK OMAP_OSK 515
tosa MACH_TOSA TOSA 520
-avila MACH_AVILA AVILA 526
+avila MACH_AVILA AVILA 525
edb9302 MACH_EDB9302 EDB9302 538
husky MACH_HUSKY HUSKY 543
shepherd MACH_SHEPHERD SHEPHERD 545
@@ -314,7 +314,7 @@ ezx_a1200 MACH_EZX_A1200 EZX_A1200 1742
ezx_e6 MACH_EZX_E6 EZX_E6 1743
ezx_e2 MACH_EZX_E2 EZX_E2 1744
ezx_a910 MACH_EZX_A910 EZX_A910 1745
-edmini_v2 MACH_EDMINI_V2 EDMINI_V2 1756
+edmini_v2 MACH_EDMINI_V2 EDMINI_V2 526
zipit2 MACH_ZIPIT2 ZIPIT2 1757
omap3_pandora MACH_OMAP3_PANDORA OMAP3_PANDORA 1761
mss2 MACH_MSS2 MSS2 1766
===== Cross-building debian package issue =====
There is a problem when cross-building debian package in Linux source.\\
Here is the patch to fix it :
commit 977052f78754e6b52fc09098d36e459f5e4b0798
Author: Frédéric Leroy
Date: Wed May 1 18:39:33 2013 +0200
patch builddeb to build package for foreign arch
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index acb8650..d269778 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -252,7 +252,12 @@ mkdir -p "$destdir"
(cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -)
ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
-arch=$(dpkg --print-architecture)
+
+if [ -n "$KBUILD_DEBARCH" ] ; then
+ arch="$KBUILD_DEBARCH"
+else
+ arch=$(dpkg --print-architecture)
+fi
cat <> debian/control
====== Building kernel ======
make ARCH=arm KBUILD_DEBARCH=armel CROSS_COMPILE=arm-linux-gnueabi- deb-pkg
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux_is uImage-$( cat include/config/kernel.release )