Commit graph

2744 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
c785eeaaec add stubs for creation of the installer via Nix expressions, similar to the
bootscripts and initscripts. This will mean lots of cruft from the current
fill-disk.sh can be removed.

svn path=/nixu/trunk/; revision=3526
2005-08-04 22:57:13 +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
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
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
d623c357b5 bit more doc (to make braaaaaain failure recovery easier)
svn path=/nixu/trunk/; revision=3468
2005-07-29 14:52:54 +00:00
Armijn Hemel
7bbee5b669 some docs
svn path=/nixu/trunk/; revision=3467
2005-07-29 14:47:24 +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
62882b6d0a use right path
svn path=/nixu/trunk/; revision=3368
2005-07-19 16:02:17 +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
c05605e316 disable NIX_ROOT, use things like NIX_STATE_DIR instead
svn path=/nixu/trunk/; revision=3338
2005-07-14 16:57:39 +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
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
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
d40375a0bf fix typo
svn path=/nixu/trunk/; revision=1245
2004-08-06 16:38:43 +00:00
Armijn Hemel
9a9cc06744 workaround for nix-pull
svn path=/nixu/trunk/; revision=1244
2004-08-06 14:07:57 +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
Armijn Hemel
8c3de58259 add a directory, touch a few files
svn path=/nixu/trunk/; revision=1242
2004-08-06 13:50:42 +00:00
Armijn Hemel
eb5fbd58d8 - add instructions to add users
- nix-pull does not work yet

svn path=/nixu/trunk/; revision=1241
2004-08-06 13:45:41 +00:00
Armijn Hemel
23f6a57f7a add an installation guide
svn path=/nixu/trunk/; revision=1240
2004-08-06 13:10:44 +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
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