diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 5c38f1d053bb..bbb1f8acc72d 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -6,30 +6,19 @@ # All this file is made for the Marvell Sheevaplug stdenv.mkDerivation { - name = "uboot-sheevaplug-3.4.19"; + name = "uboot-2009.11"; src = fetchurl { - url = "ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.4.tar.bz2"; - sha256 = "19vp4rlikz7h72pqsjhgz7nmgjy4c6vabvxkw67wni70vy5ddy8s"; + url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2009.11.tar.bz2"; + sha256 = "1rld7q3ww89si84g80hqskd1z995lni5r5xc4d4322n99wqiarh6"; }; - srcAddon = fetchurl { - url = "http://www.plugcomputer.org/data/uboot/u-boot-3.4.19.zip"; - sha256 = "1wag1l6agr8dbnnfaw6bgcrwynwwgry4ihb3gp438699wmkmy91k"; - }; - - postUnpack = '' - mv u-boot-1.1.4 u-boot-3.4.19 - unzip -o $srcAddon - sourceRoot=u-boot-3.4.19 - ''; - - patches = [ ./gas220.patch ]; + # patches = [ ./gas220.patch ]; # Remove the cross compiler prefix, and add reiserfs support configurePhase = '' make mrproper - make rd88f6281Sheevaplug_config NBOOT=1 LE=1 + make sheevaplug_config NBOOT=1 LE=1 sed -i /CROSS_COMPILE/d include/config.mk ''; @@ -49,7 +38,7 @@ stdenv.mkDerivation { installPhase = '' ensureDir $out - cp u-boot-rd88f6281Sheevaplug_400db_nand.bin $out + cp u-boot.bin $out cp u-boot u-boot.map $out ensureDir $out/bin diff --git a/pkgs/misc/uboot/sheevaplug.nix b/pkgs/misc/uboot/sheevaplug.nix new file mode 100644 index 000000000000..5c38f1d053bb --- /dev/null +++ b/pkgs/misc/uboot/sheevaplug.nix @@ -0,0 +1,58 @@ +{stdenv, fetchurl, unzip}: + +# We should enable this check once we have the cross target system information +# assert stdenv.system == "armv5tel-linux" || crossConfig == "armv5tel-linux"; + +# All this file is made for the Marvell Sheevaplug + +stdenv.mkDerivation { + name = "uboot-sheevaplug-3.4.19"; + + src = fetchurl { + url = "ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.4.tar.bz2"; + sha256 = "19vp4rlikz7h72pqsjhgz7nmgjy4c6vabvxkw67wni70vy5ddy8s"; + }; + + srcAddon = fetchurl { + url = "http://www.plugcomputer.org/data/uboot/u-boot-3.4.19.zip"; + sha256 = "1wag1l6agr8dbnnfaw6bgcrwynwwgry4ihb3gp438699wmkmy91k"; + }; + + postUnpack = '' + mv u-boot-1.1.4 u-boot-3.4.19 + unzip -o $srcAddon + sourceRoot=u-boot-3.4.19 + ''; + + patches = [ ./gas220.patch ]; + + # Remove the cross compiler prefix, and add reiserfs support + configurePhase = '' + make mrproper + make rd88f6281Sheevaplug_config NBOOT=1 LE=1 + sed -i /CROSS_COMPILE/d include/config.mk + ''; + + buildPhase = '' + unset src + if test -z "$crossConfig"; then + make clean all + else + make clean all ARCH=arm CROSS_COMPILE=$crossConfig- + fi + ''; + + buildNativeInputs = [ unzip ]; + + dontStrip = true; + NIX_STRIP_DEBUG = false; + + installPhase = '' + ensureDir $out + cp u-boot-rd88f6281Sheevaplug_400db_nand.bin $out + cp u-boot u-boot.map $out + + ensureDir $out/bin + cp tools/{envcrc,mkimage} $out/bin + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0e112559d61c..b0b1801e4fb0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6340,6 +6340,10 @@ let inherit fetchurl stdenv unzip; }; + ubootSheevaplug = makeOverridable (import ../misc/uboot) { + inherit fetchurl stdenv unzip; + }; + /* uclibc = import ../os-specific/linux/uclibc { inherit fetchurl stdenv linuxHeaders;