SDU-nachos安装及初步编译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/June_Xixi/article/details/82534590

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的链接文件。

猜你喜欢

转载自blog.csdn.net/June_Xixi/article/details/82534590