lol
1{stdenv, fetchurl, fetchgit}:
2
3# We should enable this check once we have the cross target system information
4# assert stdenv.system == "armv5tel-linux" || crossConfig == "armv5tel-linux";
5
6# All this file is made for the Marvell Sheevaplug
7
8stdenv.mkDerivation {
9 name = "uboot-qb-2010.06";
10
11 src = fetchurl {
12 url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2010.06.tar.bz2";
13 sha256 = "1j0bl8x5i5m1pn62z450gbw30pbrj7sgs3fjp2l2giczv49cn33r";
14 };
15
16 srcPatches = fetchgit {
17 url = "git://projects.qi-hardware.com/openwrt-xburst.git";
18 rev = "3244d5ef9f93802f9b9b6f4405636424abf6fa83";
19 sha256 = "99dde9c3c4c66722d3ee2223d306bc84289a8aa77d0b5918ca49c2f4032ab38f";
20 };
21
22 patchPhase = ''
23 cp -R $srcPatches/package/uboot-xburst/files/* .
24 for a in $srcPatches/package/uboot-xburst/patches/*; do
25 patch -p1 < $a
26 done
27 chmod +w -R *
28 sed -i -e 's/console=ttyS0,57600n8//' include/configs/qi_lb60.h
29 # Load more than 2MiB for the kernel
30 sed -i -e 's/0x200000;bootm/0x400000;bootm/' include/configs/qi_lb60.h
31 '';
32
33 # Remove the cross compiler prefix, and add reiserfs support
34 configurePhase = ''
35 make mrproper
36 make qi_lb60_config
37 sed -i /CROSS_COMPILE/d include/config.mk
38 '';
39
40 buildPhase = ''
41 # A variable named 'src' used to affect the build in some uboot...
42 unset src
43 if test -z "$crossConfig"; then
44 make clean all
45 else
46 make clean all ARCH=mips CROSS_COMPILE=$crossConfig-
47 fi
48 '';
49
50 dontStrip = true;
51
52 installPhase = ''
53 mkdir -p $out
54 cp u-boot-nand.bin $out
55 cp u-boot u-boot.map $out
56
57 mkdir -p $out/bin
58 cp tools/{envcrc,mkimage} $out/bin
59 '';
60}