目录
目录README.md

seL4的环境搭建及编译

开发环境 Ubuntu 18.04.6 LTS

1. ninja安装

参考链接:https://blog.csdn.net/u013171226/article/details/120971325

2. xmllint安装

sudo apt-get  install libxml2-utils 

3.gcc升级到8.0以上版本

seL4编译需要依赖8.0以上的gcc版本,否则编译过程中可能出现如下问题:

gcc-error

根据情况执行安装,参考链接:https://sel4.discourse.group/t/issues-running-test/423/6

sudo apt install gcc-8 g++-8 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

4. python3的升级

ubantu18.04的环境默认python3的版本为python3.6.9,该版本不能安装protobuf,这里升级python3.10.5满足protobuf>=4.21.6

,解决protobuf版本过低关联的google库不全的问题,建议protobuf 4.21.6版本以上。

1、安装依赖:

sudo apt-get install libffi-dev 
sudo apt-get update    
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev     
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev     
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

2、进入python官网下载( https://www.python.org/downloads/ )找到Linux版本,并找到对应版本,进行下载

python

3、安装,将下载的安装包Python-3.10.5.tgz上载到Ubuntu环境,执行如下操作

tar -vxf Python-3.10.5.tgz 
cd Python-3.10.5 
./configure --prefix=/usr/local/python3.10 
./configure --enable-optimizations 
sudo make -j16 
sudo make install 

4、需要通过pip3.10 install 安装如下包,版本仅供参考

sudo ln -sf /usr/local/python3.10/bin/python3.10 /usr/bin/python3.10 
sudo ln -sf /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3.10 
sudo ln -sf /usr/bin/python3.10 /usr/bin/python (如果需要使用其他python版本需要重新软连接即可)

5、需要通过pip3.10 install 安装如下包,版本仅供参考

aenum             3.1.11 
attrs                22.1.0 
beautifulsoup4       4.11.1 
certifi              2022.9.24 
chardet              5.0.0 
charset-normalizer   2.1.1 
distro               1.8.0 
feedparser           6.0.10 
future               0.18.2 
google               3.0.0 
greenlet             1.1.3.post0 
grpcio               1.50.0 
grpcio-tools         1.50.0 
httplib2             0.20.4 
idna                 3.4 
importlib-metadata   5.0.0 
importlib-resources  5.10.0 
Jinja2               3.1.2 
jsonschema           4.16.0 
libarchive-c         3.2
MarkupSafe           2.1.1 
msgpack              1.0.4 
mutagen              1.46.0 
neovim               0.3.1 
nose                 1.3.7 
pip                  22.3 
pkgutil_resolve_name 1.3.10 
ply                  3.11 
protobuf             4.21.8 
pyaml                21.10.1 
pyelftools           0.29 
pyfdt                0.3 
pynvim               0.4.3 
pyparsing            3.0.9 
pyrsistent           0.18.1 
pyserial             3.5 
PySimpleSOAP         1.16.2 
python-debian        0.1.48 
python-debianbts     3.2.3 
python-libarchive    4.2.1 
python3-protobuf     2.5.0 
PyYAML               6.0 
requests             2.28.1 
setuptools           58.1.0 
sgmllib3k            1.0.0 
sh                   1.14.3 
six                  1.16.0 
sortedcontainers     2.4.0 
soupsieve            2.3.2.post1 
typing_extensions    4.4.0 
urllib3              1.26.12 
wheel                0.37.1 
zipp                 3.9.0 

6、如果在编译过程中遇到类似的问题,可能grpcio-tools protobuf版本不匹配

protobuf-error

可尝试通过如下命令一起安装,保证版本匹配,若出现timeout等国外安装源获取失败等问题,可考虑使用清华源

pip3.10 install -i https://pypi.tuna.tsinghua.edu.cn/simple grpcio-tools protobuf

5、seL4test代码下载、编译

seL4test这个仓官方文档中以repo方式进行下载同步,涉及代理问题,下载不完整,gitlink中备份了一份完整的代码

git clone https://gitlink.org.cn/xuos/seL4test.git

编译,以x86 qemu为例

cd seL4test
mkdir build-x86
cd build-x86
../init-build.sh -DPLATFORM=x86_64 -DSIMULATION=TRUE
ninja

编译完成,在build-x86目录下出现生成可执行文件simulate

执行./simulate即可执行模拟x86架构硬件的运行

simulate

参考链接: https://docs.sel4.systems/GettingStarted

关于

微内核操作系统seL4官方提供仓库

227.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号