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
|
||||
|
||||
FLOPPY=/dev/fd0
|
||||
FLOPPY_MOUNT=./mnt_flp
|
||||
FLOPPY_IMAGE=hos.flp
|
||||
FLOPPY_MOUNT=./mnt_flp
|
||||
GRUB_IMAGE=grub.flp
|
||||
INITRD=hos_initrd
|
||||
INITRD_DIR=initrd
|
||||
INITRD_MOUNT=./mnt_initrd
|
||||
INITRD_SIZE=100 #initrd size in kb
|
||||
MOUNT=sudo mount
|
||||
UMOUNT=sudo umount
|
||||
|
||||
# Do not print "Entering directory ..."
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
.PHONY: initrd
|
||||
.PHONY: all clean initrd apps grub_image install install_img
|
||||
|
||||
all:
|
||||
make -C kernel
|
||||
@ -28,47 +30,53 @@ clean:
|
||||
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:
|
||||
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:
|
||||
gzip -c $(INITRD) > $(INITRD).gz
|
||||
-mkdir $(FLOPPY_MOUNT)
|
||||
mount -t ext2 $(FLOPPY) $(FLOPPY_MOUNT)
|
||||
cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||
cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||
cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||
cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||
umount $(FLOPPY_MOUNT)
|
||||
$(MOUNT) -t ext2 $(DEVICE) $(FLOPPY_MOUNT)
|
||||
-cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||
-cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||
-cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||
-cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||
-rmdir $(FLOPPY_MOUNT)
|
||||
|
||||
install_img:
|
||||
gzip -c $(INITRD) > $(INITRD).gz
|
||||
-mkdir $(FLOPPY_MOUNT)
|
||||
cp $(GRUB_IMAGE) $(FLOPPY_IMAGE)
|
||||
mount -t ext2 -o loop $(FLOPPY_IMAGE) $(FLOPPY_MOUNT)
|
||||
cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||
cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||
cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||
cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||
umount $(FLOPPY_MOUNT)
|
||||
$(MOUNT) -t ext2 -o loop $(FLOPPY_IMAGE) $(FLOPPY_MOUNT)
|
||||
-cp kernel/kernel.bin $(FLOPPY_MOUNT)
|
||||
-cp rmmod/rmmod.bin $(FLOPPY_MOUNT)
|
||||
-cp menu.lst $(FLOPPY_MOUNT)/boot/grub
|
||||
-cp $(INITRD).gz $(FLOPPY_MOUNT)/$(INITRD).gz
|
||||
$(UMOUNT) $(FLOPPY_MOUNT)
|
||||
-rmdir $(FLOPPY_MOUNT)
|
||||
|
||||
initrd:
|
||||
dd if=/dev/zero of=$(INITRD) bs=1024 count=$(INITRD_SIZE)
|
||||
mke2fs -Fv -m0 -r0 -i1024 $(INITRD)
|
||||
-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)
|
||||
umount $(INITRD_MOUNT)
|
||||
$(UMOUNT) $(INITRD_MOUNT)
|
||||
rm -rf $(INITRD_MOUNT)
|
||||
|
||||
|
||||
|
118
kernel/Makefile
118
kernel/Makefile
@ -1,78 +1,82 @@
|
||||
# Makefile for HOS
|
||||
# Josh Holtrop
|
||||
# Created: 07/08/04
|
||||
# Modified: 08/22/04
|
||||
# Modified: 06/13/05
|
||||
|
||||
# Assembler Information:
|
||||
NASM=nasm
|
||||
NASM_FLAGS=-f aout
|
||||
|
||||
# C Information:
|
||||
# C/C++ Information:
|
||||
CPPFLAGS=-fleading-underscore -fno-builtin -nostdlib -nostartfiles -nodefaultlibs -I. -Wall
|
||||
CC=gcc
|
||||
CPP=g++
|
||||
CC_FLAGS=-fleading-underscore -fno-builtin -nostdlib -nostartfiles -nodefaultlibs -I. -Wall
|
||||
CPP_FLAGS=$(CC_FLAGS) -fno-rtti -fno-exceptions
|
||||
CXX=g++
|
||||
CXXFLAGS=-fno-rtti -fno-exceptions
|
||||
|
||||
# Linker Information:
|
||||
LD=ld
|
||||
LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
|
||||
LDFLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
|
||||
|
||||
all: Asm_Kernel C_Kernel
|
||||
@echo ' LD kernel.bin'
|
||||
@$(LD) $(LD_FLAGS) -Map kernel.map \
|
||||
boot.o kernel.o lang_a.o mm.o vmm.o conv.o kout.o \
|
||||
vconsole.o display.o devices.o pic.o keyboard.o \
|
||||
ramdisk.o vfs.o lang_c.o \
|
||||
string.o new.o ext2.o misc_char.o -o kernel.bin
|
||||
# Files
|
||||
OBJS=boot.o kernel.o lang/lang_a.o mm/mm.o mm/vmm.o lang/conv.o \
|
||||
display/kout.o char/vconsole.o display/display.o devices.o \
|
||||
sys/pic.o char/keyboard.o block/ramdisk.o fs/vfs.o \
|
||||
lang/lang.o lang/string.o lang/new.o fs/ext2.o char/misc_char.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
|
||||
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
|
||||
|
||||
Asm_Kernel:
|
||||
@echo ' NASM boot.o'
|
||||
@$(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
|
||||
depend:
|
||||
makedepend -- $(CPPFLAGS) -- $(CSRC) $(CXXSRC)
|
||||
|
||||
C_Kernel:
|
||||
@echo ' CC kernel.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
|
||||
boot.o: boot.asm
|
||||
$(NASM) $(NASM_FLAGS) -l boot.lst boot.asm -o boot.o
|
||||
|
||||
@echo ' CPP string.o'
|
||||
@$(CPP) $(CPP_FLAGS) -c lang/string.cpp -o string.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
|
||||
lang/lang_a.o: lang/lang.asm
|
||||
$(NASM) $(NASM_FLAGS) -l lang.lst lang/lang.asm -o lang/lang_a.o
|
||||
|
||||
#################################################
|
||||
# Clean up the source directory of any binaries #
|
||||
#################################################
|
||||
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;
|
||||
string myMountPoint;
|
||||
inode_num_t myMountInode;
|
||||
VFSMount
|
||||
|
||||
public:
|
||||
VFSMount(device_t dev, FileSystem *fs, string mountPoint, inode_num_t mountInode);
|
||||
~VFSMount();
|
||||
|
Loading…
x
Reference in New Issue
Block a user