自己动手写操作系统——PC Bootstraps

在lab1中make时提示boot block too large。如下:
tianya@git:~/hust/lab1$ make
+ ld boot/boot
boot block too large: 564 bytes (max 510)
make: *** [obj/boot/boot] Error 1
make: *** Deleting file `obj/boot/boot'

查看makefile文件还是不得明白,google发现有遇到相同问题的:blog.sina.com.cn/s/blog_8588208901017mea.html

解决办法时找到/boot下的mkaefrag文件将最后的

$(OBJDIR)/boot/boot: $(BOOT_OBJS)。。。。。。。。。。

修改为:

$(OBJDIR)/boot/boot: $(BOOT_OBJS)
@echo + ld boot/boot
$(V)$(LD) $(LDFLAGS) -N -e start -Ttext 0x7C00 -o [email protected] $^
$(V)$(OBJDUMP) -S [email protected] >[email protected]
$(V)$(OBJCOPY) -S -R ".eh_frame" -O binary [email protected] $@
$(V)perl boot/sign.pl $(OBJDIR)/boot/boot

你可能感兴趣的:(操作系统,makefile,bochs)