modify libarchive version as 3.2 in README.md
参考链接:https://blog.csdn.net/u013171226/article/details/120971325
sudo apt-get install libxml2-utils
seL4编译需要依赖8.0以上的gcc版本,否则编译过程中可能出现如下问题:
根据情况执行安装,参考链接: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
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版本,并找到对应版本,进行下载
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版本不匹配
可尝试通过如下命令一起安装,保证版本匹配,若出现timeout等国外安装源获取失败等问题,可考虑使用清华源
pip3.10 install -i https://pypi.tuna.tsinghua.edu.cn/simple grpcio-tools protobuf
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架构硬件的运行
参考链接: https://docs.sel4.systems/GettingStarted
微内核操作系统seL4官方提供仓库
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
seL4的环境搭建及编译
开发环境 Ubuntu 18.04.6 LTS
1. ninja安装
参考链接:https://blog.csdn.net/u013171226/article/details/120971325
2. xmllint安装
3.gcc升级到8.0以上版本
seL4编译需要依赖8.0以上的gcc版本,否则编译过程中可能出现如下问题:
根据情况执行安装,参考链接:https://sel4.discourse.group/t/issues-running-test/423/6
4. python3的升级
ubantu18.04的环境默认python3的版本为python3.6.9,该版本不能安装protobuf,这里升级python3.10.5满足protobuf>=4.21.6
,解决protobuf版本过低关联的google库不全的问题,建议protobuf 4.21.6版本以上。
1、安装依赖:
2、进入python官网下载( https://www.python.org/downloads/ )找到Linux版本,并找到对应版本,进行下载
3、安装,将下载的安装包Python-3.10.5.tgz上载到Ubuntu环境,执行如下操作
4、需要通过pip3.10 install 安装如下包,版本仅供参考
5、需要通过pip3.10 install 安装如下包,版本仅供参考
6、如果在编译过程中遇到类似的问题,可能grpcio-tools protobuf版本不匹配
可尝试通过如下命令一起安装,保证版本匹配,若出现timeout等国外安装源获取失败等问题,可考虑使用清华源
5、seL4test代码下载、编译
seL4test这个仓官方文档中以repo方式进行下载同步,涉及代理问题,下载不完整,gitlink中备份了一份完整的代码
编译,以x86 qemu为例
编译完成,在build-x86目录下出现生成可执行文件simulate
执行./simulate即可执行模拟x86架构硬件的运行
参考链接: https://docs.sel4.systems/GettingStarted