forked from Bananymous/banan-os
				
			General: Write basic README
This commit is contained in:
		
							parent
							
								
									91c8f9a596
								
							
						
					
					
						commit
						31a1b23fb7
					
				
							
								
								
									
										45
									
								
								README.md
								
								
								
								
							
							
						
						
									
										45
									
								
								README.md
								
								
								
								
							| 
						 | 
					@ -1,2 +1,45 @@
 | 
				
			||||||
# banan-os
 | 
					# banan-os
 | 
				
			||||||
My hobby operating system. Currently runs on x86 32 and 64 bit cpus.
 | 
					This is my hobby operating system written in C++. Currently runs on x86 based architectures (32 and 64 bit). Currently this operating system supports ext2 filesystem, ata drives (pio mode), vesa/vbe graphics mode and multithreaded processing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Building
 | 
				
			||||||
 | 
					> **_NOTE:_** I will be using ninja in these build instructions but you may use any other buildsystem cmake supports. If you want to use ninja, you can either define a environment variable 'CMAKE_GENERATOR=Ninja' or pass '-G Ninja' to all commands invoking cmake.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Create the build directory and cofigure cmake
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					mkdir build
 | 
				
			||||||
 | 
					cd build
 | 
				
			||||||
 | 
					cmake ..
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> **_NOTE:_** The following step has to be done only once. This might take a long time since we are compiling binutils and gcc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To build the toolchain for this os. You can run the following command.
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ninja toolchain
 | 
				
			||||||
 | 
					cmake --fresh .. # We need to reconfigure cmake to use the new compiler
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To build the os itself you can run either of the following commands. You will need root access since we need to mount the disk image to install grub.
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ninja qemu
 | 
				
			||||||
 | 
					ninja bochs
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can also build the kernel or disk image without running it:
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ninja kernel
 | 
				
			||||||
 | 
					ninja image
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have corrupted your disk image or want to create new one, you can either manually delete _banan-os.img_ and cmake will automatically create you a new one or you can run the following command.
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					ninja image-full
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue