SDU-nachos安装及初步编译

本文介绍如何在Ubuntu 32位系统上安装并配置环境,编译Nachos教学操作系统内核。通过详细步骤,包括解压、配置、交叉编译等,最终生成可用于教学实验的Nachos内核。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nachos:nachos-3.4-SDU.tar.gz

ubuntu:ubuntu-16.04.5-desktop-i386.iso

 

  1. 安装ubuntu 32位
  2. 将nachos-3.4-SDU.tar.gz压缩文件复制到ubuntu,并解压缩
  3. 在nachos-3.4-SDU目录中打开终端,进入root模式,使用命令“cp -r gcc-2.8.1-mips.tar.gz /usr/local”命令将gcc-2.8.1-mips.tar.gz复制到/usr/local目录下
  4. 在/usr/local目录下使用终端解压缩gcc-2.8.1-mips.tar.gz文件:tar -xvf gcc-2.8.1-mips.tar.gz
  5. 进入Nachos的目录code/test(简记为../test),

(1)删除../test/arch/unknown-i386-linux/depends目录下的所有文件;

(2)删除../test/arch/unknown-i386-linux/objects目录下的所有文件

(3)删除../test目录下的所有扩展名为.noff的文件

(4)运行make,如果交叉编译器安装成功,../test目录下几个.c文件都产生了一个对应的.noff文件,同时屏幕应输出下述信息:

 

>>> Linking arch/unknown-i386-linux/objects/halt.coff <<<

/usr/local/mips/bin/decstation-ultrix-ld -T script -N arch/unknown-i386-linux/objects/start.o arch/unknown-i386-linux/objects/halt.o -o arch/unknown-i386-linux/objects/halt.coff

>>> Converting to noff file: arch/unknown-i386-linux/bin/halt <<<

../bin/arch/unknown-i386-linux/bin/coff2noff arch/unknown-i386-linux/objects/halt.coff arch/unknown-i386-linux/bin/halt

numsections 3 

Loading 3 sections:

    ".text", filepos 0xd0, mempos 0x0, size 0x100

    ".data", filepos 0x1d0, mempos 0x100, size 0x0

    ".bss", filepos 0x0, mempos 0x100, size 0x0

ln -sf arch/unknown-i386-linux/bin/halt halt

>>> Linking arch/unknown-i386-linux/objects/shell.coff <<<

/usr/local/mips/bin/decstation-ultrix-ld -T script -N arch/unknown-i386-linux/objects/start.o arch/unknown-i386-linux/objects/shell.o -o arch/unknown-i386-linux/objects/shell.coff

>>> Converting to noff file: arch/unknown-i386-linux/bin/shell <<<

../bin/arch/unknown-i386-linux/bin/coff2noff arch/unknown-i386-linux/objects/shell.coff arch/unknown-i386-linux/bin/shell

numsections 3 

Loading 3 sections:

    ".text", filepos 0xd0, mempos 0x0, size 0x200

    ".data", filepos 0x2d0, mempos 0x200, size 0x0

    ".bss", filepos 0x0, mempos 0x200, size 0x0

ln -sf arch/unknown-i386-linux/bin/shell shell

>>> Linking arch/unknown-i386-linux/objects/matmult.coff <<<

/usr/local/mips/bin/decstation-ultrix-ld -T script -N arch/unknown-i386-linux/objects/start.o arch/unknown-i386-linux/objects/matmult.o -o arch/unknown-i386-linux/objects/matmult.coff

>>> Converting to noff file: arch/unknown-i386-linux/bin/matmult <<<

../bin/arch/unknown-i386-linux/bin/coff2noff arch/unknown-i386-linux/objects/matmult.coff arch/unknown-i386-linux/bin/matmult

numsections 3 

Loading 3 sections:

    ".text", filepos 0xd0, mempos 0x0, size 0x3c0

    ".data", filepos 0x490, mempos 0x3c0, size 0x0

    ".bss", filepos 0x0, mempos 0x3c0, size 0x12c0

ln -sf arch/unknown-i386-linux/bin/matmult matmult

>>> Linking arch/unknown-i386-linux/objects/sort.coff <<<

/usr/local/mips/bin/decstation-ultrix-ld -T script -N arch/unknown-i386-linux/objects/start.o arch/unknown-i386-linux/objects/sort.o -o arch/unknown-i386-linux/objects/sort.coff

>>> Converting to noff file: arch/unknown-i386-linux/bin/sort <<<

../bin/arch/unknown-i386-linux/bin/coff2noff arch/unknown-i386-linux/objects/sort.coff arch/unknown-i386-linux/bin/sort

numsections 3 

Loading 3 sections:

    ".text", filepos 0xd0, mempos 0x0, size 0x2c0

    ".data", filepos 0x390, mempos 0x2c0, size 0x0

    ".bss", filepos 0x0, mempos 0x2c0, size 0x1000

ln -sf arch/unknown-i386-linux/bin/sort sort

6. 在终端窗口下进入目录code/threads/,运行make命令,可编译生成一个基本的Nachos内核(多线程)。编译时如果屏幕输出的最后几行信息如下:

 

....>>> Linking arch/unknown-i386-linux/bin/nachos <<<

g++ arch/unknown-i386-linux/objects/main.o ........................

..................................................................

..................................................................

ln -sf arch/unknown-i386-linux/bin/nachos nachos

 

表示已经成功编译生成了一个最小的Nachos内核。目录threads/下的文件nachos是一链接到可执行程序arch/unknown-i386-linux/bin/nachos的链接文件。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值