实验楼里的实验环境没办法保存,还老是掉线,virtualbox跑Ubuntu太卡。忍了再三,还是自己尝试在MAC里搭环境。目前的环境lab1可以跑起来了,有问题再继续更新。
工具:
Homebrew, Macports.
1. 安装qemu
$ brew update
$ brew install qemu
2. 安装i386-elf-gcc
$ sudo port -v selfupdate
$ sudo port install i386-elf-gcc
//设置path
$ export PREFIX=/opt/local
$ export PATH="$PREFIX/bin:$PATH"
3. lab1测试
~/Downloads/OS_MOOC/ucore_os_lab-master/labcodes_answer/lab1_result$ make clean
rm -f -r obj bin
~/Downloads/OS_MOOC/ucore_os_lab-master/labcodes_answer/lab1_result$ make
+ cc kern/init/init.c
+ cc kern/libs/readline.c
+ cc kern/libs/stdio.c
+ cc kern/debug/kdebug.c
+ cc kern/debug/kmonitor.c
+ cc kern/debug/panic.c
kern/debug/panic.c: In function ‘__panic’:
kern/debug/panic.c:27:5: warning: implicit declaration of function ‘print_stackframe’; did you mean ‘print_trapframe’? [-Wimplicit-function-declaration]
27 | print_stackframe();
| ^~~~~~~~~~~~~~~~
| print_trapframe
+ cc kern/driver/clock.c
+ cc kern/driver/console.c
+ cc kern/driver/intr.c
+ cc kern/driver/picirq.c
+ cc kern/trap/trap.c
...
'obj/bootblock.out' size: 496 bytes
build 512 bytes boot sector: 'bin/bootblock' success!
10000+0 records in
10000+0 records out
5120000 bytes transferred in 0.040911 secs (125149840 bytes/sec)
1+0 records in
1+0 records out
512 bytes transferred in 0.000017 secs (29826162 bytes/sec)
154+1 records in
154+1 records out
78940 bytes transferred in 0.000630 secs (125321104 bytes/sec)
~/Downloads/OS_MOOC/ucore_os_lab-master/labcodes_answer/lab1_result$ make qemu