some changes to the build process
This commit is contained in:
parent
a892bbdebc
commit
9fe92009e5
|
|
@ -5,7 +5,7 @@ cd src/kernel/
|
|||
gcc kmain.c $CFLAGS -o ../../bin/kernel/kmain.o
|
||||
for d in ./*/; do
|
||||
if [ "$d" != "./obj/" ]; then
|
||||
echo -e "\033[1;32mCompiling files in $d\033[0m"
|
||||
echo "\033[1;32mCompiling files in $d\033[0m"
|
||||
for f in $d*.c; do
|
||||
echo -e "\033[1;36mfile: $f\033[0m"
|
||||
SUF=".c"
|
||||
|
|
|
|||
25
makefile
25
makefile
|
|
@ -10,25 +10,34 @@ OBJS := $(patsubst src/kernel/%.c, bin/kernel/%.o, $(SRCS))
|
|||
all: bootloader tools kernel
|
||||
cp bin/bootloader.bin image.bin
|
||||
qemu-img resize -f raw image.bin 512M
|
||||
./diskwrite -v -l idm.elf ifsm.elf kernel.elf -o image.bin
|
||||
./diskwrite idm.elf ifsm.elf kernel.elf -o image.bin
|
||||
sudo mount image.bin mount
|
||||
sudo mkdir mount/mod # for kernel modules
|
||||
sudo mkdir mount/bin # for binary executables
|
||||
sudo mkdir mount/sys # for system files
|
||||
# ./diskwrite -v -o image.bin
|
||||
# ./diskwrite -v -l kernel.elf idm.elf -o image.bin
|
||||
qemu-system-i386 -hda image.bin --no-reboot --no-shutdown -m 32m -smp 2 -serial mon:stdio -D intlog.txt -d int
|
||||
sudo umount mount
|
||||
|
||||
tools:
|
||||
$(CC) tools/diskwrite.c -o diskwrite
|
||||
|
||||
mount: bootloader tools kernel
|
||||
cp bin/bootloader.bin image.bin
|
||||
qemu-img resize -f raw image.bin 512M
|
||||
./diskwrite -l idm.elf ifsm.elf kernel.elf -o image.bin
|
||||
sudo mount image.bin mount
|
||||
sudo mkdir mount/mod
|
||||
sudo mkdir mount/bin
|
||||
sudo mkdir mount/sys
|
||||
@echo "\e[31mrun 'sudo umount mount' to unmount\e[0m"
|
||||
|
||||
bootloader:
|
||||
$(AS) src/bootloader/main.s $(BL_ASFLAGS) -o bin/bootloader.bin
|
||||
run:
|
||||
qemu-system-i386 -hda image.bin --no-reboot --no-shutdown -m 32m -smp 2 -serial mon:stdio -D intlog.txt -d int
|
||||
|
||||
test: bootloader tools kernel
|
||||
cp bin/bootloader.bin image.bin
|
||||
qemu-img resize -f raw image.bin 512M
|
||||
./diskwrite -v -o image.bin
|
||||
fsck.fat image.bin
|
||||
sudo cp kernel.elf test/kernel.elf
|
||||
make run
|
||||
# kernel: $(OBJS)
|
||||
kernel:
|
||||
nasm src/kernel/entry.s -o bin/kernel/entry.o -f elf32
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ int write_file(fat_info *info, file_t *file, buffer_t buffer, size_t size, FILE
|
|||
uint8_t *new_buffer = calloc(1, clusters * (info->bpb.bytes_per_sector * info->bpb.sectors_per_cluster ));
|
||||
memcpy(new_buffer, buffer, size);
|
||||
uint32_t cluster = first_cluster;
|
||||
printf("start: %d count: %d\n", cluster, clusters);
|
||||
// printf("start: %d count: %d\n", cluster, clusters);
|
||||
// return -1;
|
||||
for(uint32_t i = 0; i < clusters; i++){
|
||||
write_sector(disk, info->bpb.reserved_sectors + info->file_table_size_sectors + info->bpb.partition_start + ((cluster - 2) * info->bpb.sectors_per_cluster), info->bpb.sectors_per_cluster, new_buffer + i * info->bpb.sectors_per_cluster * info->bpb.bytes_per_sector);
|
||||
|
|
@ -176,7 +176,7 @@ int create_file(char *path, fat_info *info, FILE *file, FILE *disk){
|
|||
while(root_files[index].filename[0]){
|
||||
index++;
|
||||
}
|
||||
printf("%s\n", root_files[index].filename);
|
||||
// printf("%s\n", root_files[index].filename);
|
||||
verbose && printf("Creating file at index: %d\n", index);
|
||||
char *ext = strchr(path, '.');
|
||||
char *tmpptr = path;
|
||||
|
|
@ -280,7 +280,7 @@ int main(int argc, char **argv){
|
|||
// return 0;
|
||||
// }
|
||||
for(int i = 0; i < filec; i++){
|
||||
printf("\033[1;34mWriting file %d in list: %s\033[0m\n", i, files[i]);
|
||||
// printf("\033[1;34mWriting file %d in list: %s\033[0m\n", i, files[i]);
|
||||
FILE *f = fopen(files[i], "r");
|
||||
if(!f){
|
||||
printf("Error Opening file\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue