]> Zhao Yanbai Git Server - kernel.git/commitdiff
fix compile
authoracevest <zhaoyanbai@126.com>
Tue, 26 Oct 2021 01:35:36 +0000 (09:35 +0800)
committeracevest <zhaoyanbai@126.com>
Tue, 26 Oct 2021 01:35:36 +0000 (09:35 +0800)
Makefile
bin/Makefile
fs/stat.c
kernel/sched.c
lib/stat.c
scripts/init.sh

index 39b76d612961b3f3dffcca6b4ce3ad41c061a43b..8814119bacfccea881f83aa4a46e7a5bf26be2f8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 CC                     = gcc
-CFLAGS         = -g -c -fno-builtin
+CFLAGS         = -g -c -fno-builtin -m32
 SYSTEMMAP      = System.map
 KERNELBIN      = KERNEL.BIN
 LINKSCRIPT     = scripts/link.ld
@@ -15,7 +15,7 @@ HEADER_FILES := $(foreach DIR, $(INC_DIRS), $(wildcard $(DIR)/*.h))
 OBJS := $(patsubst %,%.o,$(SOURCE_FILES))
 
 ${KERNELBIN}: ${OBJS}
-       ld -M -T$(LINKSCRIPT) $(OBJS) -o $@ > $(SYSTEMMAP)
+       ld -m elf_i386 -M -T$(LINKSCRIPT) $(OBJS) -o $@ > $(SYSTEMMAP)
        rm kernel/setup.c.o
 
 %.S.o: %.S ${HEADER_FILES}
index 848260c32ef7f30dfdc1cc89e410134fd493ed6a..b4304929e114455f5257ca3b9bea810a54cecc27 100644 (file)
@@ -1,6 +1,6 @@
 CC = gcc
 LDFLAG = -e _start
-CFLAGS = -c -I../include -fno-builtin
+CFLAGS = -m32 -c -I../include -fno-builtin
 LIBC_DIRS = ../lib
 LIBC_SRCS := $(foreach DIR, $(LIBC_DIRS), $(wildcard $(DIR)/*.[cS]))
 LIBC_OBJS := $(patsubst %,%.o,$(LIBC_SRCS))
index ce412d1320839c4b021986a12184eb3ce67c3f91..64ef9df2ca11d9654e691316b69bf37d90cb83d0 100644 (file)
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -14,7 +14,6 @@
 #include <errno.h>
 #include <fs.h>
 #include <sched.h>
-#include <memory.h>
 int sysc_stat(int fd, struct stat *stat)
 {
 #if 0
index fa337f185dd308e87805476009c918868597843a..64c7227ac25b5033d6b3ba922380dc0d1385a762 100644 (file)
@@ -30,7 +30,7 @@ pid_t get_next_pid()
     return pid;
 }
 
-inline void load_cr3(task_union *tsk)
+void load_cr3(task_union *tsk)
 {
     LOAD_CR3(tsk->cr3);
 }
@@ -87,18 +87,18 @@ inline task_union *get_next_tsk()
     return 0;
 }
 
-inline void set_esp0(task_union * tsk)
+void set_esp0(task_union * tsk)
 {
     tss.esp0 = tsk->esp0;
 }
 
-inline void switch_to()
+void switch_to()
 {
     LOAD_CR3(current->cr3);
     set_esp0(current);
 }
 
-inline void context_switch(task_union * prev, task_union * next)
+void context_switch(task_union * prev, task_union * next)
 {
     unsigned long eax, ebx, ecx, edx, esi, edi;
     asm volatile(
index 9ad26ecb1aa25d4fc49ccc31da5a7a0f71a27eef..bb9961080d64231d2c23b2273244bc0a33b25045 100644 (file)
@@ -13,7 +13,7 @@
 #include <syscall.h>
 #include <stat.h>
 
-inline int _stat(int fd, struct stat *stat)
+int _stat(int fd, struct stat *stat)
 {
     return syscall2(SYSC_STAT, fd, stat);
 }
index e21441378644fcbb6824283c16e31e17c86858f5..bb17b974ed80986eca6c640f0577e08051201031 100755 (executable)
@@ -23,9 +23,9 @@ parted ${lodev} set 1 boot on
 
 sleep 1
 
-partx -a ${lodev}
+#partx -a ${lodev}
 
-sleep 1
+#sleep 1
 
 ls -l ${lodev}*
 
@@ -45,6 +45,8 @@ sleep 1
 
 echo "(hd0) ${lodev}" > ${TMP}/device.map
 
+mkdir -p ${MNT}/boot/grub2/
+
 grub2-install --target=i386-pc              \
               --grub-mkdevicemap=${TMP}/device.map                                  \
               --modules="biosdisk part_msdos ext2 configfile normal multiboot"      \