more ideas on how to install via cdist
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								80c1d7d0cc
							
						
					
				
			
			
				commit
				
					
						167098d731
					
				
			
		
					 1 changed files with 99 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -11,3 +11,102 @@ Requires:
 | 
			
		|||
      - Including ssh keys -> known!
 | 
			
		||||
      - startup sshd
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Setup for installation server:
 | 
			
		||||
 | 
			
		||||
   - have dhcpd available
 | 
			
		||||
   - install tftpd server
 | 
			
		||||
   - configure dhcp to tell clients to boot from tftp server
 | 
			
		||||
   - have a kernel
 | 
			
		||||
   
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Ideas on how to create "blob"
 | 
			
		||||
 | 
			
		||||
   - Use tools from system?
 | 
			
		||||
      -> requires same arch on destination!
 | 
			
		||||
   - Use debian|...| base?
 | 
			
		||||
      -> works with cuni!
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
tftp via cuni:
 | 
			
		||||
debian  pxelinux.0  pxelinux.cfg
 | 
			
		||||
 | 
			
		||||
[19:44] kr:tftp% ln -s /usr/lib/syslinux/
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
How to create the initrd?
 | 
			
		||||
   Base from ...
 | 
			
		||||
      arch?
 | 
			
		||||
      debian?
 | 
			
		||||
 | 
			
		||||
- needs many hardware support / in kernel?
 | 
			
		||||
   - fit to kernel?
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Based on Debian
 | 
			
		||||
[21:33] kr:tftp% sudo debootstrap --arch=i386 squeeze debian-squeeze 
 | 
			
		||||
 | 
			
		||||
sudo chroot debian-squeeze /bin/bash
 | 
			
		||||
 apt-get install openssh-server
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Based on Archlinux
 | 
			
		||||
 | 
			
		||||
Edit / create pacman.conf
 | 
			
		||||
Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686
 | 
			
		||||
 | 
			
		||||
[21:40] kr:~% grep -v ^# pacman.conf | grep -v '^$'
 | 
			
		||||
[options]
 | 
			
		||||
HoldPkg     = pacman glibc
 | 
			
		||||
SyncFirst   = pacman
 | 
			
		||||
Architecture = auto
 | 
			
		||||
[core]
 | 
			
		||||
Include = Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686
 | 
			
		||||
[extra]
 | 
			
		||||
Include = Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686
 | 
			
		||||
[community]
 | 
			
		||||
Include = Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686
 | 
			
		||||
[archlinuxfr] 
 | 
			
		||||
Server = http://repo.archlinux.fr/$arch
 | 
			
		||||
 | 
			
		||||
[21:40] kr:tftp% sudo mkarchroot -C ~/pacman.conf archlinuxroot
 | 
			
		||||
 | 
			
		||||
[21:42] kr:tftp% sudo mkarchroot -C ~/pacman.conf archlinuxroot base
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Initramfs general:
 | 
			
		||||
 | 
			
		||||
   - need /init
 | 
			
		||||
 | 
			
		||||
Test in Debian:
 | 
			
		||||
   root@kr:/# ln -s /sbin/init init
 | 
			
		||||
 | 
			
		||||
Create initramfs:
 | 
			
		||||
   [22:47] kr:debian-squeeze% sudo find . -print0 | sudo cpio --null -ov --format=newc | gzip -9  > ../pre-os/initrd.gz
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Gentoo: http://en.gentoo-wiki.com/wiki/Initramfs
 | 
			
		||||
 | 
			
		||||
It is possible to specify multiple initramfs to be extracted during boot. This can be useful if you want to create a generic initramfs (for example one that does mdadm) and then add modifications in separate files (for example a custom /etc/mdadm.conf for every machine). 
 | 
			
		||||
 | 
			
		||||
http://syslinux.zytor.com/wiki/index.php/SYSLINUX#INITRD_initrd_file
 | 
			
		||||
   It supports multiple filenames separated by commas. This is mostly useful for initramfs, which can be composed of multiple separate cpio or cpio.gz archives. Note: all files except the last one are zero-padded to a 4K page boundary. This should not affect initramfs.
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Multiple initrds, #1:
 | 
			
		||||
 | 
			
		||||
LABEL preos
 | 
			
		||||
   MENU LABEL Pre OS (Debian Squeeze)
 | 
			
		||||
   KERNEL debian-squeeze/boot/vmlinuz-2.6.32-5-686
 | 
			
		||||
   INITRD debian-squeeze/boot/initrd.img-2.6.32-5-686,pre-os/initrd.gz
 | 
			
		||||
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Debug in rootfs:
 | 
			
		||||
root@kr:/# passwd 
 | 
			
		||||
Enter new UNIX password: 
 | 
			
		||||
Retype new UNIX password: 
 | 
			
		||||
passwd: password updated successfully
 | 
			
		||||
test
 | 
			
		||||
--------------------------------------------------------------------------------
 | 
			
		||||
Multiple nics in Debian...
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue