Import backup from 2005-06-13

This commit is contained in:
Josh Holtrop 2005-06-13 22:00:00 -04:00
parent 692cf2fc08
commit 4689c11cc8
3 changed files with 95 additions and 83 deletions

View File

@ -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)

View File

@ -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

View File

@ -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();