mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:52:45 +00:00 
			
		
		
		
	 ee4d7c18c8
			
		
	
	
		ee4d7c18c8
		
	
	
	
	
		
			
			The old bootloader was hilariously complicated, requiring a floppy disk with the kernel on it, and a hard drive with the file system. This patch removes the floppy disk from the equation and replaces it with a multiboot header. This means the kernel can now be booted with qemu-system-i386 -kernel kernel
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			803 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			803 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| ram_size=128
 | |
| 
 | |
| if [ "$1" = "b" ]; then
 | |
|     # ./run b: bochs
 | |
|     bochs -q -f .bochsrc
 | |
| elif [ "$1" = "qn" ]; then
 | |
|     # ./run qn: qemu without network
 | |
|     qemu-system-i386 -s -m $ram_size -device e1000 -kernel kernel -hda _fs_contents
 | |
| elif [ "$1" = "qtap" ]; then
 | |
|     # ./run qtap: qemu with tap
 | |
|     sudo qemu-system-i386 -s -m $ram_size -object filter-dump,id=hue,netdev=br0,file=e1000.pcap -netdev tap,ifname=tap0,id=br0 -device e1000,netdev=br0 -kernel kernel -hda _fs_contents
 | |
| else
 | |
|     # ./run: qemu with user networking
 | |
|     qemu-system-i386 -s -m $ram_size \
 | |
|         -object filter-dump,id=hue,netdev=breh,file=e1000.pcap \
 | |
|         -netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-192.168.5.2:8888 \
 | |
|         -device e1000,netdev=breh \
 | |
|         -kernel kernel \
 | |
|         -hda _fs_contents
 | |
| fi
 | |
| 
 |