Commit graph

29 commits

Author SHA1 Message Date
Armijn Hemel bc3ffa3458 get NixOS more towards an installable state. Stuff now actually gets installed on the disk itself. Missing is functionality to detect the right drive with
the install CD in it.

svn path=/nixu/trunk/; revision=3531
2005-08-05 13:48:22 +00:00
Armijn Hemel 8151b78162 add necessary packages. Now it works and we have to decide:
- either add the device with mknod
- use hotplug to build all devices dynamically

svn path=/nixu/trunk/; revision=3525
2005-08-04 14:45:27 +00:00
Armijn Hemel 81bfae51f7 - set timeout for isolinux to 1 minute
- copy util-linux to ramdisk
  TODO:
   - do this with other tools as well in a bit more generic way

svn path=/nixu/trunk/; revision=3524
2005-08-03 18:14:47 +00:00
Armijn Hemel 93bcd71b15 This update fixes a few critical errors:
- cd to the right directory when making the initramfs image (stupid stupid stupid mistake, cost me a day of work!)
- make a bunch of devices inside the ramdisk
- copy the kernel and all modules to the CD image
- set the #! line in fill-disk to the right place (as in, append /bin/sh, another stupidity, which was luckily easily spot after fixing the first mistake, which was far more important)


svn path=/nixu/trunk/; revision=3523
2005-08-03 17:59:23 +00:00
Armijn Hemel 45492df16b reduce the size of the initrd a lot
svn path=/nixu/trunk/; revision=3514
2005-08-03 12:00:42 +00:00
Armijn Hemel e6b3f223f6 whoops, not just query for, but actually *build* syslinux :o
svn path=/nixu/trunk/; revision=3511
2005-08-02 12:29:23 +00:00
Armijn Hemel 9c56696e75 support for initrd. Right now the image is *WAY* too big, so it boots with
a kernel panic. initrd should be brought back to a few megabytes instead
so it can be safely unzipped in memory.

Ideas:
- klibc instead of glibc
- leave out a lot of packages in the initrd:
  - gcc
  - linux-headers
  - ...
- have a minimal "stage 1", which mounts the CD (figure out how) and
remounts part of the CD on /nix and /nixpkgs

svn path=/nixu/trunk/; revision=3502
2005-08-01 17:30:45 +00:00
Armijn Hemel 96776b9065 use "vmlinuz" instead of "linux", small cosmetic thing
svn path=/nixu/trunk/; revision=3483
2005-07-31 19:04:58 +00:00
Armijn Hemel 16de9c1c61 add configuration for isolinux
svn path=/nixu/trunk/; revision=3482
2005-07-31 19:01:59 +00:00
Armijn Hemel ec898a881e build kernel and copy it to the diskimage. Now all there is left is an
initial ramdisk.

svn path=/nixu/trunk/; revision=3481
2005-07-31 15:25:39 +00:00
Armijn Hemel cc0935ebe8 - added some more comments, generate ISO file
- added stubs for making a bootable CD with isolinux. Still missing are
kernel, boot configuration and more

svn path=/nixu/trunk/; revision=3480
2005-07-31 13:11:44 +00:00
Armijn Hemel 8f7215a779 various improvements + stubs for later work, definitely not production ready
svn path=/nixu/trunk/; revision=3473
2005-07-29 16:54:36 +00:00
Armijn Hemel 001302e0f8 touch something to keep chmod happy
svn path=/nixu/trunk/; revision=3370
2005-07-19 16:55:44 +00:00
Armijn Hemel 200251da1a fix tpyos
svn path=/nixu/trunk/; revision=3367
2005-07-19 16:00:34 +00:00
Armijn Hemel 5c6d52dbd8 - add more directories
- make /dev/null inside a chroot to install

svn path=/nixu/trunk/; revision=3366
2005-07-19 15:39:32 +00:00
Armijn Hemel 8122aebd19 add grub
svn path=/nixu/trunk/; revision=3353
2005-07-18 09:47:42 +00:00
Armijn Hemel 5432cd148b copy the right packages into the diskimage, copy nixpkgs
svn path=/nixu/trunk/; revision=3313
2005-07-11 17:59:19 +00:00
Armijn Hemel 59456f9366 run the Nix scripts for installing everything from the Nix built Nix.
svn path=/nixu/trunk/; revision=3303
2005-07-08 10:06:41 +00:00
Armijn Hemel 9380bf77d8 rewrite make-disk.sh and have it parameterize fill-disk.sh with the location
of sysvinit and the boot scripts that will be used.

svn path=/nixu/trunk/; revision=3299
2005-07-06 16:00:20 +00:00
Armijn Hemel 1054efb792 apart from nixpkgs also copy the NixU scripts
svn path=/nixu/trunk/; revision=3298
2005-07-06 14:42:41 +00:00
Armijn Hemel b31d4e8079 copy nixpkgs, so it reflects what was built. This code uses a simple "cp -a"
so there is a race condition (nixpkgs being altered after the build). However,
with a bit of care and "policy" this should work ;-)

Also push all packages we want to push at once.

svn path=/nixu/trunk/; revision=3292
2005-07-05 14:39:12 +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 f763a7c40a change to new packages, with new nix, new bash, new everything! It's shiny and new!
svn path=/nixu/trunk/; revision=1730
2004-11-09 10:28:21 +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 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 1e87e75d07 * Use sysvinit's init to start the system. This has the happy
side-effect of initialising the console properly (i.e., enabling
  Ctrl-[C, Z]).

svn path=/nixu/trunk/; revision=801
2004-02-18 10:56:07 +00:00
Eelco Dolstra 1f7a8c8ae9 * Started setting up a proper init environment.
svn path=/nixu/trunk/; revision=785
2004-02-16 09:41:00 +00:00
Eelco Dolstra e019265ec9 * Scripts to set up and run the absolute minimal pure Nix
environment; that is, an operating system environment in which there
  is (essentially) only a store.

  The script `make-disk.sh' creates an ext2 disk image, creates a Nix
  store in it, and copies the closure of the bash package (from
  nixpkgs) to it.  The script `run.sh' then starts bash in a UML
  virtual machine.

  The contents of the image after creation look like this:

  $ ls -l
  drwxr-xr-x    2 root     root         1024 2004-02-14 19:13 dev
  lrwxrwxrwx    1 root     root           61 2004-02-14 23:34 init -> /nix/store/e40873ece7a010752ad72b4262b23d28-bash-2.05b/bin/sh
  drwx------    2 root     root        12288 2004-02-14 19:13 lost+found
  drwxr-xr-x    4 root     root         1024 2004-02-14 19:13 nix
  drwxr-xr-x    2 root     root         1024 2004-02-14 19:13 proc
  drwxrwxrwt    2 root     root         1024 2004-02-14 19:13 tmp

  The next step is to add all the other stuff that goes into a working
  system (coreutils, etc.).  BTW, if you don't have `ls' you can still
  list directories by doing `echo *' :-)

  Nix itself should also be Nixified so that it can be put into the
  store.

svn path=/nixu/trunk/; revision=783
2004-02-14 22:56:51 +00:00