as they become available (as determined by monitoring udev) and
emits Upstart events to inform other jobs that the filesystems are
mounted. This is very useful for NixOS (which currently ignores
filesystems in the job dependency chain - very bad).
Unfortunately, mountall depends on Plymouth (a boot splash
implementation). The patch allows mountall to build without
Plymouth. Since Plymouth is also used to inform users about failing
mounts and get responses, some more changes will be needed.
Probably mountall should emit a "mount-failed" event to trigger a
root shell on the console to allow the user to repair the problem.
svn path=/nixpkgs/trunk/; revision=22143
we will end up having MD5 passwords in passwd. pam_unix will fallback to md5 if the requested
hash algorithm is not available in crypt.
svn path=/nixpkgs/trunk/; revision=22141
coreutils:
- Don't remove variables such as $PATH and $SHELL from the calling
environment (from upstream).
- When su is invoked with command line arguments for the shell
(e.g. "su - -c 'cmd'"), set argv[0] in the shell to "-su" or
"-<basename>" (as determined by the SU_NAME option in
/etc/login.defs). This is necessary to make Bash compiled with
the NON_INTERACTIVE_LOGIN_SHELLS option to read startup files.
- Don't set $PATH to /bin:/usr/bin but inherit the $PATH of the
caller.
svn path=/nixpkgs/trunk/; revision=22140
useful on x86_64-linux to support i686 binaries: there we need the
NVIDIA OpenGL libraries, but not the kernel module or the
nvidia-settings program (which just cause a lot of unnecessary and
large dependencies).
svn path=/nixpkgs/trunk/; revision=22061
The Linux 2.6.34 kernel delivers (from [1])
- many open-source GPU driver updates,
- GPU switching support,
- the LogFS file-system,
- faster KVM networking support,
- Btrfs file-system updates,
- the VMware memory ballooning driver,
- and many other changes.
A more exhaustive list of the Linux 2.6.34 kernel changes from
architectures to network drivers is listed on the Wiki at
KernelNewbies.org.[2]
[1] http://www.phoronix.com:
[2] http://kernelnewbies.org/Linux_2_6_34
svn path=/nixpkgs/trunk/; revision=22023
/etc/firmware -> /var/run/current-system/firmware was disscussed on ML
I've also changed the order because "emergency" path should be of higher priority
svn path=/nixpkgs/trunk/; revision=21782
cross-building nixpkgs implementation, were not referenced anywhere.
This new busybox builds natively, and also cross-builds with uclibc.
I updated the uclibc config with a busybox defconfig requirement (something about RPC).
I made the gcc-cross-wrapper properly set the dynamic loader to programs.
After this, 'qemu-arm' can run the dynamically linked busybox cross built for armv5tel--linux-gnueabi.
svn path=/nixpkgs/trunk/; revision=20514
on the native and cross platforms.
I thought I already did that today in a previous commit, but I did all wrong.
svn path=/nixpkgs/trunk/; revision=20280
I introduce the new nixpkgs parameter "platform", defaulting to "pc",
which was before defined as an attribute of nixpkgs.
I made the crossSystem nixpkgs attribute set parameter contain its own 'platform'.
This allows cross-building a kernel for a given crossSystem.platform in a non-PC
platform.
The actual native platform can be taken from stdenv.platform, and this way we also
avoid the constant passing of 'platform' to packages for platform-dependant builds
(kernel, initrd, ...).
I will update nixos accordingly to these changes, for non-PC platforms to work.
I think we are gaining on flexibility and clearness. I could cross build succesfully
an ultrasparc kernel and a mipsel kernel on PC. But since this change, I should be able
to do this also in non-PC.
Before this change, there was no possibility of distinguishing the "target platform" or
the "native build platform" when cross building, being the single "platform" attribute
always interpreted as target platform.
The platform is a quite relevant attribute set, as it determines the linuxHeaders used
(in the case, by now the only one supported, of linux targets).
The platform attributes are quite linux centric still. Let's hope for more generality to come.
svn path=/nixpkgs/trunk/; revision=20273
Updating the cross-build expressions, adding some flexibility.
Updated the linux headers used cross building, as 2.6.28 had bugs on endianness in
sparc64.
There were, as usual some bugs in gcc. Maybe not many make a cross compiler to
ultrasparc.
For the record, I could build an ultrasparc kernel with this base nix:
import /etc/nixos/nixpkgs/default.nix # The root nixpkgs default.nix
{
crossSystem = {
config = "sparc64-unknown-linux";
bigEndian = true;
arch = "sparc64";
float = "soft";
withTLS = true;
cpu = "ultrasparc";
};
config = pkgs: {
packageOverrides = pkgs : {
platform = {
name = "sparc64";
kernelHeadersBaseConfig = "sparc64_defconfig";
kernelBaseConfig = "sparc64_defconfig";
kernelArch = "sparc";
kernelAutoModules = false;
kernelTarget = "zImage";
uboot = null;
};
};
};
}
Although it did not boot directly in qemu-system-sparc64:
[sparc64] Kernel already loaded
Unhandled Exception 0x0000000000000020
PC = 0x0000000000404000 NPC = 0x0000000000404004
svn path=/nixpkgs/trunk/; revision=20269