Hi,
Michael Raskin wrote:
> Modified:
> nixos/trunk/modules/system/activation/activation-script.nix
> nixos/trunk/modules/system/activation/top-level.nix
> nixos/trunk/modules/system/boot/stage-2-init.sh
> nixos/trunk/modules/system/etc/etc.nix
> nixos/trunk/modules/system/etc/make-etc.sh
>
> Log:
> Some boot optimisations attempted. My system boots a few times faster now,
> and I cannot see how these can break things.
I just rebooted and this broke my system - the udev job couldn't modprobe any
kernel modules because /etc/event.d/udev was still pointing at the old udev job
in the store, which in turn referred to an older kernel. So the check logic
isn't foolproof.
Further, *generating two C programs to update /etc* seems absolute overkill, and
doesn't improve the maintainability of the code. (I never really noticed the
/etc update being a major bottleneck...) Since the main overhead is probably in
forking, using a bit of Perl seems a simpler solution.
> + stat /nix/store/ | \
> + egrep \
> + 'Access: [(]1775/[-drwxt]*[)] *Uid: [(][0-9 ]*/ *root[)] *Gid:
> [(][0-9 ]*/ *nixbld[)]' \
> + > /dev/null || {
What does this do?
> +echo "symlink(\"$out/bin/kill-etc\",\"/etc/kill-etc\");" >> fill-etc.c
> +echo "unlink(\"/etc/kill-etc\");" >> kill-etc.c
What is kill-etc supposed to do?
--
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev