linux 64位 内核编译环境,ubuntu16.4(64位)编译运行32位程序,gcc3.4,编译linux.11源代码...

Linux0.11内核需要用到gcc3.4版本,以及bochs模拟器用来模拟运行编译后的系统。这里用到的环境是ubuntu16.04 64位。

安装编译环境

打开 32 位支持

sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install lib32ncurses5 lib32z1

1

2

3

sudodpkg--add-architecturei386

sudoapt-getupdate

sudoapt-getinstalllib32ncurses5lib32z1

为了正常运行32位的bochs,还需要安装下面的安装包

sudo apt-get install libsm6:i386

sudo apt-get install libx11-6:i386

sudo apt-get install libxpm4:i386

sudo apt-get install libc6-dev-i386

1

2

3

4

sudoapt-getinstalllibsm6:i386

sudoapt-getinstalllibx11-6:i386

sudoapt-getinstalllibxpm4:i386

sudoapt-getinstalllibc6-dev-i386

安装汇编工具

sudo apt-get install bin86

1

sudoapt-getinstallbin86

安装 gcc3.4

cpp-3.4_3.4.6-6ubuntu3_i386.deb

g++-3.4_3.4.6-6ubuntu3_i386.deb

gcc-3.4_3.4.6-6ubuntu3_i386.deb

gcc-3.4-base_3.4.6-6ubuntu3_i386.deb

libstdc++6-dev_3.4.6-6ubuntu3_i386.deb

然后安装 gcc3.4

tar zxvf gcc-3.4-ubuntu.tar.gz

cd gcc-3.4/

sudo dpkg -i *.deb

1

2

3

tarzxvfgcc-3.4-ubuntu.tar.gz

cdgcc-3.4/

sudodpkg-i *.deb

目前发现安装gcc3.4后因为依赖问题会导致apt-get没法使用。。可以使用下面的命令先卸载gcc-3.4,等apt-get使用完后,再重新安装

sudo dpkg -r cpp-3.4 g++-3.4 gcc-3.4 gcc-3.4-base libstdc++6-dev

1

sudodpkg-rcpp-3.4g++-3.4gcc-3.4gcc-3.4-baselibstdc++6-dev

编译 linux 0.11 内核

linux0.11的源代码使用哈工大操作系统之基础课程提供的压缩包:

下载后,使用tar命令解压

tar zxvf hit-oslab-linux-20110823.tar.gz

1

tarzxvfhit-oslab-linux-20110823.tar.gz

解压后,可以发现里面有linux0.11源代码目录,和模拟器bochs的目录

进入 linux-0.11 目录执行

make all

1

makeall

会在目录下生成Image文件

之后在oslab目录下运行

./run

1

./run

就可以启动啦

c2a138391a7c63120d37616d4e16575a.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值