forked from ungleich-public/cdist
		
	
		
			
	
	
		
			31 lines
		
	
	
	
		
			853 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
	
		
			853 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TARGET_DIR="$1"
							 | 
						||
| 
								 | 
							
								PXE_BOOT_DIR="$2"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								debootstrap --include=openssh-server --arch=amd64 stable $TARGET_DIR
							 | 
						||
| 
								 | 
							
								chroot $TARGET_DIR /usr/bin/apt-get update
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Configure the OS
							 | 
						||
| 
								 | 
							
								cdist config -i init --remote-exec remote-exec.sh --remote-copy remote-exec.sh $TARGET_DIR
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Cleanup chroot
							 | 
						||
| 
								 | 
							
								chroot $TARGET_DIR /usr/bin/apt-get autoclean
							 | 
						||
| 
								 | 
							
								chroot $TARGET_DIR /usr/bin/apt-get clean
							 | 
						||
| 
								 | 
							
								chroot $TARGET_DIR /usr/bin/apt-get autoremove
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Output pxe files
							 | 
						||
| 
								 | 
							
								cp $TARGET_DIR/boot/vmlinuz-* $PXE_BOOT_DIR/kernel
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd $TARGET_DIR
							 | 
						||
| 
								 | 
							
								find . -print0 | cpio --null -o --format=newc | gzip -9 > $PXE_BOOT_DIR/initramfs
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cat << EOF > $PXE_BOOT_DIR/pxelinux.cfg/default
							 | 
						||
| 
								 | 
							
								DEFAULT preos
							 | 
						||
| 
								 | 
							
								LABEL preos
							 | 
						||
| 
								 | 
							
								KERNEL kernel
							 | 
						||
| 
								 | 
							
								INITRD initramfs
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cp $TARGET_DIR/usr/lib/PXELINUX/pxelinux.0 $PXE_BOOT_DIR/pxelinux.0
							 | 
						||
| 
								 | 
							
								cp $TARGET_DIR/usr/lib/syslinux/modules/bios/ldlinux.c32 $PXE_BOOT_DIR/ldlinux.c32
							 |