49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Formats a floppy to use Syslinux
 | |
| 
 | |
| dummy=""
 | |
| 
 | |
| 
 | |
| # need to have mtools installed
 | |
| if [ -z `which mformat` -o -z `which mcopy` ]; then
 | |
| 	echo "You must have the mtools package installed to run this script"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| 
 | |
| # need an arg for the location of the kernel
 | |
| if [ -z "$1" ]; then
 | |
| 	echo "usage: `basename $0` path/to/linux/kernel"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| 
 | |
| # need to have a root file system built
 | |
| if [ ! -f rootfs.gz ]; then
 | |
| 	echo "You need to have a rootfs built first."
 | |
| 	echo "Hit RETURN to make one now or Control-C to quit."
 | |
| 	read dummy
 | |
| 	./mkrootfs.sh
 | |
| fi
 | |
| 
 | |
| 
 | |
| # prepare the floppy
 | |
| echo "Please insert a blank floppy in the drive and press RETURN to format"
 | |
| echo "(WARNING: All data will be erased! Hit Control-C to abort)"
 | |
| read dummy
 | |
| 
 | |
| echo "Formatting the floppy..."
 | |
| mformat a:
 | |
| echo "Making it bootable with Syslinux..."
 | |
| syslinux -s /dev/fd0
 | |
| echo "Copying Syslinux configuration files..."
 | |
| mcopy syslinux.cfg display.txt a:
 | |
| echo "Copying root filesystem file..."
 | |
| mcopy rootfs.gz a:
 | |
| # XXX: maybe check for "no space on device" errors here
 | |
| echo "Copying linux kernel..."
 | |
| mcopy $1 a:linux
 | |
| # XXX: maybe check for "no space on device" errors here too
 | |
| echo "Finished: boot floppy created"
 |