1357904982
* My motivation for this patch is that kernels < 2.6.36 contain an e1000e that does not support the ethernet card that is part of the chipset for the second-generation Core-i Intel CPUs, so in order to have a more useful livecd I needed to get aufs working with a newer kernel, and 2.6.37 is the latest kernel with an official aufs release. * All sources are downloaded with fetchgit. This is because the aufs upstream doesn't provide release tarballs, they just add a tag to their git tree for an official release. * The make target for the aufs2.1 headers uses a Makefile in the kernel build directory that requires that unifdef be in the scripts/ subdirectory of the build directory. The way I've dealt with this here is by adding "make $makeFlags -C scripts unifdef" to the postBuild in the kernel builder. Since the builder is used by all kernel versions, this will require rebuilding every kernel and kernel-dependent package if the patch is accepted, so one alternative I thought of would be to create a fake kernel build directory where everything is symlinked to the real build directory except scripts/, which is first copied and then make unifdef is run before building aufs2.1. If that more complicated solution is preferred, or if anyone has ideas for another one, I can do that and submit a new patch. * The patch was tested by building a livecd ISO that uses it, then running the ISO from within virtualbox and installing aufs2.1-util from within the livecd environment. * The livecd was built using installation-cd-minimal.nix, with two changes to the Nixos tree: 1. boot.kernelPackages = pkgs.linuxPackages_2_6_37 was added to profiles/minimal.nix 2. config.boot.kernelPackages.aufs2 was changed to config.boot.kernelPackages.aufs2_1 in iso-image.nix I would have preferred to keep all changes within profiles/minimal.nix, but I couldn't figure out how to override iso-image.nix's definition of boot.extraModulePackages. Livecds that use an older kernel can't be built with this iso-image.nix, since we don't have aufs2.1 for them (just aufs2). If someone can point me to how I can override things set in iso-image.nix, I'd appreciate it. make -C scripts unifdef compiles the unifdef application in the scripts/ directory, and when Nix copies over the build tree to $out/lib/modules/$version/build for kernel modules to reference, it copies over all of scripts/ except the .o files. I can't speak for other kernel versions, but at the least for 2.6.37.1 unifdef is not built by default. If you look at the Makefile in scripts, unifdef is listed under a comment saying that the following programs are only built on-demand. svn path=/nixpkgs/trunk/; revision=26548 |
||
---|---|---|
.. | ||
915resolution | ||
acpi | ||
acpi-call | ||
acpid | ||
acpitool | ||
afuse | ||
alsa-lib | ||
alsa-plugins | ||
alsa-utils | ||
atheros | ||
ati-drivers | ||
aufs | ||
aufs2 | ||
aufs2-util | ||
aufs2.1 | ||
aufs2.1-util | ||
autofs | ||
blcr | ||
bluez | ||
bridge-utils | ||
broadcom-sta | ||
checkpolicy | ||
cifs-utils | ||
conky | ||
cpufrequtils | ||
cramfsswap | ||
cryopid | ||
cryptsetup | ||
dietlibc | ||
directvnc | ||
dmidecode | ||
dmraid | ||
dmtcp | ||
e3cfsprogs | ||
eject | ||
exmap | ||
ext3cow-tools | ||
fbterm | ||
firmware | ||
fuse | ||
fxload | ||
gw6c | ||
hal | ||
hdparm | ||
hibernate | ||
htop | ||
hwdata | ||
i810switch | ||
ifplugd | ||
iotop | ||
iproute | ||
iptables | ||
iputils | ||
iscsitarget | ||
iwlwifi | ||
kbd | ||
kernel | ||
kernel-headers | ||
kernel-headers-cross | ||
keyutils | ||
klibc | ||
kqemu | ||
kudzu | ||
libcap | ||
libcg | ||
libnl | ||
libnscd | ||
libselinux | ||
libsemanage | ||
libsepol | ||
libsmbios | ||
libvolume_id | ||
lm_sensors | ||
lsiutil | ||
lsscsi | ||
lvm2 | ||
mdadm | ||
mingetty | ||
module-init-tools | ||
modutils | ||
mountall | ||
ndiswrapper | ||
net-tools | ||
nfs-utils | ||
nss_ldap | ||
numactl | ||
nvidia-x11 | ||
open-iscsi | ||
opengl/xorg-sys | ||
ov511 | ||
pam | ||
pam_ccreds | ||
pam_console | ||
pam_devperm | ||
pam_krb5 | ||
pam_ldap | ||
pam_login | ||
pam_unix2 | ||
pam_usb | ||
pcmciautils | ||
pm-utils | ||
pmount | ||
policycoreutils | ||
powertop | ||
procps | ||
psmisc | ||
pwdutils | ||
qc-usb | ||
qemu-kvm | ||
radeontools | ||
rfkill | ||
sdparm | ||
sepolgen | ||
shadow | ||
splashutils | ||
statifier | ||
sysfsutils | ||
sysklogd | ||
syslinux | ||
sysstat | ||
sysvinit | ||
tcp-wrapper | ||
tunctl | ||
uclibc | ||
udev | ||
uml-utilities | ||
untie | ||
upstart | ||
usbutils | ||
util-linux-ng | ||
wireless-tools | ||
wis-go7007 | ||
wpa_supplicant | ||
wvdial | ||
xf86-input-wacom | ||
zen-kernel |