Commit graph

132 commits

Author SHA1 Message Date
Eelco Dolstra 2da50038e4 * Use aufs instead of unionfs, it seems to be more stable.
svn path=/nixos/trunk/; revision=10390
2008-01-29 18:53:15 +00:00
Eelco Dolstra 49e8829053 * Use unionfs to provide a real Live CD, i.e., the files on the CD
appear writable (though all writes go to a tmpfs).  This allows you
  to run Nix operations on the Live CD.  However, we're not quite
  there yet since the CD doesn't have a valid Nix database.  So for
  instance a garbage collect will cause everything to be deleted,
  hanging the system.

svn path=/nixos/trunk/; revision=10276
2008-01-24 16:56:09 +00:00
Eelco Dolstra 86484779c7 * Mount usbfs on /proc/bus/usb.
svn path=/nixos/trunk/; revision=10220
2008-01-18 15:18:32 +00:00
Michael Raskin 4475a74fb8 LiveDVD with X and sources made.
svn path=/nixos/trunk/; revision=10119
2008-01-11 16:59:39 +00:00
Eelco Dolstra d4168a89b1 * Get rid of some spurious error messages.
svn path=/nixos/trunk/; revision=9968
2007-12-25 16:07:55 +00:00
Michael Raskin ba09f592c8 Added TuxOnIce support to initscripts
svn path=/nixos/trunk/; revision=9960
2007-12-20 21:33:45 +00:00
Eelco Dolstra 79c7f2cecc * Make fsck shut up about missing fstab. Contributed
by Nicolas Pierron.

svn path=/nixos/trunk/; revision=9571
2007-11-01 15:58:01 +00:00
Eelco Dolstra c43dc7b013 * Allow Upstart's init to be upgraded in a running system.
svn path=/nixos/trunk/; revision=9375
2007-09-27 12:24:05 +00:00
Yury G. Kudryashov 867d814d27 Remove unneeded copy of lvm in initrd.
Something replaces symlinks in initrd with copies. Removed symlinks to lvm and
changed syntax (vgscan -> lvm vgscan).

svn path=/nixos/trunk/; revision=9233
2007-09-01 18:05:46 +00:00
Yury G. Kudryashov 3944916856 Support for mounting pseudo-felisystems during stage1
Don't ignore fsType field, don't add /mnt/root to device names not starting with
'/'.

svn path=/nixos/trunk/; revision=9232
2007-09-01 17:59:00 +00:00
Yury G. Kudryashov cd1023c50d * Added boot.initrd.lvm flag for use NixOS with LVM2 root partition.
* Added sis support for xserver.

svn path=/nixos/trunk/; revision=8924
2007-06-28 09:57:36 +00:00
Eelco Dolstra 15e3ec8dec * Additional debug options for stage 1 (can be passed on the kernel
command line):
  - debug1devices: drop into a shell after modules have been load and
    device nodes have been created.
  - debug1mounts: drop into a shell after file systems have been
    mounted.

