mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-30 05:49:05 +00:00 
			
		
		
		
	This commit adds the script qemu.sh that will be used in a docker container (created with Dockerfile). This script will crate qemu instance to lauch a Clear Container base OS with a kernel generated with moby. Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| function die {
 | |
| 	echo >&2 "$@"
 | |
| 	exit 1
 | |
| }
 | |
| 
 | |
| img=/usr/share/clear-containers/clear-containers.img
 | |
| img=$(readlink -f "$img")
 | |
| img_size=$(du -b "${img}" |  awk '{print $1}')
 | |
| 
 | |
| kernel="$(pwd)/clear-containers-vmlinux"
 | |
| kernel_cmdline_file="$(pwd)/clear-containers-cmdline"
 | |
| [ -f "${img}" ] || die "Image s required"
 | |
| [ -f "${kernel}" ] || die "Kernel is required"
 | |
| [ -f ${kernel_cmdline_file} ] || \
 | |
| 	die "Kernel cmdline file is required"
 | |
| 
 | |
| kernel_cmdline=$(cat "$kernel_cmdline_file")
 | |
| 
 | |
| cmd="/usr/bin/qemu-lite-system-x86_64"
 | |
| cmd="$cmd -machine pc-lite,accel=kvm,kernel_irqchip,nvdimm"
 | |
| cmd="$cmd -device nvdimm,memdev=mem0,id=nv0"
 | |
| #image
 | |
| cmd="$cmd -object memory-backend-file,id=mem0,mem-path=${img},size=${img_size}"
 | |
| #memory
 | |
| cmd="$cmd -m 2G,slots=2,maxmem=3G"
 | |
| #kernel
 | |
| cmd="$cmd -kernel ${kernel}"
 | |
| cmd="$cmd -append '${kernel_cmdline}'"
 | |
| #cpu
 | |
| cmd="$cmd -smp 2,sockets=1,cores=2,threads=1"
 | |
| cmd="$cmd -cpu host"
 | |
| #clock
 | |
| cmd="$cmd -rtc base=utc,driftfix=slew"
 | |
| cmd="$cmd -no-user-config"
 | |
| cmd="$cmd -nodefaults"
 | |
| cmd="$cmd -global"
 | |
| cmd="$cmd kvm-pit.lost_tick_policy=discard"
 | |
| #console
 | |
| cmd="$cmd -device virtio-serial-pci,id=virtio-serial0"
 | |
| cmd="$cmd -chardev stdio,id=charconsole0,signal=off"
 | |
| cmd="$cmd -device virtconsole,chardev=charconsole0,id=console0"
 | |
| cmd="$cmd -nographic"
 | |
| cmd="$cmd -vga none"
 | |
| 
 | |
| eval "$cmd"
 |