相信不少朋友们在操作系统实验的时候对于ucore的配置费劲了心思,现在讲述一个被隐藏了的”终极“方案。下面记录了我遇到的各种坑,想直接看结果的可以略过。
心路历程
ubuntu20.04(VMware)
最开始的想法是自己有个虚拟机(ubuntu20.04),直接把全部环境配置上去就可以了
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential git qemu-system-x86 vim-gnome gdb cgdb eclipse-cdt make diffutils exuberant-ctags tmux openssh-server cscope meld qgit gitg gcc-multilib gcc-multilib g+±multilib
或者是必要的环境
$ sudo apt-get install build-essential git qemu-system-x86 gdb make diffutils gcc-multilib
结果make qemu
出现了memory management:(null)
中间有其他同学反映同样的问题,但是ubuntu18可以正常运行,所以重装ubuntu18。
ubuntu18.04(VMware)
经过一个下午的各种配置,就在我以为终于解决了的时候
make qemu
出现了另外的问题,于是百度
在readme中找到
[NOTICE] 如要源码编译qemu,需要执行
apt-get install zlib1g-dev libsdl1.2-dev libesd0-dev automake
执行完出现
再次百度,找到解决办法
1 sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
2 deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
3 deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
更新软件源并重新安装:
sudo apt-get update && sudo apt-get install libesd0-dev
在平均速度1kb/s的等待下,安装完毕,重新make qemu
同样的结果,崩溃。。。
ucore(virtual box)
光配个环境就花了好多天,最终验收只好用实验自带的虚拟机环境,基本上除了可以跑通代码以外没有优点
- 极慢的运行速度(即使调整为4核,4G内存)
- 用vim讲代码十分麻烦(vim基本就是个文本编辑器)
- 当make完前几个实验后空间会不足(如果当初virtualbox配置一路下一步,只会分配8GB硬盘空间)
而virtualbox后期增加硬盘空间十分麻烦,建议使用gparted(具体过程就不说了)
最终结果
山重水复疑无路,柳暗花明又一村。再次阅读readme文档中,尝试了最后的方法:配置windows下的ucore。由于已经整合完成,所以实际操作非常简单。
windows下的ucore实验环境安装包:下载安装即可。感谢杨海宇同学提供!
具体操作
- 首先运行
setup.exe
- 打开uCore Environment,将会在HOME文件夹下创建当前用户文件夹
- 把实验内容复制进用户文件夹,操作就和linux一样,make qemu
成功
从此可以直接在windows上讲代码,岂不美哉。