Import backup from 2005-06-13
This commit is contained in:
parent
692cf2fc08
commit
4689c11cc8
58
Makefile
58
Makefile
@ -3,18 +3,20 @@
|
|||||||
# Created: 07/09/04
|
# Created: 07/09/04
|
||||||
|
|
||||||
FLOPPY=/dev/fd0
|
FLOPPY=/dev/fd0
|
||||||
FLOPPY_MOUNT=./mnt_flp
|
|
||||||
FLOPPY_IMAGE=hos.flp
|
FLOPPY_IMAGE=hos.flp
|
||||||
|
FLOPPY_MOUNT=./mnt_flp
|
||||||
GRUB_IMAGE=grub.flp
|
GRUB_IMAGE=grub.flp
|
||||||
INITRD=hos_initrd
|
INITRD=hos_initrd
|
||||||
INITRD_DIR=initrd
|
INITRD_DIR=initrd
|
||||||
INITRD_MOUNT=./mnt_initrd
|
INITRD_MOUNT=./mnt_initrd
|
||||||
INITRD_SIZE=100 #initrd size in kb
|
INITRD_SIZE=100 #initrd size in kb
|
||||||
|
MOUNT=sudo mount
|
||||||
|
UMOUNT=sudo umount
|
||||||
|
|
||||||
# Do not print "Entering directory ..."
|
# Do not print "Entering directory ..."
|
||||||
MAKEFLAGS += --no-print-directory
|
MAKEFLAGS += --no-print-directory
|
||||||
|
|
||||||
.PHONY: initrd
|
.PHONY: all clean initrd apps grub_image install install_img
|
||||||
|
|
||||||
all:
|
all:
|
||||||
make -C kernel
|
make -C kernel
|
||||||
@ -28,47 +30,53 @@ clean:
|
|||||||
apps:
|
apps:
|
||||||
make -C apps
|
make -C apps
|
||||||
|
|
||||||
grub:
|
|
||||||
-mkdir $(FLOPPY_MOUNT)
|
|
||||||
mke2fs $(FLOPPY)
|
|
||||||
mount -t ext2 $(FLOPPY) $(FLOPPY_MOUNT)
|
|
||||||
grub-install --root-directory=$(FLOPPY_MOUNT) fd0
|
|
||||||
umount $(FLOPPY_MOUNT)
|
|
||||||
-rmdir $(FLOPPY_MOUNT)
|
|
||||||
|
|
||||||
grub_image:
|
grub_image:
|
||||||
dd if=$(FLOPPY) of=$(GRUB_IMAGE)
|
dd if=/dev/zero of=$(GRUB_IMAGE) bs=1024 seek=1440 count=0
|
||||||
|
-mkdir $(FLOPPY_MOUNT)
|
||||||
|
mke2fs -F $(GRUB_IMAGE)
|
||||||
|
$(MOUNT) -t ext2 -o loop $(GRUB_IMAGE) $(FLOPPY_MOUNT)
|
||||||
|
-mkdir -p $(FLOPPY_MOUNT)/boot/grub
|
||||||
|
-cp /boot/grub/stage1 /boot/grub/stage2 /boot/grub/e2fs_stage1_5 $(FLOPPY_MOUNT)/boot/grub
|
||||||
|
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||||
|
-rmdir $(FLOPPY_MOUNT)
|
||||||
|
echo "(fd0) $(GRUB_IMAGE)" > grub_image_device.map.tmp
|
||||||
|
echo "root (fd0)" > grub_commands.tmp
|
||||||
|
echo "setup (fd0)" >> grub_commands.tmp
|
||||||
|
echo "quit" >> grub_commands.tmp
|
||||||
|
grub --device-map grub_image_device.map.tmp < grub_commands.tmp
|
||||||
|
rm grub_commands.tmp
|
||||||
|
rm grub_image_device.map.tmp
|
||||||
|
|
||||||
install:
|
install:
|
||||||
gzip -c $(INITRD) > $(INITRD).gz
|
gzip -c $(INITRD) > $(INITRD).gz
|
||||||
-mkdir $(FLOPPY_MOUNT)
|
-mkdir $(FLOPPY_MOUNT)
|
||||||
mount -t ext2 $(FLOPPY) $(FLOPPY_MOUNT)
|
$(MOUNT) -t ext2 $(DEVICE) $(FLOPPY_MOUNT)
|
||||||
cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
-cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||||
cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
-cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||||
cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
-cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||||
cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
-cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||||
umount $(FLOPPY_MOUNT)
|
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||||
-rmdir $(FLOPPY_MOUNT)
|
-rmdir $(FLOPPY_MOUNT)
|
||||||
|
|
||||||
install_img:
|
install_img:
|
||||||
gzip -c $(INITRD) > $(INITRD).gz
|
gzip -c $(INITRD) > $(INITRD).gz
|
||||||
-mkdir $(FLOPPY_MOUNT)
|
-mkdir $(FLOPPY_MOUNT)
|
||||||
cp $(GRUB_IMAGE) $(FLOPPY_IMAGE)
|
cp $(GRUB_IMAGE) $(FLOPPY_IMAGE)
|
||||||
mount -t ext2 -o loop $(FLOPPY_IMAGE) $(FLOPPY_MOUNT)
|
$(MOUNT) -t ext2 -o loop $(FLOPPY_IMAGE) $(FLOPPY_MOUNT)
|
||||||
cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
-cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||||
cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
-cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||||
cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
-cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||||
cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
-cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||||
umount $(FLOPPY_MOUNT)
|
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||||
-rmdir $(FLOPPY_MOUNT)
|
-rmdir $(FLOPPY_MOUNT)
|
||||||
|
|
||||||
initrd:
|
initrd:
|
||||||
dd if=/dev/zero of=$(INITRD) bs=1024 count=$(INITRD_SIZE)
|
dd if=/dev/zero of=$(INITRD) bs=1024 count=$(INITRD_SIZE)
|
||||||
mke2fs -Fv -m0 -r0 -i1024 $(INITRD)
|
mke2fs -Fv -m0 -r0 -i1024 $(INITRD)
|
||||||
-mkdir $(INITRD_MOUNT)
|
-mkdir $(INITRD_MOUNT)
|
||||||
mount -t ext2 -o loop $(INITRD) $(INITRD_MOUNT)
|
$(MOUNT) -t ext2 -o loop $(INITRD) $(INITRD_MOUNT)
|
||||||
cp -Pr $(INITRD_DIR)/* $(INITRD_MOUNT)
|
cp -Pr $(INITRD_DIR)/* $(INITRD_MOUNT)
|
||||||
umount $(INITRD_MOUNT)
|
$(UMOUNT) $(INITRD_MOUNT)
|
||||||
rm -rf $(INITRD_MOUNT)
|
rm -rf $(INITRD_MOUNT)
|
||||||
|
|
||||||
|
|
||||||
|
118
kernel/Makefile
118
kernel/Makefile
@ -1,78 +1,82 @@
|
|||||||
# Makefile for HOS
|
# Makefile for HOS
|
||||||
# Josh Holtrop
|
# Josh Holtrop
|
||||||
# Created: 07/08/04
|
# Created: 07/08/04
|
||||||
# Modified: 08/22/04
|
# Modified: 06/13/05
|
||||||
|
|
||||||
# Assembler Information:
|
# Assembler Information:
|
||||||
NASM=nasm
|
NASM=nasm
|
||||||
NASM_FLAGS=-f aout
|
NASM_FLAGS=-f aout
|
||||||
|
|
||||||
# C Information:
|
# C/C++ Information:
|
||||||
|
CPPFLAGS=-fleading-underscore -fno-builtin -nostdlib -nostartfiles -nodefaultlibs -I. -Wall
|
||||||
CC=gcc
|
CC=gcc
|
||||||
CPP=g++
|
CXX=g++
|
||||||
CC_FLAGS=-fleading-underscore -fno-builtin -nostdlib -nostartfiles -nodefaultlibs -I. -Wall
|
CXXFLAGS=-fno-rtti -fno-exceptions
|
||||||
CPP_FLAGS=$(CC_FLAGS) -fno-rtti -fno-exceptions
|
|
||||||
|
|
||||||
# Linker Information:
|
# Linker Information:
|
||||||
LD=ld
|
LD=ld
|
||||||
LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
|
LDFLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
|
||||||
|
|
||||||
all: Asm_Kernel C_Kernel
|
# Files
|
||||||
@echo ' LD kernel.bin'
|
OBJS=boot.o kernel.o lang/lang_a.o mm/mm.o mm/vmm.o lang/conv.o \
|
||||||
@$(LD) $(LD_FLAGS) -Map kernel.map \
|
display/kout.o char/vconsole.o display/display.o devices.o \
|
||||||
boot.o kernel.o lang_a.o mm.o vmm.o conv.o kout.o \
|
sys/pic.o char/keyboard.o block/ramdisk.o fs/vfs.o \
|
||||||
vconsole.o display.o devices.o pic.o keyboard.o \
|
lang/lang.o lang/string.o lang/new.o fs/ext2.o char/misc_char.o
|
||||||
ramdisk.o vfs.o lang_c.o \
|
CSRC=kernel.c mm/mm.c mm/vmm.c lang/conv.c display/kout.c display/display.c sys/pic.c char/keyboard.c lang/lang.c
|
||||||
string.o new.o ext2.o misc_char.o -o kernel.bin
|
CXXSRC=lang/string.cpp lang/new.cpp fs/vfs.cpp fs/ext2.cpp char/misc_char.cpp block/ramdisk.cpp char/vconsole.cpp devices.cpp
|
||||||
|
|
||||||
|
.PHONY: all depend clean html
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
$(LD) $(LDFLAGS) -Map kernel.map $(OBJS) -o kernel.bin
|
||||||
@echo ' Kernel built: ' `ls -sk kernel.bin | cut -d' ' -f1`kb
|
@echo ' Kernel built: ' `ls -sk kernel.bin | cut -d' ' -f1`kb
|
||||||
|
|
||||||
Asm_Kernel:
|
depend:
|
||||||
@echo ' NASM boot.o'
|
makedepend -- $(CPPFLAGS) -- $(CSRC) $(CXXSRC)
|
||||||
@$(NASM) $(NASM_FLAGS) -l boot.lst boot.asm -o boot.o
|
|
||||||
@echo ' NASM lang_a.o'
|
|
||||||
@$(NASM) $(NASM_FLAGS) -l lang.lst lang/lang.asm -o lang_a.o
|
|
||||||
|
|
||||||
C_Kernel:
|
boot.o: boot.asm
|
||||||
@echo ' CC kernel.o'
|
$(NASM) $(NASM_FLAGS) -l boot.lst boot.asm -o boot.o
|
||||||
@$(CC) $(CC_FLAGS) -c kernel.c -o kernel.o
|
|
||||||
@echo ' CC mm.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c mm/mm.c -o mm.o
|
|
||||||
@echo ' CC vmm.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c mm/vmm.c -o vmm.o
|
|
||||||
@echo ' CC conv.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c lang/conv.c -o conv.o
|
|
||||||
@echo ' CC kout.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c display/kout.c -o kout.o
|
|
||||||
@echo ' CC display.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c display/display.c -o display.o
|
|
||||||
@echo ' CC pic.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c sys/pic.c -o pic.o
|
|
||||||
@echo ' CC keyboard.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c char/keyboard.c -o keyboard.o
|
|
||||||
@echo ' CC lang_c.o'
|
|
||||||
@$(CC) $(CC_FLAGS) -c lang/lang.c -o lang_c.o
|
|
||||||
|
|
||||||
@echo ' CPP string.o'
|
lang/lang_a.o: lang/lang.asm
|
||||||
@$(CPP) $(CPP_FLAGS) -c lang/string.cpp -o string.o
|
$(NASM) $(NASM_FLAGS) -l lang.lst lang/lang.asm -o lang/lang_a.o
|
||||||
@echo ' CPP new.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c lang/new.cpp -o new.o
|
|
||||||
@echo ' CPP vfs.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c fs/vfs.cpp -o vfs.o
|
|
||||||
@echo ' CPP ext2.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c fs/ext2.cpp -o ext2.o
|
|
||||||
@echo ' CPP misc_char.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c char/misc_char.cpp -o misc_char.o
|
|
||||||
@echo ' CPP ramdisk.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c block/ramdisk.cpp -o ramdisk.o
|
|
||||||
@echo ' CPP vconsole.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c char/vconsole.cpp -o vconsole.o
|
|
||||||
@echo ' CPP devices.o'
|
|
||||||
@$(CPP) $(CPP_FLAGS) -c devices.cpp -o devices.o
|
|
||||||
|
|
||||||
#################################################
|
|
||||||
# Clean up the source directory of any binaries #
|
|
||||||
#################################################
|
|
||||||
clean:
|
clean:
|
||||||
-rm -f *.o *.bin *.map *.lst *.out *~ fs/*~ sys/*~ block/*~ char/*~ lang/*~ mm/*~ display/*~
|
-rm -f $(OBJS) *.bin *.map *.lst *.out *~ fs/*~ sys/*~ block/*~ char/*~ lang/*~ mm/*~ display/*~
|
||||||
|
|
||||||
|
html:
|
||||||
|
-rm -rf html
|
||||||
|
-mkdir html
|
||||||
|
source-highlight --output-dir=html -f xhtml -n $(CSRC) $(CXXSRC)
|
||||||
|
|
||||||
|
# The following is used by 'make' to automatically
|
||||||
|
# generate dependency information
|
||||||
|
# DO NOT DELETE
|
||||||
|
|
||||||
|
kernel.o: kernel.h hos_defines.h multiboot.h module.h lang/lang.h functions.h
|
||||||
|
kernel.o: sys/io.h mm/mm.h mm/vmm.h lang/conv.h devices.h display/display.h
|
||||||
|
kernel.o: display/kout.h sys/pic.h char/keyboard.h block/ramdisk.h fs/vfs.h
|
||||||
|
kernel.o: fs/ext2.h fs/vfs.h
|
||||||
|
mm/mm.o: kernel.h hos_defines.h multiboot.h mm/mm.h
|
||||||
|
mm/vmm.o: hos_defines.h kernel.h multiboot.h mm/vmm.h lang/lang.h mm/mm.h
|
||||||
|
lang/conv.o: lang/conv.h hos_defines.h
|
||||||
|
display/kout.o: hos_defines.h display/kout.h lang/conv.h devices.h
|
||||||
|
display/kout.o: char/misc_char.h char/misc_char.h
|
||||||
|
display/display.o: devices.h hos_defines.h char/vconsole.h display/display.h
|
||||||
|
display/display.o: lang/lang.h kernel.h multiboot.h display/vesafb.h
|
||||||
|
display/display.o: char/keyboard.h display/kout.h
|
||||||
|
sys/pic.o: hos_defines.h sys/pic.h sys/io.h
|
||||||
|
char/keyboard.o: hos_defines.h char/keyboard.h sys/io.h functions.h
|
||||||
|
char/keyboard.o: lang/conv.h display/kout.h display/display.h devices.h
|
||||||
|
lang/lang.o: lang/lang.h hos_defines.h
|
||||||
|
lang/string.o: lang/string.h lang/lang.h hos_defines.h
|
||||||
|
lang/new.o: hos_defines.h mm/vmm.h multiboot.h
|
||||||
|
fs/vfs.o: hos_defines.h display/kout.h fs/vfs.h lang/vector.h lang/string.h
|
||||||
|
fs/vfs.o: devices.h
|
||||||
|
char/misc_char.o: hos_defines.h devices.h char/misc_char.h sys/io.h
|
||||||
|
block/ramdisk.o: functions.h hos_defines.h sys/io.h mm/vmm.h multiboot.h
|
||||||
|
block/ramdisk.o: lang/lang.h block/ramdisk.h devices.h
|
||||||
|
char/vconsole.o: hos_defines.h mm/vmm.h multiboot.h lang/lang.h
|
||||||
|
char/vconsole.o: display/display.h devices.h functions.h sys/io.h
|
||||||
|
char/vconsole.o: char/vconsole.h
|
||||||
|
devices.o: hos_defines.h devices.h char/misc_char.h char/misc_char.h
|
||||||
|
devices.o: char/vconsole.h block/ramdisk.h
|
||||||
|
@ -75,7 +75,7 @@ protected:
|
|||||||
int myRefs;
|
int myRefs;
|
||||||
string myMountPoint;
|
string myMountPoint;
|
||||||
inode_num_t myMountInode;
|
inode_num_t myMountInode;
|
||||||
VFSMount
|
|
||||||
public:
|
public:
|
||||||
VFSMount(device_t dev, FileSystem *fs, string mountPoint, inode_num_t mountInode);
|
VFSMount(device_t dev, FileSystem *fs, string mountPoint, inode_num_t mountInode);
|
||||||
~VFSMount();
|
~VFSMount();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user