Ubuntu安装pintos(2024914更新)

一:准备工作

    首先准备环境和文件,我用的环境是Ubuntu 16.04,在虚拟机中安装的,bochs用的是目前最新版本bochs2.6.7(尝试安装用2.8没成功)

  1. 下载bochs 选择 tar.gz 格式;https://sourceforge.net/projects/bochs/
  2. 下载pintos;(通过百度网盘分享的文件:pintos.tar.gz
    链接:https://pan.baidu.com/s/1KhC6LlFSk1t13kvJQb4OQw 
    提取码:u6aq)该链接自取
  3. 将下载完成的两个文件(bochs-2.6.7.tar.gz, pintos.tar.gz)移动到ubuntu桌面上
  4. 使用tar命令分别解压缩两个文件
  5.  tar zxvf bochs-2.6.7.tar.gz
     tar zxvf pintos.tar.gz

    到这里我们所需要的文件都已经准备就绪了。

二:Ubuntu环境配置

    为了避免出现一些不必要的麻烦,建议下面几个操作都做一下。

    在命令行输入以下代码:

sudo apt-get install buid-essential
sudo apt-get install xorg-dev
sudo apt-get install bison
sudo apt-get install libgtk2.0-dev
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386 
sudo apt-get install libncurses5:i386
sudo apt-get install g++-multilib

 

输入命令后会提示输入密码,这里的密码是不显示位数的。

    然后会提示Y/N,输入y;

    全部安装完成之后:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386 

运行该行命令时,会出现“Unable to locate package gcc-4.6-base:i386”

此时该如何解决:

ce2aefd28a0549e28a3565fcae2fdfca.png

在sources.list中添加:

deb     http://archive.ubuntu.com/ubuntu/ trusty universe  
deb-src http://archive.ubuntu.com/ubuntu/ trusty universe

改完,保存退出

三:安装bochs 和 pintos

    在第一步的操作中我们已经解压缩了两个文件,为了方便默认使用的是~/文件夹,现在开始安装:

    在命令行输入:

    1、安装bochs:

# 安装bochs
cd bochs-2.6.7
./configure --enable-gdb-stub
make
sudo make install

 

2、安装和运行pintos


 cd pintos/src/threads
 make
 cd build
 ../../utils/pintos -- run alarm-multiple

 60a363b32f734677b0620cb7b004a06a.png

3、复制utils

cd  ̃/pintos/src/utils
 sudo cp backtrace /usr/bin/
 sudo cp pintos /usr/bin/
 sudo cp pintos-gdb /usr/bin/
 sudo cp pintos-mkdisk /usr/bin/
 sudo cp Pintos.pm /usr/bin/

4、安装pintos-gdb

cd  ̃/pintos/src/misc
 sudo cp gdb-macros /usr/bin/
 sudo vim /usr/bin/pintos-gdb
//修改第 4 行:GDBMACROS=/usr/bin/gdb-macros

c0927e47307140be9a23560dc0089ab4.png

cd /usr/bin/
 sudo chmod a+rx backtrace
 sudo chmod a+rx pintos*
 sudo chmod a+rx gdb-macros
 sudo chmod a+rx Pintos.pm
 test pintos-gdb

 5、编译utils


 cd ~/pintos/src/utils
 make
 sudo cp squish-pty /usr/bin
 sudo chmod a+rx /usr/bin/squish-pty

make这里可能会报错,需要修改 Makefile 文件,将第 5 行的 LDFLAGS 修改为 LDLIBS

cd pintos/src/utils/
 vim Makefile 
# 修改第五行:  将LDFLAGS 改成 LDLIBS

改完之后,再make一遍

afb36f50d00740c0af3d26bf6d019b89.png

5、用gdb来调试pintos

cd /pintos/src/threads/build
../../utils/pintos --gdb -s -- run alarm-multiple (我们已经配置好了环境可以直接用pintos命令)

 这个时候终端显示等待连接,打开另一个终端,输入:

cd pintos/src/threads/build/
gdb kernel.o

注意:这里是小写的字母o,而不是数字0。

成功进入gdb,在(gdb)中输入:

 

(gdb) target remote localhost: 1234
(gdb) continue

 注意: 这里的localhost的冒号后面有一个空格。 

f8529396ba134917be394149db3e8ffe.png

该界面显示出来,就是完成了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值