Add: userland hello world code
This commit is contained in:
		
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @@ -11,8 +11,8 @@ install: | ||||
|  | ||||
| bin: | ||||
| 	$(MAKE) -C $(LIB) | ||||
| 	gcc -c test.c -Ilibk -Llibk -lk -m32 | ||||
| 	ld -m elf_i386 -Ttext=0x6000000 --entry=main test.o -L./libk/ -lk | ||||
| 	gcc -c ./app/$(APP).c -Ilibk -Llibk -lk -m32 | ||||
| 	ld -m elf_i386 -Ttext=0x6000000 --entry=main ./$(APP).o -L./libk/ -lk | ||||
| 	objcopy --input binary --output elf32-i386 --binary-architecture i386 --rename-section .data=.rodata,CONTENTS,ALLOC,LOAD,READONLY,DATA a.out myfile.o | ||||
| 	cp myfile.o $(SOURCEDIR)/myfile.o | ||||
|  | ||||
|   | ||||
| @@ -5,3 +5,4 @@ GRUBDIR = iso | ||||
| SOURCEDIR = src | ||||
| TARGET = kernel | ||||
| LIB=libk | ||||
| APP=hello_world | ||||
|   | ||||
							
								
								
									
										10
									
								
								app/hello_world.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/hello_world.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #include <syscall.h> | ||||
|  | ||||
| static char s[] = "Hello from userland!\n"; | ||||
|  | ||||
| int main(void) | ||||
| { | ||||
|     write(1, s, 21); | ||||
|     while (1); | ||||
|     return 0; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user