133 |
sub nfsroot { |
sub nfsroot { |
134 |
my $ip = shift || die "no ip?"; |
my $ip = shift || die "no ip?"; |
135 |
|
|
136 |
|
my $dist = 'lenny'; |
137 |
|
$dist = 'squeeze'; |
138 |
|
|
139 |
my $nfsroot = "$server::base_dir/tftp/nfsroot"; |
my $nfsroot = "$server::base_dir/tftp/nfsroot"; |
140 |
my $debian_mirror = server::conf_default( 'debian_mirror', 'http://ftp.debian.org/debian' ); |
my $debian_mirror = server::conf_default( 'debian_mirror', 'http://ftp.debian.org/debian' ); |
141 |
|
|
148 |
|
|
149 |
if ( ! -e $debootstrap ) { |
if ( ! -e $debootstrap ) { |
150 |
|
|
151 |
system "sudo debootstrap --arch i386 lenny $debootstrap $debian_mirror"; |
system "sudo debootstrap --arch i386 $dist $debootstrap $debian_mirror"; |
152 |
|
|
153 |
file::append "$debootstrap/etc/apt/sources.list.d/non-free.list", "deb $debian_mirror lenny non-free\n"; |
file::append "$debootstrap/etc/apt/sources.list.d/non-free.list", "deb $debian_mirror $dist non-free\n"; |
154 |
in_chroot $debootstrap => 'apt-get update'; |
in_chroot $debootstrap => 'apt-get update'; |
155 |
|
|
156 |
file::append "$debootstrap/etc/kernel-img.conf", "do_initrd = Yes\n"; |
file::append "$debootstrap/etc/kernel-img.conf", "do_initrd = Yes\n"; |
157 |
in_chroot $debootstrap => 'apt-get install -y --force-yes atl2-modules-2.6-686 firmware-bnx2'; |
in_chroot $debootstrap => 'apt-get -f install -y --force-yes locales linux-image-2.6-686 firmware-bnx2'; |
|
in_chroot $debootstrap => 'apt-get -f install -y --force-yes locales'; # linux-image-2.6-686 |
|
158 |
|
|
159 |
|
# this can fails on some distros, so we run it alone |
160 |
|
in_chroot $debootstrap => 'apt-get install -y --force-yes atl2-modules-2.6-686'; |
161 |
file::append "$debootstrap/etc/initramfs-tools/modules", "atl2\n"; |
file::append "$debootstrap/etc/initramfs-tools/modules", "atl2\n"; |
162 |
file::change("$debootstrap/etc/initramfs-tools/initramfs.conf", 'BOOT=local' => 'BOOT=nfs' ) && |
|
163 |
|
file::change "$debootstrap/etc/initramfs-tools/initramfs.conf", 'BOOT=local' => 'BOOT=nfs'; |
164 |
in_chroot $debootstrap => 'update-initramfs -u'; |
in_chroot $debootstrap => 'update-initramfs -u'; |
165 |
|
|
166 |
} |
} |
209 |
|
|
210 |
default nfsroot |
default nfsroot |
211 |
label nfsroot |
label nfsroot |
212 |
kernel debootstrap/vmlinuz |
kernel $ip/vmlinuz |
213 |
append initrd=debootstrap/initrd.img root=/dev/nfs nfsroot=$server->{ip}:$export ro ip=dhcp |
append initrd=$ip/initrd.img root=/dev/nfs nfsroot=$server->{ip}:$export ro ip=dhcp |
214 |
|
|
215 |
|
label old |
216 |
|
kernel $ip/vmlinuz.old |
217 |
|
append initrd=$ip/initrd.img.old root=/dev/nfs nfsroot=$server->{ip}:$export ro ip=dhcp |
218 |
|
|
219 |
}); |
}); |
220 |
} |
} |