From 9babae1704ee8a1ae75cd0060f5b0e7701667da4 Mon Sep 17 00:00:00 2001 From: Armijn Hemel Date: Fri, 5 Aug 2005 21:56:48 +0000 Subject: [PATCH] split fill-disk in two parts svn path=/nixu/trunk/; revision=3532 --- init/default.nix | 2 ++ init/fill-disk.sh | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/init/default.nix b/init/default.nix index b03437310c0..48c27469ee8 100644 --- a/init/default.nix +++ b/init/default.nix @@ -4,6 +4,8 @@ derivation { name = "init"; system = stdenv.system; builder = ./builder.sh; + stage1 = ./prepare-disk.sh; + stage2 = ./fill-disk.sh; inherit stdenv bash coreutils utillinux e2fsprogs nix shadowutils mingetty grub parted; } diff --git a/init/fill-disk.sh b/init/fill-disk.sh index f384d15d7ec..c6717945815 100755 --- a/init/fill-disk.sh +++ b/init/fill-disk.sh @@ -1,6 +1,6 @@ #! @bash@/bin/sh -e -export PATH=@bash@/bin:@coreutils@/bin:@findutils@/bin:@utillinux@/bin:@utillinux@/sbin +export PATH=@bash@/bin:@coreutils@/bin:@findutils@/bin:@utillinux@/bin:@utillinux@/sbin:@e2fsprogs@/sbin sysvinitPath=@sysvinitPath@ bootPath=@bootPath@ @@ -47,7 +47,22 @@ mknod -m 0666 /dev/ptmx c 5 2 mknod -m 0644 /dev/random c 1 8 mknod -m 0644 /dev/urandom c 1 9 -echo "blaat" +mknod -m 0660 /dev/hda b 3 0 +mknod -m 0660 /dev/hda1 b 3 1 +mknod -m 0660 /dev/hda2 b 3 2 +mknod -m 0660 /dev/hda3 b 3 3 + +#mknod -m 0660 /dev/sda b 8 0 +#mknod -m 0660 /dev/sda1 b 8 1 +#mknod -m 0660 /dev/sda2 b 8 2 +#mknod -m 0660 /dev/sda3 b 8 3 + +echo "dev" +cd /dev; echo * + +mkfs.ext2 /dev/hda1 +mkswap /dev/hda2 + #if ! test -n "$1" #then @@ -58,6 +73,8 @@ echo "blaat" #fi device=/dev/hda1 +#device=/dev/sda1 + make_dir() { mode=$1 @@ -88,6 +105,10 @@ cd /sys; echo * # mount --bind /mnt/cdrom1/nix /nix # mount --bind /mnt/cdrom1/pkgs /nixpkgs/trunk/pkgs +## +## Create a directory tree on the installation disk. +## + make_dir 00755 /bin make_dir 00755 /dev make_dir 00755 /proc @@ -110,6 +131,10 @@ make_dir 00755 /mnt/host make_dir 00755 /home make_dir 00755 /home/root +## +## Add a few devices to /dev on the install disk. This is by far complete. +## + mknod $root/dev/null c 1 3 touch_file /etc/passwd @@ -119,6 +144,12 @@ touch_file /etc/group rm -f $root/etc/mtab #ln -s /proc/mounts $root/etc/mtab +cat /proc/mounts + +## Probe for CD device which contains our CD here and mount /nix and +## /nixpkgs from it inside the ramdisk. Anaconda uses kudzu for this. +## Find out how Knoppix and SUSE do this... + export NIX_DATA_DIR=$root/nix/share export NIX_LOG_DIR=$root/nix/log/nix export NIX_STATE_DIR=$root/nix/var/nix @@ -201,3 +232,7 @@ cp /etc/resolv.conf $root/etc rm -f $root/etc/hosts echo "127.0.0.1 localhost" >> $root/etc/hosts echo "192.168.150.1 uml" >> $root/etc/hosts + +### +### Do funky stuff with grub here. +###