Merge into main the new state of the operating system/kernel #1
@ -1,4 +1,3 @@
 | 
			
		||||
EMULATOR = qemu-system-i386
 | 
			
		||||
AS = ${HOME}/opt/cross/bin/i686-elf-as
 | 
			
		||||
CC = ${HOME}/opt/cross/bin/i686-elf-gcc
 | 
			
		||||
CPP = ${HOME}/opt/cross/bin/i686-elf-g++ 
 | 
			
		||||
 | 
			
		||||
@ -2,24 +2,23 @@
 | 
			
		||||
import os
 | 
			
		||||
import subprocess
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
print("Building BarinkOS")
 | 
			
		||||
 | 
			
		||||
print("Give BarinkOS A Test Run")
 | 
			
		||||
 | 
			
		||||
# list and run build scripts
 | 
			
		||||
print("Running build-scripts")
 | 
			
		||||
os.chdir("scripts")
 | 
			
		||||
 | 
			
		||||
scripts=os.listdir()
 | 
			
		||||
currentScript=os.path.basename(__file__)
 | 
			
		||||
 | 
			
		||||
if currentScript in scripts:
 | 
			
		||||
    scripts.remove(currentScript)
 | 
			
		||||
os.chdir("../CoreLib")
 | 
			
		||||
print("Building CoreLib")
 | 
			
		||||
subprocess.call("make")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
for script in scripts:
 | 
			
		||||
    print(os.getcwd())
 | 
			
		||||
    print("Running:" + script)
 | 
			
		||||
    subprocess.call(script, cwd=os.getcwd())
 | 
			
		||||
os.chdir("../kernel")
 | 
			
		||||
print("Building kernel")
 | 
			
		||||
subprocess.call("make")
 | 
			
		||||
 | 
			
		||||
os.chdir("..")
 | 
			
		||||
subprocess.call("scripts/update_harddrive.sh", cwd=os.getcwd())
 | 
			
		||||
subprocess.call("scripts/create_symbol_lookup.sh", cwd=os.getcwd())
 | 
			
		||||
subprocess.call("scripts/run_qemu.sh", cwd=os.getcwd())
 | 
			
		||||
							
								
								
									
										5
									
								
								scripts/create_iso.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								scripts/create_iso.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
mkdir -p root/boot/grub
 | 
			
		||||
cp build/kernel/myos.bin root/boot/myos.bin
 | 
			
		||||
cp kernel/grub.cfg root/boot/grub/grub.cfg
 | 
			
		||||
grub-mkrescue -o barinkOS.iso root
 | 
			
		||||
							
								
								
									
										3
									
								
								scripts/create_symbol_lookup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								scripts/create_symbol_lookup.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
objcopy --only-keep-debug build/kernel/myos.bin kernel.sym
 | 
			
		||||
@ -1,5 +1,2 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Run clang-tidy 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								scripts/run_qemu.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								scripts/run_qemu.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Run from harddisk
 | 
			
		||||
qemu-system-i386 -boot d -drive format=raw,file=disk.img -serial stdio -vga std -display gtk -m 2G -cpu core2duo
 | 
			
		||||
 | 
			
		||||
# Run disk version
 | 
			
		||||
# qemu-system-i386 -cdrom barinkOS.iso -serial stdio -vga std -display gtk -m 2G -cpu core2duo -s -d int -no-shutdown -no-reboot
 | 
			
		||||
 | 
			
		||||
# Run the raw kernel image
 | 
			
		||||
# qemu-system-i386  -kernel build/kernel/myos.bin -serial stdio -vga std -display gtk -m 2G -cpu core2duo -d int -no-shutdown -no-reboot
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								scripts/run_virtualbox.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								scripts/run_virtualbox.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
virtualboxvm --startvm "BarinkOS_test"
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
start=`date +%s`
 | 
			
		||||
end=`date +%s`
 | 
			
		||||
echo That took $((end-start)) seconds
 | 
			
		||||
date +"%c" -d195440409
 | 
			
		||||
							
								
								
									
										11
									
								
								scripts/update_harddrive.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								scripts/update_harddrive.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
echo "Mount harddrive image as block device"
 | 
			
		||||
sudo losetup /dev/loop9 disk.img
 | 
			
		||||
sudo mount /dev/loop9 /mnt
 | 
			
		||||
 | 
			
		||||
echo "Copy over kernel binary"
 | 
			
		||||
sudo cp build/kernel/myos.bin /mnt/boot/myos.bin
 | 
			
		||||
 | 
			
		||||
echo "unmount image"
 | 
			
		||||
sudo umount /mnt
 | 
			
		||||
sudo losetup -d /dev/loop9
 | 
			
		||||
		Reference in New Issue
	
	Block a user