Merge branch 'pr-newest-uboot' into master
This commit is contained in:
commit
4085f4de5f
@ -19,18 +19,37 @@ in
|
|||||||
"it cannot be cross compiled";
|
"it cannot be cross compiled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Needed by RPi firmware
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"];
|
boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=tty0"];
|
||||||
|
boot.consoleLogLevel = 7;
|
||||||
|
|
||||||
# FIXME: this probably should be in installation-device.nix
|
# FIXME: this probably should be in installation-device.nix
|
||||||
users.extraUsers.root.initialHashedPassword = "";
|
users.extraUsers.root.initialHashedPassword = "";
|
||||||
|
|
||||||
sdImage = {
|
sdImage = {
|
||||||
populateBootCommands = ''
|
populateBootCommands = let
|
||||||
|
configTxt = pkgs.writeText "config.txt" ''
|
||||||
|
[pi2]
|
||||||
|
kernel=u-boot-rpi2.bin
|
||||||
|
|
||||||
|
[pi3]
|
||||||
|
kernel=u-boot-rpi3.bin
|
||||||
|
enable_uart=1
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
|
for f in bootcode.bin fixup.dat start.elf; do
|
||||||
|
cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/$f boot/
|
||||||
|
done
|
||||||
|
cp ${pkgs.ubootRaspberryPi2}/u-boot.bin boot/u-boot-rpi2.bin
|
||||||
|
cp ${pkgs.ubootRaspberryPi3}/u-boot.bin boot/u-boot-rpi3.bin
|
||||||
|
cp ${configTxt} boot/config.txt
|
||||||
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
|
${extlinux-conf-builder} -t 3 -c ${config.system.build.toplevel} -d ./boot
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@ in
|
|||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
||||||
|
boot.consoleLogLevel = 7;
|
||||||
|
|
||||||
# FIXME: this probably should be in installation-device.nix
|
# FIXME: this probably should be in installation-device.nix
|
||||||
users.extraUsers.root.initialHashedPassword = "";
|
users.extraUsers.root.initialHashedPassword = "";
|
||||||
|
@ -10,13 +10,13 @@ let
|
|||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
name = "uboot-${defconfig}-${version}";
|
name = "uboot-${defconfig}-${version}";
|
||||||
version = "2016.01";
|
version = "2016.05";
|
||||||
|
|
||||||
nativeBuildInputs = [ bc dtc ];
|
nativeBuildInputs = [ bc dtc ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
|
url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
|
||||||
sha256 = "1md5jpq5n9jh08s7sdkjrvg2q7kpzwa7yrpgl9581ncrjfx2yyg5";
|
sha256 = "0wdivib8kbm17qr6r7n7wyzg5vnwpagvwk5m0z80rbssc5sj5l47";
|
||||||
};
|
};
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
@ -68,6 +68,12 @@ in rec {
|
|||||||
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
|
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ubootBeagleboneBlack = buildUBoot rec {
|
||||||
|
defconfig = "am335x_boneblack_defconfig";
|
||||||
|
targetPlatforms = ["armv7l-linux"];
|
||||||
|
filesToInstall = ["MLO" "u-boot.img"];
|
||||||
|
};
|
||||||
|
|
||||||
ubootJetsonTK1 = buildUBoot rec {
|
ubootJetsonTK1 = buildUBoot rec {
|
||||||
defconfig = "jetson-tk1_defconfig";
|
defconfig = "jetson-tk1_defconfig";
|
||||||
targetPlatforms = ["armv7l-linux"];
|
targetPlatforms = ["armv7l-linux"];
|
||||||
@ -86,12 +92,16 @@ in rec {
|
|||||||
filesToInstall = ["u-boot.bin"];
|
filesToInstall = ["u-boot.bin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Intended only for QEMU's vexpress-a9 emulation target!
|
ubootRaspberryPi2 = buildUBoot rec {
|
||||||
ubootVersatileExpressCA9 = buildUBoot rec {
|
defconfig = "rpi_2_defconfig";
|
||||||
defconfig = "vexpress_ca9x4_defconfig";
|
|
||||||
targetPlatforms = ["armv7l-linux"];
|
targetPlatforms = ["armv7l-linux"];
|
||||||
filesToInstall = ["u-boot"];
|
filesToInstall = ["u-boot.bin"];
|
||||||
patches = [ ./vexpress-Use-config_distro_bootcmd.patch ];
|
};
|
||||||
|
|
||||||
|
ubootRaspberryPi3 = buildUBoot rec {
|
||||||
|
defconfig = "rpi_3_32b_defconfig";
|
||||||
|
targetPlatforms = ["armv7l-linux"];
|
||||||
|
filesToInstall = ["u-boot.bin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
ubootWandboard = buildUBoot rec {
|
ubootWandboard = buildUBoot rec {
|
||||||
|
@ -1,82 +0,0 @@
|
|||||||
From 98f62c27fe481dc2d444d70265268d2369d8a998 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
|
|
||||||
Date: Mon, 8 Jun 2015 22:29:23 +0300
|
|
||||||
Subject: [PATCH] vexpress: Use config_distro_bootcmd
|
|
||||||
|
|
||||||
Also had to hack cli_readline.c, as one codepath in
|
|
||||||
cli_readline_into_buffer doesn't respect the timeout.
|
|
||||||
---
|
|
||||||
common/cli_readline.c | 12 +++++++++++-
|
|
||||||
configs/vexpress_ca9x4_defconfig | 2 --
|
|
||||||
include/configs/vexpress_common.h | 2 +-
|
|
||||||
3 files changed, 12 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/common/cli_readline.c b/common/cli_readline.c
|
|
||||||
index c1476e4..5063a0a 100644
|
|
||||||
--- a/common/cli_readline.c
|
|
||||||
+++ b/common/cli_readline.c
|
|
||||||
@@ -517,6 +517,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
|
|
||||||
int plen = 0; /* prompt length */
|
|
||||||
int col; /* output column cnt */
|
|
||||||
char c;
|
|
||||||
+ int first = 1;
|
|
||||||
|
|
||||||
/* print prompt */
|
|
||||||
if (prompt) {
|
|
||||||
@@ -528,7 +529,16 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
|
|
||||||
for (;;) {
|
|
||||||
if (bootretry_tstc_timeout())
|
|
||||||
return -2; /* timed out */
|
|
||||||
- WATCHDOG_RESET(); /* Trigger watchdog, if needed */
|
|
||||||
+ if (first && timeout) {
|
|
||||||
+ uint64_t etime = endtick(timeout);
|
|
||||||
+
|
|
||||||
+ while (!tstc()) { /* while no incoming data */
|
|
||||||
+ if (get_ticks() >= etime)
|
|
||||||
+ return -2; /* timed out */
|
|
||||||
+ WATCHDOG_RESET();
|
|
||||||
+ }
|
|
||||||
+ first = 0;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
#ifdef CONFIG_SHOW_ACTIVITY
|
|
||||||
while (!tstc()) {
|
|
||||||
diff --git a/configs/vexpress_ca9x4_defconfig b/configs/vexpress_ca9x4_defconfig
|
|
||||||
index 2947fc1..9a5123d 100644
|
|
||||||
--- a/configs/vexpress_ca9x4_defconfig
|
|
||||||
+++ b/configs/vexpress_ca9x4_defconfig
|
|
||||||
@@ -5,11 +5,9 @@ CONFIG_TARGET_VEXPRESS_CA9X4=y
|
|
||||||
# CONFIG_CMD_IMLS is not set
|
|
||||||
# CONFIG_CMD_XIMG is not set
|
|
||||||
# CONFIG_CMD_EDITENV is not set
|
|
||||||
-# CONFIG_CMD_ENV_EXISTS is not set
|
|
||||||
# CONFIG_CMD_LOADB is not set
|
|
||||||
# CONFIG_CMD_LOADS is not set
|
|
||||||
# CONFIG_CMD_FPGA is not set
|
|
||||||
-# CONFIG_CMD_ECHO is not set
|
|
||||||
# CONFIG_CMD_ITEST is not set
|
|
||||||
# CONFIG_CMD_SETEXPR is not set
|
|
||||||
# CONFIG_CMD_NFS is not set
|
|
||||||
diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h
|
|
||||||
index 98f6ae9..062532a 100644
|
|
||||||
--- a/include/configs/vexpress_common.h
|
|
||||||
+++ b/include/configs/vexpress_common.h
|
|
||||||
@@ -185,7 +185,6 @@
|
|
||||||
CONFIG_SYS_INIT_RAM_SIZE - \
|
|
||||||
GENERATED_GBL_DATA_SIZE)
|
|
||||||
#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET
|
|
||||||
-#define CONFIG_CMD_ECHO
|
|
||||||
|
|
||||||
#include <config_distro_defaults.h>
|
|
||||||
|
|
||||||
@@ -225,6 +224,7 @@
|
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
||||||
CONFIG_PLATFORM_ENV_SETTINGS \
|
|
||||||
BOOTENV \
|
|
||||||
+ "fdtfile=vexpress-v2p-ca9.dtb\0" \
|
|
||||||
"console=ttyAMA0,38400n8\0" \
|
|
||||||
"dram=1024M\0" \
|
|
||||||
"root=/dev/sda1 rw\0" \
|
|
||||||
--
|
|
||||||
2.6.0
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
|||||||
{stdenv, fetchurl }:
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
|
name = "raspberrypi-firmware-${version}";
|
||||||
|
version = "1.20160620";
|
||||||
|
|
||||||
rev = "1.20160315";
|
src = fetchFromGitHub {
|
||||||
|
owner = "raspberrypi";
|
||||||
in stdenv.mkDerivation {
|
repo = "firmware";
|
||||||
name = "raspberrypi-firmware-${rev}";
|
rev = version;
|
||||||
|
sha256 = "06g691px0abndp5zvz2ba1g675rcqb64n055h5ahgnlck5cdpawg";
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/raspberrypi/firmware/archive/${rev}.tar.gz";
|
|
||||||
sha256 = "0a7ycv01s0kk84szsh51hy2mjjil1dzdk0g7k83h50d5nya090fl";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -19,8 +18,10 @@ in stdenv.mkDerivation {
|
|||||||
cp opt/vc/LICENCE $out/share/raspberrypi
|
cp opt/vc/LICENCE $out/share/raspberrypi
|
||||||
|
|
||||||
for f in $out/bin/*; do
|
for f in $out/bin/*; do
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f"
|
if isELF "$f"; then
|
||||||
patchelf --set-rpath "$out/lib" "$f"
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f"
|
||||||
|
patchelf --set-rpath "$out/lib" "$f"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -1,21 +1,47 @@
|
|||||||
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
|
{ stdenv, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
modDirVersion = "4.4.13";
|
||||||
|
tag = "1.20160620-1";
|
||||||
|
in
|
||||||
|
stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
|
||||||
|
version = "${modDirVersion}-${tag}";
|
||||||
|
inherit modDirVersion;
|
||||||
|
|
||||||
rev = "f4b20d47d7df7927967fcd524324b145cfc9e2f9";
|
src = fetchFromGitHub {
|
||||||
|
owner = "raspberrypi";
|
||||||
in import ./generic.nix (args // rec {
|
repo = "linux";
|
||||||
version = "4.1.y-${rev}";
|
rev = "raspberrypi-kernel_${tag}";
|
||||||
|
sha256 = "0bydlzmd9mar07j6dihhzn1xm6vpn92y33vf1qsdkl3hjil6brfc";
|
||||||
modDirVersion = "4.1.20-v7";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}";
|
|
||||||
name = "linux-raspberrypi-${version}.tar.gz";
|
|
||||||
sha256 = "0x17hlbi7lpmmnp24dnkync5gzj57j84j0nlrcv1lv9fahjkqsm2";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
features.iwlwifi = true;
|
features.iwlwifi = true;
|
||||||
|
|
||||||
extraMeta.hydraPlatforms = [];
|
extraMeta.hydraPlatforms = [];
|
||||||
|
})) (oldAttrs: {
|
||||||
|
postConfigure = ''
|
||||||
|
# The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
|
||||||
|
sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
# Make copies of the DTBs so that U-Boot finds them, as it is looking for the upstream names.
|
||||||
|
# This is ugly as heck.
|
||||||
|
copyDTB() {
|
||||||
|
if [ -f "$out/dtbs/$1" ]; then
|
||||||
|
cp -v "$out/dtbs/$1" "$out/dtbs/$2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# I am not sure if all of these are correct...
|
||||||
|
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
|
||||||
|
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
|
||||||
|
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
|
||||||
|
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb
|
||||||
|
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb
|
||||||
|
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb
|
||||||
|
copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
|
||||||
|
copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
|
||||||
|
copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
|
||||||
|
'';
|
||||||
})
|
})
|
||||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Realtek SDIO Wi-Fi driver";
|
description = "Realtek SDIO Wi-Fi driver";
|
||||||
homepage = "https://github.com/hadess/rtl8723bs";
|
homepage = "https://github.com/hadess/rtl8723bs";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2;
|
||||||
platforms = [ "x86_64-linux" "i686-linux" "armv7l-linux" ];
|
platforms = stdenv.lib.platforms.linux;
|
||||||
broken = ! versionAtLeast kernel.version "3.19";
|
broken = ! versionAtLeast kernel.version "3.19";
|
||||||
maintainers = with maintainers; [ elitak ];
|
maintainers = with maintainers; [ elitak ];
|
||||||
};
|
};
|
||||||
|
@ -11465,10 +11465,12 @@ in
|
|||||||
buildUBoot
|
buildUBoot
|
||||||
ubootTools
|
ubootTools
|
||||||
ubootBananaPi
|
ubootBananaPi
|
||||||
|
ubootBeagleboneBlack
|
||||||
ubootJetsonTK1
|
ubootJetsonTK1
|
||||||
ubootPcduino3Nano
|
ubootPcduino3Nano
|
||||||
ubootRaspberryPi
|
ubootRaspberryPi
|
||||||
ubootVersatileExpressCA9
|
ubootRaspberryPi2
|
||||||
|
ubootRaspberryPi3
|
||||||
ubootWandboard
|
ubootWandboard
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -136,6 +136,7 @@ rec {
|
|||||||
kernelMajor = "2.6";
|
kernelMajor = "2.6";
|
||||||
kernelHeadersBaseConfig = "bcm2835_defconfig";
|
kernelHeadersBaseConfig = "bcm2835_defconfig";
|
||||||
kernelBaseConfig = "bcmrpi_defconfig";
|
kernelBaseConfig = "bcmrpi_defconfig";
|
||||||
|
kernelDTB = true;
|
||||||
kernelArch = "arm";
|
kernelArch = "arm";
|
||||||
kernelAutoModules = false;
|
kernelAutoModules = false;
|
||||||
kernelExtraConfig =
|
kernelExtraConfig =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user