FreeNOS学习笔记一(安装)

结合网上的教程,终于配置好啦~

系统环境为ubuntu 16.04 LTS

1、下载源工程 https://github.com/Neirth/FreeNOS

即终端输入将代码clone至本地   git clone https://github.com/Neirth/FreeNOS.git

2、安装scons(用于构建源代码)

(scons是Linux下的一种自动构建工具,类似于cmake,在安装scons之前,需要确保已经安装过python,Ubuntu16.04自带python2.7,所以不需要重复安装python。)

sudo apt-get install scons

3、安装qemu(安装模拟器,用于在模拟器中运行FreeNOS)

首先安装aptitude(包管理工具)

sudo apt install aptitude

再安装qemu(模拟器)

sudo aptitude install build-essential scons python-subversion subversion qemu

4、安装32位工具包。下面代码二选一即可

(注:我的电脑是64位的,所以跑32位的qemu需安装32位工具包。)

sudo apt-get install libc6-dev-i386
sudo apt-get install gcc-multilib g++multilib

测试:终端输入dpkg --print-foreign-architectures 输出为i386 则32位工具包创建成功

5、添加一行代码。打开FreeNOS/SConstruct文件,增加一句build_env.Append(CCFLAGS='-m32 -Wno-cpp -Wno-unused-variable -Wno-sign-compare')即可。具体实现如下:

build_env = target
Export('build_env')
build_env.Append(CCFLAGS='-m32 -Wno-cpp -Wno-unused-variable -Wno-sign-compare')

6、安装xorriso

sudo apt install xorriso

7、执行scons iso命令,生成build文件夹。

scons iso

执行成功后会在 FreeNOS/build/intel/pc/ 路径下会生成boot.iso文件,如果生成boot.img则说明scons iso未能成功执行。本人遇到的问题是:

scons: Building targets ...

ISO build/intel/pc/boot.iso

grub-mkrescue: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory

解决方法参照:https://superuser.com/questions/1293793/grub-install-error-usr-lib-grub-i386-pc-modinfo-sh-doesnt-exist

即重新下载,解压放进该/usr/lib/grub/下面。

cd /tmp

sudo apt-get download grub-pc-bin

dpkg-deb -R grub-pc-bin_2.02~beta2-36ubuntu3.20_amd64.deb grub/
sudo mv grub/usr/lib/grub/i386-pc/ /usr/lib/grub/

grub-pc-bin_2.02~beta2-36ubuntu3.20_amd64.deb这个包在/tmp下面。

8、使用quem构建虚拟机

qemu-img create FreeNOS.img 10G
9、将镜像载入虚拟机

qemu-system-x86_64 -m 512 -smp 4 -hda FreeNOS.img -cdrom ../FreeNOS/build/intel/pc/boot.iso -boot dc

10、运行截图

11、阅读源码思路

https://blog.csdn.net/qq_38172320/article/details/87873487

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值