mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-31 06:31:20 +00:00
Merge branch 'plat-fix-for-merge-2' into master
This commit is contained in:
commit
e864247f08
@ -167,171 +167,24 @@ rec {
|
|||||||
raspberrypi = {
|
raspberrypi = {
|
||||||
name = "raspberrypi";
|
name = "raspberrypi";
|
||||||
kernelMajor = "2.6";
|
kernelMajor = "2.6";
|
||||||
kernelBaseConfig = "bcmrpi_defconfig";
|
kernelBaseConfig = "bcm2835_defconfig";
|
||||||
kernelDTB = true;
|
kernelDTB = true;
|
||||||
kernelArch = "arm";
|
kernelArch = "arm";
|
||||||
kernelAutoModules = false;
|
kernelAutoModules = false;
|
||||||
kernelExtraConfig = ''
|
kernelExtraConfig = ''
|
||||||
BLK_DEV_RAM y
|
|
||||||
BLK_DEV_INITRD y
|
|
||||||
BLK_DEV_CRYPTOLOOP m
|
|
||||||
BLK_DEV_DM m
|
|
||||||
DM_CRYPT m
|
|
||||||
MD y
|
|
||||||
REISERFS_FS m
|
|
||||||
BTRFS_FS y
|
|
||||||
XFS_FS m
|
|
||||||
JFS_FS y
|
|
||||||
EXT4_FS y
|
|
||||||
|
|
||||||
IP_PNP y
|
|
||||||
IP_PNP_DHCP y
|
|
||||||
NFS_FS y
|
|
||||||
ROOT_NFS y
|
|
||||||
TUN m
|
|
||||||
NFS_V4 y
|
|
||||||
NFS_V4_1 y
|
|
||||||
NFS_FSCACHE y
|
|
||||||
NFSD m
|
|
||||||
NFSD_V2_ACL y
|
|
||||||
NFSD_V3 y
|
|
||||||
NFSD_V3_ACL y
|
|
||||||
NFSD_V4 y
|
|
||||||
NETFILTER y
|
|
||||||
IP_NF_IPTABLES y
|
|
||||||
IP_NF_FILTER y
|
|
||||||
IP_NF_MATCH_ADDRTYPE y
|
|
||||||
IP_NF_TARGET_LOG y
|
|
||||||
IP_NF_MANGLE y
|
|
||||||
IPV6 m
|
|
||||||
VLAN_8021Q m
|
|
||||||
|
|
||||||
CIFS y
|
|
||||||
CIFS_XATTR y
|
|
||||||
CIFS_POSIX y
|
|
||||||
CIFS_FSCACHE y
|
|
||||||
CIFS_ACL y
|
|
||||||
|
|
||||||
ZRAM m
|
|
||||||
|
|
||||||
# Disable OABI to have seccomp_filter (required for systemd)
|
# Disable OABI to have seccomp_filter (required for systemd)
|
||||||
# https://github.com/raspberrypi/firmware/issues/651
|
# https://github.com/raspberrypi/firmware/issues/651
|
||||||
OABI_COMPAT n
|
OABI_COMPAT n
|
||||||
|
|
||||||
# Fail to build
|
|
||||||
DRM n
|
|
||||||
SCSI_ADVANSYS n
|
|
||||||
USB_ISP1362_HCD n
|
|
||||||
SND_SOC n
|
|
||||||
SND_ALI5451 n
|
|
||||||
FB_SAVAGE n
|
|
||||||
SCSI_NSP32 n
|
|
||||||
ATA_SFF n
|
|
||||||
SUNGEM n
|
|
||||||
IRDA n
|
|
||||||
ATM_HE n
|
|
||||||
SCSI_ACARD n
|
|
||||||
BLK_DEV_CMD640_ENHANCED n
|
|
||||||
|
|
||||||
FUSE_FS m
|
|
||||||
|
|
||||||
# nixos mounts some cgroup
|
|
||||||
CGROUPS y
|
|
||||||
|
|
||||||
# Latencytop
|
|
||||||
LATENCYTOP y
|
|
||||||
'';
|
'';
|
||||||
kernelTarget = "zImage";
|
kernelTarget = "zImage";
|
||||||
gcc = {
|
gcc = {
|
||||||
arch = "armv6";
|
arch = "armv6";
|
||||||
fpu = "vfp";
|
fpu = "vfp";
|
||||||
# TODO(@Ericson2314) what is this and is it a good idea? It was
|
|
||||||
# used in some cross compilation examples but not others.
|
|
||||||
#
|
|
||||||
# abi = "aapcs-linux";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
raspberrypi2 = armv7l-hf-multiplatform // {
|
# Legacy attribute, for compatibility with existing configs only.
|
||||||
name = "raspberrypi2";
|
raspberrypi2 = armv7l-hf-multiplatform;
|
||||||
kernelBaseConfig = "bcm2709_defconfig";
|
|
||||||
kernelDTB = true;
|
|
||||||
kernelAutoModules = false;
|
|
||||||
kernelExtraConfig = ''
|
|
||||||
BLK_DEV_RAM y
|
|
||||||
BLK_DEV_INITRD y
|
|
||||||
BLK_DEV_CRYPTOLOOP m
|
|
||||||
BLK_DEV_DM m
|
|
||||||
DM_CRYPT m
|
|
||||||
MD y
|
|
||||||
REISERFS_FS m
|
|
||||||
BTRFS_FS y
|
|
||||||
XFS_FS m
|
|
||||||
JFS_FS y
|
|
||||||
EXT4_FS y
|
|
||||||
|
|
||||||
IP_PNP y
|
|
||||||
IP_PNP_DHCP y
|
|
||||||
NFS_FS y
|
|
||||||
ROOT_NFS y
|
|
||||||
TUN m
|
|
||||||
NFS_V4 y
|
|
||||||
NFS_V4_1 y
|
|
||||||
NFS_FSCACHE y
|
|
||||||
NFSD m
|
|
||||||
NFSD_V2_ACL y
|
|
||||||
NFSD_V3 y
|
|
||||||
NFSD_V3_ACL y
|
|
||||||
NFSD_V4 y
|
|
||||||
NETFILTER y
|
|
||||||
IP_NF_IPTABLES y
|
|
||||||
IP_NF_FILTER y
|
|
||||||
IP_NF_MATCH_ADDRTYPE y
|
|
||||||
IP_NF_TARGET_LOG y
|
|
||||||
IP_NF_MANGLE y
|
|
||||||
IPV6 m
|
|
||||||
VLAN_8021Q m
|
|
||||||
|
|
||||||
CIFS y
|
|
||||||
CIFS_XATTR y
|
|
||||||
CIFS_POSIX y
|
|
||||||
CIFS_FSCACHE y
|
|
||||||
CIFS_ACL y
|
|
||||||
|
|
||||||
ZRAM m
|
|
||||||
|
|
||||||
# Disable OABI to have seccomp_filter (required for systemd)
|
|
||||||
# https://github.com/raspberrypi/firmware/issues/651
|
|
||||||
OABI_COMPAT n
|
|
||||||
|
|
||||||
# Fail to build
|
|
||||||
DRM n
|
|
||||||
SCSI_ADVANSYS n
|
|
||||||
USB_ISP1362_HCD n
|
|
||||||
SND_SOC n
|
|
||||||
SND_ALI5451 n
|
|
||||||
FB_SAVAGE n
|
|
||||||
SCSI_NSP32 n
|
|
||||||
ATA_SFF n
|
|
||||||
SUNGEM n
|
|
||||||
IRDA n
|
|
||||||
ATM_HE n
|
|
||||||
SCSI_ACARD n
|
|
||||||
BLK_DEV_CMD640_ENHANCED n
|
|
||||||
|
|
||||||
FUSE_FS m
|
|
||||||
|
|
||||||
# nixos mounts some cgroup
|
|
||||||
CGROUPS y
|
|
||||||
|
|
||||||
# Latencytop
|
|
||||||
LATENCYTOP y
|
|
||||||
|
|
||||||
# Disable the common config Xen, it doesn't build on ARM
|
|
||||||
XEN? n
|
|
||||||
'';
|
|
||||||
kernelTarget = "zImage";
|
|
||||||
};
|
|
||||||
|
|
||||||
scaleway-c1 = armv7l-hf-multiplatform // {
|
scaleway-c1 = armv7l-hf-multiplatform // {
|
||||||
gcc = {
|
gcc = {
|
||||||
@ -424,6 +277,10 @@ rec {
|
|||||||
|
|
||||||
# Hangs ODROID-XU4
|
# Hangs ODROID-XU4
|
||||||
ARM_BIG_LITTLE_CPUIDLE n
|
ARM_BIG_LITTLE_CPUIDLE n
|
||||||
|
|
||||||
|
# Disable OABI to have seccomp_filter (required for systemd)
|
||||||
|
# https://github.com/raspberrypi/firmware/issues/651
|
||||||
|
OABI_COMPAT n
|
||||||
'';
|
'';
|
||||||
gcc = {
|
gcc = {
|
||||||
# Some table about fpu flags:
|
# Some table about fpu flags:
|
||||||
|
@ -31,10 +31,23 @@ in
|
|||||||
users.extraUsers.root.initialHashedPassword = "";
|
users.extraUsers.root.initialHashedPassword = "";
|
||||||
|
|
||||||
sdImage = {
|
sdImage = {
|
||||||
populateBootCommands = ''
|
populateBootCommands = let
|
||||||
|
configTxt = pkgs.writeText "config.txt" ''
|
||||||
|
# Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
|
||||||
|
# when attempting to show low-voltage or overtemperature warnings.
|
||||||
|
avoid_warnings=1
|
||||||
|
|
||||||
|
[pi0]
|
||||||
|
kernel=u-boot-rpi0.bin
|
||||||
|
|
||||||
|
[pi1]
|
||||||
|
kernel=u-boot-rpi1.bin
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
|
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
|
||||||
cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi.bin
|
cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin boot/u-boot-rpi0.bin
|
||||||
echo 'kernel u-boot-rpi.bin' > boot/config.txt
|
cp ${pkgs.ubootRaspberryPi}/u-boot.bin boot/u-boot-rpi1.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
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -7,8 +7,8 @@ let
|
|||||||
# Various changes for 64-bit sunxi boards, (hopefully) destined for 2018.05
|
# Various changes for 64-bit sunxi boards, (hopefully) destined for 2018.05
|
||||||
sunxiPatch = fetchpatch {
|
sunxiPatch = fetchpatch {
|
||||||
name = "sunxi.patch";
|
name = "sunxi.patch";
|
||||||
url = "https://github.com/u-boot/u-boot/compare/v2018.03...dezgeg:2018-03-sunxi.patch";
|
url = "https://github.com/u-boot/u-boot/compare/v2018.05...dezgeg:2018-05-sunxi.patch";
|
||||||
sha256 = "1pqn7c6c06hfygwpcgaraqvqxcjhz99j0rx5psfhj8igy0qvk2dq";
|
sha256 = "1dfv4s1f71iv80vjxgyghv4pcwjv4mjphk75a8hfl3jdbpd66d36";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildUBoot = { filesToInstall
|
buildUBoot = { filesToInstall
|
||||||
@ -21,21 +21,21 @@ let
|
|||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
name = "uboot-${defconfig}-${version}";
|
name = "uboot-${defconfig}-${version}";
|
||||||
version = "2018.03";
|
version = "2018.05";
|
||||||
|
|
||||||
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 = "1z9x635l5164c5hnf7qs19w7j3qghbkgs7rpn673dm898i9pfx3y";
|
sha256 = "0j60p4iskzb4hamxgykc6gd7xchxfka1zwh8hv08r9rrc4m3r8ad";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch1.patch;
|
url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch1.patch;
|
||||||
sha256 = "067yq55vv1slv4xy346px7h329pi14abdn04chg6s1s6hmf6c1x9";
|
sha256 = "0xvw16mp6mm36987rd5yb8bw0n5b3p1gq35wch2gbj15wx55450p";
|
||||||
})
|
})
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch2.patch;
|
url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch2.patch;
|
||||||
sha256 = "0bbw0q027xvzvdxxvpzjajg4rm30a8mb7z74b6ma9q0l7y7bi0c4";
|
sha256 = "0q1a5l5rfgddncxrjk59qr1f5587dwbvcf6z15bsfl2invs19m2b";
|
||||||
})
|
})
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = https://github.com/dezgeg/u-boot/commit/pythonpath-2018-03.patch;
|
url = https://github.com/dezgeg/u-boot/commit/pythonpath-2018-03.patch;
|
||||||
@ -100,8 +100,7 @@ in rec {
|
|||||||
hardeningDisable = [];
|
hardeningDisable = [];
|
||||||
dontStrip = false;
|
dontStrip = false;
|
||||||
extraMeta.platforms = stdenv.lib.platforms.linux;
|
extraMeta.platforms = stdenv.lib.platforms.linux;
|
||||||
# build tools/kwboot
|
extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
|
||||||
extraMakeFlags = [ "CONFIG_KIRKWOOD=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
|
sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
|
||||||
'';
|
'';
|
||||||
@ -218,6 +217,12 @@ in rec {
|
|||||||
filesToInstall = ["u-boot.bin"];
|
filesToInstall = ["u-boot.bin"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ubootRaspberryPiZero = buildUBoot rec {
|
||||||
|
defconfig = "rpi_0_w_defconfig";
|
||||||
|
extraMeta.platforms = ["armv6l-linux"];
|
||||||
|
filesToInstall = ["u-boot.bin"];
|
||||||
|
};
|
||||||
|
|
||||||
ubootSheevaplug = buildUBoot rec {
|
ubootSheevaplug = buildUBoot rec {
|
||||||
defconfig = "sheevaplug_defconfig";
|
defconfig = "sheevaplug_defconfig";
|
||||||
extraMeta.platforms = ["armv5tel-linux"];
|
extraMeta.platforms = ["armv5tel-linux"];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "raspberrypi-firmware-${version}";
|
name = "raspberrypi-firmware-${version}";
|
||||||
version = "1.20180328";
|
version = "1.20180417";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "raspberrypi";
|
owner = "raspberrypi";
|
||||||
repo = "firmware";
|
repo = "firmware";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
|
sha256 = "17mnnhni0wgdnc3mw60nfhcj9v6p5dwcqkwnbpvzczab3r2hziji";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
, # The kernel version.
|
, # The kernel version.
|
||||||
version
|
version
|
||||||
|
|
||||||
|
, # Allows overriding the default defconfig
|
||||||
|
defconfig ? null
|
||||||
|
|
||||||
, # Overrides to the kernel config.
|
, # Overrides to the kernel config.
|
||||||
extraConfig ? ""
|
extraConfig ? ""
|
||||||
|
|
||||||
@ -85,7 +88,7 @@ let
|
|||||||
|
|
||||||
platformName = hostPlatform.platform.name;
|
platformName = hostPlatform.platform.name;
|
||||||
# e.g. "defconfig"
|
# e.g. "defconfig"
|
||||||
kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
|
kernelBaseConfig = if defconfig != null then defconfig else hostPlatform.platform.kernelBaseConfig;
|
||||||
# e.g. "bzImage"
|
# e.g. "bzImage"
|
||||||
kernelTarget = hostPlatform.platform.kernelTarget;
|
kernelTarget = hostPlatform.platform.kernelTarget;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
||||||
|
|
||||||
let
|
let
|
||||||
modDirVersion = "4.9.59";
|
modDirVersion = "4.14.34";
|
||||||
tag = "1.20171029";
|
tag = "1.20180417";
|
||||||
in
|
in
|
||||||
stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
||||||
version = "${modDirVersion}-${tag}";
|
version = "${modDirVersion}-${tag}";
|
||||||
@ -12,9 +12,14 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
|||||||
owner = "raspberrypi";
|
owner = "raspberrypi";
|
||||||
repo = "linux";
|
repo = "linux";
|
||||||
rev = "raspberrypi-kernel_${tag}-1";
|
rev = "raspberrypi-kernel_${tag}-1";
|
||||||
sha256 = "19lb1gxz21x1d5zdznzqfq60kxg7iqmyl6l0mb9qg2vrl8fcgnxk";
|
sha256 = "1xgisvmcq50lpnd4rpqhaw52399n0rx2n8mp6k0bf8qm1g3vnza2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defconfig = {
|
||||||
|
"armv6l-linux" = "bcmrpi_defconfig";
|
||||||
|
"armv7l-linux" = "bcm2709_defconfig";
|
||||||
|
}.${stdenv.system} or (throw "linux_rpi not supported on '${stdenv.system}'");
|
||||||
|
|
||||||
features = {
|
features = {
|
||||||
efiBootStub = false;
|
efiBootStub = false;
|
||||||
} // (args.features or {});
|
} // (args.features or {});
|
||||||
@ -27,16 +32,15 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
# Make copies of the DTBs so that U-Boot finds them, as it is looking for the upstream names.
|
# Make copies of the DTBs named after the upstream names so that U-Boot finds them.
|
||||||
# This is ugly as heck.
|
# This is ugly as heck, but I don't know a better solution so far.
|
||||||
|
rm $out/dtbs/bcm283*.dtb
|
||||||
copyDTB() {
|
copyDTB() {
|
||||||
if [ -f "$out/dtbs/$1" ]; then
|
|
||||||
cp -v "$out/dtbs/$1" "$out/dtbs/$2"
|
cp -v "$out/dtbs/$1" "$out/dtbs/$2"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# I am not sure if all of these are correct...
|
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
|
||||||
copyDTB bcm2708-rpi-0-w.dts bcm2835-rpi-zero.dtb
|
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
|
||||||
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
|
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.dtb
|
||||||
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
|
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
|
||||||
@ -46,6 +50,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
|||||||
copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
|
copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
|
||||||
copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
|
copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
|
||||||
copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
|
copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
|
||||||
# bcm2710-rpi-cm3.dts is yet unknown.
|
copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
|
||||||
|
copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -14139,6 +14139,7 @@ with pkgs;
|
|||||||
ubootRaspberryPi2
|
ubootRaspberryPi2
|
||||||
ubootRaspberryPi3_32bit
|
ubootRaspberryPi3_32bit
|
||||||
ubootRaspberryPi3_64bit
|
ubootRaspberryPi3_64bit
|
||||||
|
ubootRaspberryPiZero
|
||||||
ubootSheevaplug
|
ubootSheevaplug
|
||||||
ubootSopine
|
ubootSopine
|
||||||
ubootUtilite
|
ubootUtilite
|
||||||
|
Loading…
Reference in New Issue
Block a user