Skip to content
/ PLUM_OS Public

People Like U and Me can write OS. That's PLUM OS!

License

Notifications You must be signed in to change notification settings

sunzc/PLUM_OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Author: Zhichuang Sun
SBUID: 110345185
Date:   Dec 4, 2015
SBU OS Project: SBUNIX 
Description:
	I've a dream that one day I can build my OS totally from scratch. Today it come true!
	Thanks a lot for Prof. Ferdman and all other diligent guys with whom I discuss and learn on piazza!
	Enjoy it!

For test consideration:
	Besides the required app:
		ls, cat, sbush
	I add some other programs:
		hello, testfork, testread, test.sh
bin/
	hello		# it print 'Hello World!'
	testfork	# it fork a new process and do execve(bin/hello) in it and then exit.
	testread	# it keeps accepts input and repeat what it read from stdin.
	test.sh		# it contains a line of shell code, you can run it with `sbush test.sh`

The provided Makefile:
  1) builds a kernel
  2) copies it into rootfs/boot/kernel/kernel
  3) creates an ISO CD image with the rootfs/ contents

To boot the system in QEMU, run:
  qemu-system-x86_64 -curses -cdrom $USER.iso -drive id=disk,file=$USER.img,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0 -net nic -net user,hostfwd=tcp::10080-:80 -net user,hostfwd=tcp::10023-:23 --no-reboot -gdb tcp::9998

  Explanation of parameters:
  -curses         use a text console (omit this to use default SDL/VNC console)
  -cdrom x.iso    connect a CD-ROM and insert CD with x.iso disk
  --no-reboot     exit when guest reboots
  -gdb tcp::9998  listen for "remote" debugging connections on port 9998

  connect a hard drive with x.img disk:
  -drive id=disk,file=$USER.img,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0
  connect a NIC and forward local port 10080 into port 80 and local port 10023 to port 23
  -net nic -net user,hostfwd=tcp::10080-:80 -net user,hostfwd=tcp::10023-:23

When using the -curses mode, switch to the qemu> console with ESC-2.

To connect a remote debugger to the running qemu VM:
  gdb ./kernel
  target remote localhost:9998

About

People Like U and Me can write OS. That's PLUM OS!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published