mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:52:45 +00:00 
			
		
		
		
	Meta: make CLion/run.sh use run.sh
				
					
				
			We don't need to copy `run.sh` and modify it: we can just set environment variables. Now, we don't have to modify two files everytime we make a change to the run.sh script. Also make SERENITY_BUILD overridable with environment variables,why not?
This commit is contained in:
		
							parent
							
								
									f7f1c3d748
								
							
						
					
					
						commit
						8233ab197f
					
				
					 1 changed files with 10 additions and 106 deletions
				
			
		|  | @ -1,22 +1,21 @@ | |||
| #!/bin/sh | ||||
| # shellcheck disable=SC2086 # FIXME: fix these globing warnings | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| #SERENITY_PACKET_LOGGING_ARG="-object filter-dump,id=hue,netdev=breh,file=e1000.pcap" | ||||
| : "${SERENITY_RAM_SIZE:='256M'}" | ||||
| export SERENITY_RAM_SIZE | ||||
| 
 | ||||
| [ -e /dev/kvm ] && [ -r /dev/kvm ] && [ -w /dev/kvm ] && SERENITY_KVM_ARG="-enable-kvm" | ||||
| # set this to the Build directory in serenity | ||||
| : "${SERENITY_BUILD:='/mnt/c/Users/Ragnarok/serenity-project/serenity/Build'}" | ||||
| 
 | ||||
| [ -z "$SERENITY_BOCHS_BIN" ] && SERENITY_BOCHS_BIN="bochs" | ||||
| cd -P -- "$SERENITY_BUILD" || exit | ||||
| make install | ||||
| make image | ||||
| 
 | ||||
| # set this to point to qemu installation on windows | ||||
| [ -z "$SERENITY_QEMU_BIN" ] && SERENITY_QEMU_BIN="/mnt/c/Program Files/qemu/qemu-system-i386.exe" | ||||
| export SERENITY_QEMU_BIN='/mnt/c/Program Files/qemu/qemu-system-i386.exe' | ||||
| 
 | ||||
| [ -z "$SERENITY_KERNEL_CMDLINE" ] && SERENITY_KERNEL_CMDLINE="hello" | ||||
| 
 | ||||
| [ -z "$SERENITY_RAM_SIZE" ] && SERENITY_RAM_SIZE=256M | ||||
| 
 | ||||
| [ -z "$SERENITY_COMMON_QEMU_ARGS" ] && SERENITY_COMMON_QEMU_ARGS=" | ||||
| export SERENITY_COMMON_QEMU_ARGS=" | ||||
| $SERENITY_EXTRA_QEMU_ARGS | ||||
| -s -m $SERENITY_RAM_SIZE | ||||
| -cpu max | ||||
|  | @ -30,99 +29,4 @@ $SERENITY_EXTRA_QEMU_ARGS | |||
| -soundhw sb16 | ||||
| " | ||||
| 
 | ||||
| [ -z "$SERENITY_COMMON_QEMU_Q35_ARGS" ] && SERENITY_COMMON_QEMU_Q35_ARGS=" | ||||
| $SERENITY_EXTRA_QEMU_ARGS | ||||
| -s -m $SERENITY_RAM_SIZE | ||||
| -cpu max | ||||
| -machine q35 | ||||
| -d cpu_reset,guest_errors | ||||
| -smp 2 | ||||
| -device VGA,vgamem_mb=64 | ||||
| -device piix3-ide | ||||
| -drive file=_disk_image,id=disk,if=none | ||||
| -device ide-hd,bus=ide.6,drive=disk,unit=0 | ||||
| -debugcon stdio | ||||
| -soundhw pcspk | ||||
| -soundhw sb16 | ||||
| " | ||||
| 
 | ||||
| # set this to the Build directory in serenity | ||||
| SERENITY_BUILD="/mnt/c/Users/Ragnarok/serenity-project/serenity/Build" | ||||
| 
 | ||||
| cd  "$SERENITY_BUILD" || exit | ||||
| make install | ||||
| make image | ||||
| 
 | ||||
| export SDL_VIDEO_X11_DGAMOUSE=0 | ||||
| 
 | ||||
