【原创】编译cupcake笔记
要编译的版本cupcake, 文件名:cupcake.tar.gz
环境:
ubuntu 8.04虚拟机环境,注意,由于cupcake编译需要gcc 4.2,而ubuntu8.04之后版本是gcc 4.3, 所以最好装8.04的ubuntu,因为这原因我还重装了一次系统
虚拟机用的是VirtualBox
注意在创建系统时一定要分配足够的磁盘空间,至少需要15G, 我开始只分配了8G,导致make到一半就提示磁盘空间不足。
安装好虚拟系统后开始准备工作
1.更新系统软件 sudo apt-get update
2.检查gcc的版本: gcc -v
3.检查是否安装了g++, 如果没有则重新安装: sudo apt-get install g++
4.安装jdk: sudo apt-get install sun-java-jdk6
5.安装编译必要的一些第三方工具:
apt-get install flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev zlib1g-dev curl libncurses5-dev zlib1g-dev libx11-dev build-essential
6.解压cupcake,进入文件夹,执行make
我碰到过3次大的问题,一次是由于cupcake解压在vbox的共享目录,提示文件系统不对,解决办法是把文件夹移到linux系统即可
第二个问题是编译了大概10分钟就卡住了,大概由于分配的虚拟内存太少,解决方法是重新调整内存,我是分配了1g给虚拟系统
第三个问题是由于安装系统时分配的磁盘空间不足,导致No space left on device异常。 解决办法是重新分配一块从盘,挂载到系统即可,具体挂载方法见后面介绍
然后就一路畅通,make完成了。整个过程大概2个多小时,生成的文件全部在out目录下
虚拟系统下挂载硬盘的方法:
1. 在vbox下分配从盘给系统,并启动系统
2.执行 sudo fdisk /dev/sdb, sdb就是新增的硬件设备
3.会提示
The number of cylinders for this disk is set to 1044.
Command (m for help):
1044是你的第2块磁盘的结尾柱体,过会要输入的
按m看help,可惜我英文不是很好,ubuntu下的help和man命令很好用的,可以看到很相信
的英文说明文档,比网上的很多要详细,唯一可惜的是英文,谁要是能组织人翻译成中文
,肯定有益于在中国的应用吧
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
我们按n创建分区,按p是查看分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e是创建扩展分区
p是创建主分区
当然是按p了
p
Partition number (1-4): 1//按1即可,
First cylinder (1-1044, default 1): 1/起始柱头
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): 1044//终点
柱头
Command (m for help): w
最后按w保存退出
格式化开始,我选择的是ext3格式,相信大家都是的,如果保持默认是ext2的格式
你可以看mkfs的帮助
sudo mkfs -t ext3 /dev/sdb1
然后我把这个硬盘挂在media下就可以了
cd /media
sudo mkdir sdb1
sudo mount /dev/sdb1 /media/sdb1
sudo df