svn path=/nixos/trunk/; revision=8804
2007-05-30 10:32:42 +00:00
Eelco Dolstra 6b627a9ca7 * Back out some Wouter-specific profile settings ;-)
svn path=/nixos/trunk/; revision=8801
2007-05-29 19:54:14 +00:00
Wouter den Breejen 2e50d9cd58 nixos dir: Xserver and samba nixos
svn path=/nixos/trunk/; revision=8784
2007-05-28 14:09:04 +00:00
Eelco Dolstra aab8fda25a * Option `networking.localCommands' to specify shell commands to be
executed after the network interfaces have been initialised.

svn path=/nixos/trunk/; revision=8752
2007-05-24 14:50:17 +00:00
Eelco Dolstra 7243eb1d1d * Create /bin on the CD to suppress the /bin/sh symlink creation
error.
* Put the top-level system config on the CD, otherwise root doesn't
  get a working login shell on the CD (and the system PATH is broken
  as well).

svn path=/nixos/trunk/; revision=8658
2007-05-09 17:32:41 +00:00
Eelco Dolstra c10fe148a3 * /var/run/current-system symlinks to the top-level path of the system
configuration now.
* /var/run/booted-system symlinks to the system configuration used at
  boot time.

svn path=/nixos/trunk/; revision=8381
2007-03-20 13:01:53 +00:00
Eelco Dolstra 8851530afb * Setting boot.localCommands for anything you want to execute before
Upstart is started.

svn path=/nixos/trunk/; revision=8229
2007-03-06 00:45:33 +00:00
Eelco Dolstra f2e85499f3 * Doh.
svn path=/nixos/trunk/; revision=7864
2007-02-06 18:29:20 +00:00
Eelco Dolstra 8cf1eceb0a * Allow multiple file systems to be mounted in stage 1 (i.e., from the
initrd).  This is useful if /nix (which is necessary for stage 2) is
  on a different file system than /.

svn path=/nixos/trunk/; revision=7862
2007-02-06 16:53:36 +00:00
Eelco Dolstra d197a0f2cc * Use the Perl version of paths-from-graphs everywhere.
svn path=/nixos/trunk/; revision=7774
2007-01-23 14:37:42 +00:00
Eelco Dolstra cf9016d816 * Mount devpts.
* Set the right permissions on /dev/tty and /dev/ptmx.

svn path=/nixos/trunk/; revision=7703
2007-01-16 22:34:15 +00:00
Eelco Dolstra cb10364838 * Use a diet udev in boot stage 1 to create the device nodes in /dev.
svn path=/nixos/trunk/; revision=7608
2007-01-10 12:42:28 +00:00
Eelco Dolstra 47761d0bd0 * Make some more SCSI device nodes. Quick hack to get NixOS running
on itchy.  We really should run udevd in boot stage 1.

svn path=/nixos/trunk/; revision=7583
2007-01-09 13:15:13 +00:00
Eelco Dolstra bed8b44dc8 * We do need some devices in /dev when not auto-detecting the root
device.

svn path=/nixos/trunk/; revision=7476
2006-12-23 23:38:34 +00:00
Eelco Dolstra 11e4d36db1 * Look for the CD-ROM in /sys/block, not /sys/devices. Don't look for
a "media" file since SCSI CD-ROM drives don't have it (and
  supposedly it's going away in IDE too).
* Create the device node automatically from the "dev" file in
  /sys/block/$bla.  

svn path=/nixos/trunk/; revision=7473
2006-12-23 01:16:39 +00:00
Eelco Dolstra 6afa8d776d * Create some SCSI devices. We should really just run udev in the
initrd...

svn path=/nixos/trunk/; revision=7472
2006-12-23 01:02:45 +00:00
Eelco Dolstra af49eda93f * Doh.
svn path=/nixos/trunk/; revision=7470
2006-12-23 00:27:39 +00:00
Eelco Dolstra f25ce41c18 * Option boot.doHardwareScan to disable the hardware scan. Also, if
the flag "safemode" is specified on the kernel command line, also
  disable the hardware scan.
* Option boot.kernelModules to specify a set of modules to be loaded
  in stage 2 (in addition to the initrd modules in
  boot.initrd.kernelModules).

svn path=/nixos/trunk/; revision=7466
2006-12-22 23:34:42 +00:00
Eelco Dolstra f9d67afce0 * Options for overriding the set of kernel modules in the initrd.
svn path=/nixos/trunk/; revision=7432
2006-12-19 22:12:44 +00:00
Eelco Dolstra 3e7f4280df * activate-configuration.sh: make sure that we're running on a NixOS
installation to prevent horrible accidents.
* Add the kernel parameters to isolinux.cfg.
* Use useradd/groupadd to create users/groups; use Glibc's getent to
  check for existence.
* Create the root account properly.

svn path=/nixos/trunk/; revision=7357
2006-12-16 21:48:12 +00:00
Eelco Dolstra 07627d8cdd * Move starting of udevd (and udevtrigger/settle) into an Upstart
job.

svn path=/nixos/trunk/; revision=7330
2006-12-13 12:17:38 +00:00
Eelco Dolstra 482a6625a9 * Use the configuration in /etc/nixos/configuration.nix by default.
svn path=/nixos/trunk/; revision=7319
2006-12-12 00:08:26 +00:00
Eelco Dolstra 74783a4510 * More refactoring; move some of the boot time options into the
options framework.

svn path=/nixos/trunk/; revision=7317
2006-12-11 16:10:23 +00:00
Eelco Dolstra efa9b1ba88 * Grmbl.
svn path=/nixos/trunk/; revision=7309
2006-12-11 03:03:42 +00:00
Eelco Dolstra 578b56d3c6 * Make halt/reboot work again (umount and reboot were no longer in
$PATH).

* Use the login from pam_login instead of shadowutils.

svn path=/nixos/trunk/; revision=7302
2006-12-11 00:52:36 +00:00
Eelco Dolstra acf656125c * Lots of refactoring.
* Clear the PATH in most scripts.  This helps to ensure purity.

svn path=/nixos/trunk/; revision=7299
2006-12-10 22:29:44 +00:00
Eelco Dolstra 9986bda673 * Move the stuff in boot-stage-2-init.sh that doesn't have to happen
at boot time into a separate script.  This will allow us to change
  the configuration without rebooting (provided that the configuration
  doesn't have a different kernel, init, etc.).

svn path=/nixos/trunk/; revision=7294
2006-12-09 19:25:23 +00:00
Eelco Dolstra af8dc724d1 * Remove symlinks in /etc that are not in the current configuration.
svn path=/nixos/trunk/; revision=7293
2006-12-09 18:18:27 +00:00
Eelco Dolstra 2fe4badb9a * Start the Nix daemon to enable multi-user package management in
NixOS.

svn path=/nixos/trunk/; revision=7291
2006-12-09 03:11:14 +00:00
Eelco Dolstra f049c35a86 * More semi-purification of /etc.
svn path=/nixos/trunk/; revision=7290
2006-12-09 02:51:42 +00:00
Eelco Dolstra f20d572814 * Multi-user Nix setup has changed.
svn path=/nixos/trunk/; revision=7285
2006-12-09 00:06:18 +00:00
Eelco Dolstra bc3f4f8352 * Set up Nix so that builds are never performed as root, but rather
under nix-build-N.

svn path=/nixos/trunk/; revision=7172
2006-11-29 23:41:21 +00:00
Eelco Dolstra 39ac293b58 * Create setuid wrappers for a few programs (su and passwd). This is
still a bit ad hoc, but it works.

svn path=/nixos/trunk/; revision=7163
2006-11-28 17:34:27 +00:00
Eelco Dolstra 4b3525fa80 * Handle the case where nix-env is a symlink.
svn path=/nixos/trunk/; revision=7162
2006-11-28 16:59:47 +00:00
Eelco Dolstra 362f0f752b * Don't put every package in the boot environment in $PATH but rather
create a symlink tree and put that in $PATH.

svn path=/nixos/trunk/; revision=7161
2006-11-28 16:47:14 +00:00
Eelco Dolstra cb6c02f092 * Set NIX_CONF_DIR.
svn path=/nixos/trunk/; revision=7158
2006-11-28 15:06:08 +00:00
Eelco Dolstra 5c89e891df * Refactoring.
svn path=/nixos/trunk/; revision=7156
2006-11-28 10:45:21 +00:00
Eelco Dolstra 0817c307dc * Moving stuff around.
svn path=/nixos/trunk/; revision=7155
2006-11-27 19:49:05 +00:00
Armijn Hemel 33940db2dc re-enable the default debugging login shell
svn path=/nixu/trunk/; revision=6048
2006-08-04 23:39:59 +00:00
Armijn Hemel d8550e9d10 remove all reference to the "hotplug" package, since it is obsolete.
TODO: update udev

svn path=/nixu/trunk/; revision=5222
2006-04-25 23:52:31 +00:00
Armijn Hemel 89df039e35 * store the value of hotplug in /etc/sysconfig/hotplug and cat this value
to /proc/sys/kernel/hotplug during boot. (FIXME, install hotplug during
install of NixOS)
* /dev/input is created by udev

svn path=/nixu/trunk/; revision=4660
2006-02-01 13:31:52 +00:00
Armijn Hemel 78767321ce add something so we modprobe some stuff for at least one family of USB
controllers (uhci-hcd). This is of course not very elegant: even if a
machine does not have USB, or another USB controller this module will loaded.
A better way would be to let some hardware probing program run first, but
that is "future work"

svn path=/nixu/trunk/; revision=4631
2006-01-31 11:01:28 +00:00
Armijn Hemel 6bad2b0809 do stuff with utmp and wtmp, so tools like "w" work
svn path=/nixu/trunk/; revision=4581
2006-01-20 13:47:01 +00:00
Armijn Hemel bb22789021 change the hostname from "uml" to "nixos" to keep eelco happy ;)
svn path=/nixu/trunk/; revision=4540
2006-01-12 13:51:43 +00:00
Armijn Hemel 77b661cfab e2fsprogs dynamically loads some library, even if it's statically linked.
svn path=/nixu/trunk/; revision=4505
2006-01-07 15:42:59 +00:00
Armijn Hemel dfa61299fe add module_init_tools/bin to the initial path on tty1
svn path=/nixu/trunk/; revision=4488
2006-01-04 18:19:23 +00:00
Armijn Hemel fe355bba78 replace a lot of tools we initially use with statically linked versions.
This reduces the ramdisk installer size with a few megabytes when gzipped,
but with about 40 MB when unpacked in memory.

There are a few improvements possible:

- strip the binaries. This saves another few MBs.
- only copy the binaries we really need to /bin or /sbin. This could reduce
the size of the installer a lot, especially with util-linux, of which we
don't use that many tools at all.
- try to move some packages we link with glibc right now (like util-linux) to
dietlibc. This will not work for bash, already tried that.
- try to use busybox as a replacement for everything.

svn path=/nixu/trunk/; revision=4428
2005-12-24 11:50:42 +00:00
Armijn Hemel de289092b2 - various cleanups
- have mingetty listen on tty2 (but this still fails because of missing /dev/log
- get rid of /init on the targetdrive, solely use /sbin/init (and even that has to go one day)
- use dietlibc statically linked e2fsprogs for the installer. More to come :)

svn path=/nixu/trunk/; revision=3734
2005-08-28 00:51:34 +00:00
Armijn Hemel fff45e114e - register all valid paths inside the Nix database. The .drv files are not included, this is a purely binary deployment.
- add grub to the initial environment

svn path=/nixu/trunk/; revision=3717
2005-08-27 00:36:07 +00:00
Armijn Hemel d707a61ac2 add nano
svn path=/nixu/trunk/; revision=3670
2005-08-23 15:56:17 +00:00
Armijn Hemel fe90fce5d1 mount /dev/pts, zo we've got PTYs (for screen)
svn path=/nixu/trunk/; revision=3661
2005-08-22 14:23:01 +00:00
Armijn Hemel b1b5fdd7cd change root homedir to /root instead of /home/root
svn path=/nixu/trunk/; revision=3659
2005-08-21 23:15:24 +00:00
Armijn Hemel fb451cc09f use the dhcp wrapper, add a directory needed for DHCP
svn path=/nixu/trunk/; revision=3656
2005-08-21 19:56:30 +00:00
Armijn Hemel 4c6230b0a6 add dhcp package. This doesn't work quite nicely though, needs some resolving...
svn path=/nixu/trunk/; revision=3653
2005-08-21 17:39:47 +00:00
Armijn Hemel 6e7614fdb0 use module-init-tools instead of modutils. Now we can insert modules :)
svn path=/nixu/trunk/; revision=3650
2005-08-20 21:49:53 +00:00
Armijn Hemel 30196b9243 incorporate udev in the boot scripts. Now we have loads of devices :)
svn path=/nixu/trunk/; revision=3638
2005-08-19 16:09:31 +00:00
Armijn Hemel b39fca2ade - add udev (not yet in use)
- clean up 100 MB of unused stuff on the CD

svn path=/nixu/trunk/; revision=3637
2005-08-19 15:26:01 +00:00
Armijn Hemel 9a29f70977 mount sysfs at boottime
svn path=/nixu/trunk/; revision=3635
2005-08-18 22:55:27 +00:00
Armijn Hemel 0b4feb3a6c add hotplug here, temporarily disable e2fsck, so at least everything is mounted rw
svn path=/nixu/trunk/; revision=3630
2005-08-17 19:19:54 +00:00
Armijn Hemel c7bd0ec473 get grub right, also copy all the packages needed for a nice booting system
svn path=/nixu/trunk/; revision=3575
2005-08-14 01:40:36 +00:00
Armijn Hemel 592b736d33 add modutils, start with code that will find the right CD player our install CD is in.
svn path=/nixu/trunk/; revision=3540
2005-08-09 16:51:26 +00:00
Armijn Hemel b9617c9541 we need parted in the installer and on the target disk for sure...
svn path=/nixu/trunk/; revision=3487
2005-07-31 20:40:57 +00:00
Armijn Hemel 8122aebd19 add grub
svn path=/nixu/trunk/; revision=3353
2005-07-18 09:47:42 +00:00
Armijn Hemel 1e607c9221 rewrite nixu scripts to use nix-push. Install the whole NixU environment in
two main steps:

1 - first build everything (nix-push)
2 - install everything on a seperate disk/machine (nix-pull)

svn path=/nixu/trunk/; revision=3291
2005-07-05 13:52:49 +00:00
Armijn Hemel c29ea5dd01 add gcc to the default PATH in nixu
svn path=/nixu/trunk/; revision=1840
2004-12-07 17:38:55 +00:00
Armijn Hemel 511b3fd83f add more packages that are necessary for a complete build
svn path=/nixu/trunk/; revision=1246
2004-08-06 17:22:24 +00:00
Armijn Hemel 85bbb5e447 add a whole bunch of packages to make NixU a bit more useful:
- ssh
- shadowutils
- ping
- vim
- less
- strace
- ...

svn path=/nixu/trunk/; revision=1243
2004-08-06 13:52:39 +00:00
Eelco Dolstra 656ea85e60 * Ignore failure to set up networking.
* Unmount, don't remount / on halt.

svn path=/nixu/trunk/; revision=1169
2004-07-16 15:41:47 +00:00
Eelco Dolstra 91a5fe9eb0 * Networking now works in the UML machine. Masquerading for the tun
device should be enabled on the host in order for the UML machine to
  be able to talk to the Internet.

svn path=/nixu/trunk/; revision=806
2004-02-19 12:49:00 +00:00
Eelco Dolstra 3514c5658b * Proper sysvinit boot/halt. At runlevel 2, creates login shells at
virtual consoles 0 and 1.  To shutdown, do `init 0' (`halt' and
  `shutdown' don't work because they call /sbin/init).

svn path=/nixu/trunk/; revision=803
2004-02-18 14:56:32 +00:00
Eelco Dolstra 008ef42267 * init -> boot, to prevent confusion.
svn path=/nixu/trunk/; revision=802
2004-02-18 14:12:49 +00:00