| if [ "$1" = "b" ]; then | ||||
|     # ./run b: bochs | ||||
|     $SERENITY_BOCHS_BIN -q -f .bochsrc | ||||
| elif [ "$1" = "qn" ]; then | ||||
|     # ./run qn: qemu without network | ||||
|     "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_ARGS \ | ||||
|         -device e1000 \ | ||||
|         -kernel Kernel/Kernel \ | ||||
|         -append "${SERENITY_KERNEL_CMDLINE}" | ||||
| elif [ "$1" = "qtap" ]; then | ||||
|     # ./run qtap: qemu with tap | ||||
|     sudo "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_ARGS \ | ||||
|         $SERENITY_KVM_ARG \ | ||||
|         $SERENITY_PACKET_LOGGING_ARG \ | ||||
|         -netdev tap,ifname=tap0,id=br0 \ | ||||
|         -device e1000,netdev=br0 \ | ||||
|         -kernel Kernel/Kernel \ | ||||
|         -append "${SERENITY_KERNEL_CMDLINE}" | ||||
| elif [ "$1" = "qgrub" ]; then | ||||
|     # ./run qgrub: qemu with grub | ||||
|    "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_ARGS \ | ||||
|         $SERENITY_KVM_ARG \ | ||||
|         $SERENITY_PACKET_LOGGING_ARG \ | ||||
|         -netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23 \ | ||||
|         -device e1000,netdev=breh | ||||
| elif [ "$1" = "q35_cmd" ]; then | ||||
|     SERENITY_KERNEL_CMDLINE="" | ||||
|     # FIXME: Someone who knows sh syntax better, please help: | ||||
|     for _ in $(seq 2 $#); do | ||||
|         shift | ||||
|         SERENITY_KERNEL_CMDLINE="$SERENITY_KERNEL_CMDLINE $1" | ||||
|     done | ||||
|     echo "Starting SerenityOS, Commandline: ${SERENITY_KERNEL_CMDLINE}" | ||||
|     # ./run: qemu with SerenityOS with custom commandline | ||||
|    "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_Q35_ARGS \ | ||||
|         $SERENITY_KVM_ARG \ | ||||
|         -netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23 \ | ||||
|         -device e1000,netdev=breh \ | ||||
|         -kernel Kernel/Kernel \ | ||||
|         -append "${SERENITY_KERNEL_CMDLINE}" | ||||
| elif [ "$1" = "qcmd" ]; then | ||||
|     SERENITY_KERNEL_CMDLINE="" | ||||
|     # FIXME: Someone who knows sh syntax better, please help: | ||||
|     for _ in $(seq 2 $#); do | ||||
|         shift | ||||
|         SERENITY_KERNEL_CMDLINE="$SERENITY_KERNEL_CMDLINE $1" | ||||
|     done | ||||
|     echo "Starting SerenityOS, Commandline: ${SERENITY_KERNEL_CMDLINE}" | ||||
|     # ./run: qemu with SerenityOS with custom commandline | ||||
|     "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_ARGS \ | ||||
|         $SERENITY_KVM_ARG \ | ||||
|         -netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23 \ | ||||
|         -device e1000,netdev=breh \ | ||||
|         -kernel Kernel/Kernel \ | ||||
|         -append "${SERENITY_KERNEL_CMDLINE}" | ||||
| else | ||||
|     # ./run: qemu with user networking | ||||
|     "$SERENITY_QEMU_BIN" \ | ||||
|         $SERENITY_COMMON_QEMU_ARGS \ | ||||
|         $SERENITY_KVM_ARG \ | ||||
|         $SERENITY_PACKET_LOGGING_ARG \ | ||||
|         -netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23,hostfwd=tcp:127.0.0.1:8000-10.0.2.15:8000,hostfwd=tcp:127.0.0.1:2222-10.0.2.15:22 \ | ||||
|         -device e1000,netdev=breh \ | ||||
|         -kernel Kernel/Kernel \ | ||||
|         -append "${SERENITY_KERNEL_CMDLINE}" | ||||
| fi | ||||
| "$SERENITY_ROOT/Meta/run.sh" "$@" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Emanuele Torre
						Emanuele Torre