ubuntu 8.04 配置okl4编译环境
转载自:http://blog.sina.com.cn/s/blog_70dd169101018gzs.html
本文主要内容:
搭建OKL4-3.0的运行环境,编译OKL4-3.0的自带示例程序,以及运行半虚拟化的oklinux_2.6.24.9系统。
1.实验环境
1.1主机:vmware6.5+Ubuntu8.04
备注:之所以选择ubuntu8.04搭建OKL4-3.0的运行环境,是因为OKL4-3.0的编译需要glibc2.7的库,而这个版本的c库在比较新的发行版比如debian-6.07,ubuntu-12.04以及Fedora14中均已经不支持,而ubuntu8.04标准C库就是glib2.7.
另外ubuntu8.04在ubuntu社区已经停止维护,但这并不影响我们搭建OKL4编译环境。我们只需要把ubuntu8.04DVD版本的iso作为软件源,一些关键的组件都可以在iso中找到并安装。
1.2相关软件:
OKL4源码okl4_3.0.tar.gz下载:
http://wiki.ok-labs.com/Release/3.0
http://wiki.ok-labs.com/downloads/release-3.0/okl4_3.0.tar.gz
okl4_3.0.tar.gz编译需要使用python2.4软件包:
http://download.chinaunix.net/download.php?id=63&ResourceID=35
下载交叉编译器:
arm-linux-gnueabi-4.2.4.tar.gz下载地址:
http://wiki.ok-labs.com/downloads/release-3.0/arm-linux-gnueabi-4.2.4.tar.gz
http://wiki.ok-labs.com/Release/3.0
arm-linux-3.4.4.tar.bz2下载地址:
http://www.ertos.nicta.com.au/downloads/tools/arm-linux-3.4.4.tar.bz2
2.编译OKL4源码
工作目录:/home/tom/Public/
2.1 安装python2.4
将Python-2.4.3.tar.bz2下载到/home/tom/Public/目录下,根据目录中README要求解压编译安装。
备注:之所以要安装Python-2.4.3是因为okl4_3.0使用的tools/build.py脚本使用的解释器是Python2.4。
如果在安装python2.4期间出现:
checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
说明没有安装g++编译器,执行命令:
$sudo apt-get install g++
2.2 安装交叉工具链
arm-linux-3.4.4.tar.bz2和arm-linux-gnueabi-4.2.4.tar.gz下载到/home/tom/Public/目录,直接进行解压。
2.3 编译运行OKL4
将当前上述两个交叉工具链添加到当前shell的环境变量$PATH中:
$export PATH=/home/tom/Public/arm-unknown-linux-gnueabi/bin:${PATH}
$export PATH=/home/tom/Public/opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/:${PATH}
配置交叉工具链
解压okl4_3.0.tar.gz软件包到/home/tom/Public/目录中,修改okl4_3.0/tools/toolchains.py
中line 407到line 413:
gnu_arm_eabi_toolchain = generic_gcc_3_4_libgcc("/opt/okl/Linux-i386/arm/gcc-4.2.4-glibc-2.7/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-")
gnu_arm_toolchain = generic_gcc_3_4_libgcc("arm-linux-")
gnu_arm_nptl_toolchain = generic_gcc_3_4_libgcc("/opt/okl/Linux-i386/stow/arm-linux/bin/arm-linux-")
gnu_mips64_toolchain = generic_gcc_3_4("mips64-elf-")
gnu_mips32_toolchain = generic_gcc_3_4("mips-linux-")
arm_linux_toolchain = generic_gcc_3_4("/opt/tools/3.4/arm-linux/bin/arm-linux-")
gnu_ia32_toolchain = generic_gcc("i686-unknown-linux-gnu-")
gnu_ia32_nptl_toolchain = generic_gcc("/opt/okl/Linux-i386/stow/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-")
修改为:
#gnu_arm_eabi_toolchain = generic_gcc_3_4_libgcc("/opt/okl/Linux-i386/arm/gcc-4.2.4-glibc-2.7/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-")
gnu_arm_eabi_toolchain = generic_gcc_3_4_libgcc("/home/tom/Public/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-")
gnu_arm_toolchain = generic_gcc_3_4_libgcc("arm-linux-")
#gnu_arm_nptl_toolchain = generic_gcc_3_4_libgcc("/opt/okl/Linux-i386/stow/arm-linux/bin/arm-linux-")
gnu_arm_nptl_toolchain = generic_gcc_3_4_libgcc("/home/tom/Public/opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/arm-linux-")
gnu_mips64_toolchain = generic_gcc_3_4("mips64-elf-")
gnu_mips32_toolchain = generic_gcc_3_4("mips-linux-")
#arm_linux_toolchain = generic_gcc_3_4("/opt/tools/3.4/arm-linux/bin/arm-linux-")
arm_linux_toolchain = generic_gcc_3_4("/home/tom/Public/opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/arm-linux-")
gnu_ia32_toolchain = generic_gcc("i686-unknown-linux-gnu-")
gnu_ia32_nptl_toolchain = generic_gcc("/opt/okl/Linux-i386/stow/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-")
备注:其中修改的只是图中红颜色的部分。
编译OKL4代码中的一个示例:
$ tools/build.py machine=gumstix project=examples example=pingpong kdb_serial=True PYFREEZE=False
示意图如下:
2.4 安装qemu-0.13.0
下载地址:
http://wiki.qemu-project.org/download/qemu-0.13.0.tar.gz
运行命令:
$tar xvf qemu-0.13.0.tar.gz
$cd qemu-0.13.0
$./configure
$make
$make install
备注:如果在./configure的过程中出现:
Error: zlib check failed
Make sure to have the zlib libs and headers installed.
这需要安装zlib
用如下的命令
sudo apt-get install zlib1g-dev
安装好后,再运行configure
2.5 运行OKL4 linux
下载oklinux_2.6.24.9-patch.4.tar.gz
到当前目录/home/tom/Public
备注:
下载地址:http://wiki.ok-labs.com/Microkernel
执行命令:
$tar zxvf oklinux_2.6.24.9-patch.4.tar.gz
$cd okl4_3.0
$ln -s ..\oklinux_2.6.24.9-patch.4 linux
$tools/build.py machine=versatile project=linux wombat=true TOOLCHAIN=gnu_arm_eabi_toolchain pistachio.TOOLCHAIN=gnu_arm_toolchain PYFREEZE=False kdb_serial=True KDB_BREAKIN=False
编译完成后,会在okl4_3.0/build/images/目录下产生:
运行OKlinux
执行命令:
$ qemu-system-arm -M versatileab -nographic -kernel build/images/image.boot
示意图如下:
运行效果:
3 参考资料
http://www.linuxidc.com/Linux/2010-04/25362p2.htm
http://hi.baidu.com/yyt981/item/d91f471e236a4af686ad4e76
http://blog.sina.com.cn/s/blog_48a44f390100igmp.html
http://wiki.ok-labs.com/Microkernel
http://download.chinaunix.net/download.php?id=63&ResourceID=35
http://wiki.ok-labs.com/Release/3.0
http://nchc.dl.sourceforge.net/project/skyeye/skyeye/
http://blog.csdn.net/xuqianghit/article/details/5310367
(a)注意:因为ubuntu 8.04 安装g++不太容易。且apt-get源不能用了,需要修改apt-get源。
修改/etc/apt/sources.list,将其他源注释掉。并添加以下内容即可
deb http://mirror.lupaworld.com/ubuntu/ hardy main restricted universe multiverse deb http://mirror.lupaworld.com/ubuntu/ hardy-security main restricted universe multiverse deb http://mirror.lupaworld.com/ubuntu/ hardy-updates main restricted universe multiverse deb http://mirror.lupaworld.com/ubuntu/ hardy-proposed main restricted universe multiverse deb-src http://mirror.lupaworld.com/ubuntu/ hardy main restricted universe multiverse deb-src http://mirror.lupaworld.com/ubuntu/ hardy-security main restricted universe multiverse deb-src http://mirror.lupaworld.com/ubuntu/ hardy-updates main restricted universe multiverse deb-src http://mirror.lupaworld.com/ubuntu/ hardy-proposed main restricted universe multiverse
(b)如果以上源也无法用了,可以去搜索ubuntu 8.04 安装g++,在csdn中有该资源
转载于:https://www.cnblogs.com/flyingdirt/p/3778512.html
ubuntu 8.04 配置okl4编译环境相关推荐
- ubuntu 18.04 配置深度学习环境
本文内容主要参考自博客:Ubuntu20.04下深度学习环境配置 由于个别步骤稍有不同,因此进行记录,步骤如下: 1.将下载源换为国内源 ubuntu镜像-ubuntu下载地址-ubuntu安装教程- ...
- Ubuntu 18.04 搭建 Latex 编译环境
需要大量书写数学公式,对 Latex 的需求倍增.所以考虑在 Ubuntu 18.04 安装 Latex. 查看有哪些 Latex 可以使用 sudo apt search latex,这样我们可以获 ...
- PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境
- Ubuntu 18.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+SLAM相关库的安装
文章目录 一.换源 二.安装三方库 2.1 安装必要的依赖项 2.2 安装Pangolin 2.3 安装OpenCV3 2.4 安装Eigen3 三.安装ORB-SLAM2 四.安装ORB-SLAM3 ...
- linux系统嵌入式编译环境,64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解...
64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 将压缩包ar ...
- Ubuntu 16.04下的LAMP环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
- linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述
Ubuntu 16.04 LTS下LNMP环境配置简述 1.安装mysql sudo aptinstall mysql-server 安装过程会提示密码 2.安装nginx和php #添加nginx和 ...
- Win10 + Ubuntu 18.04 双系统工作环境配置
补一个吧,上个月搞得,写在本地Markdown里了,其实现在已经把Ubuntu换成Deepin了,哈哈. 重装Deepin里的一些问题也可以参考这里的解决方案. Win10 + Ubuntu 18.0 ...
- python ubuntu18.04 sublime_Ubuntu下Sublime配置python编译环境及新手使用指导:
Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同) 1.编译环境配置 2019-3-6更新教程,发现好像 官方网址打不开了,要改一下源才行. 解决办法: 点击 Pre ...
最新文章
- 27岁的张一鸣教给我们工作上的那些事
- 年轮蛋糕JOI2014Final
- jq实现文字个数限制_分布式系统高可用实战之限流器(Go 版本实现)
- 小甲鱼python的课后题好难_小甲鱼《零基础学习Python》课后笔记(二十六):字典——当索引不好用时2...
- python主线程执行_Python队列 – 最多运行n个线程
- matlab 边缘检测不闭合,Matlab多种图像边缘检测方法
- matlab已知ft求f2t,基于Matlab的信号与系统实验指导2
- (06)FPGA资源评估
- 用于存储过程的ASP.NET Core Blazor和EF Core原始SQL查询
- 有数据库文件怎么连接到服务器,怎么连接到服务器中的数据库
- HLS视频流 H265解码问题处理
- tar命令的讲解与使用
- 一定要收藏的面试思维导图
- 启动虚拟机报错:无法获取 vmci 驱动程序版本句柄无效解决方法
- 怎样开启无线热点服务器,在Ubuntu系统的电脑上开启无线热点全攻略
- php视频怎么转mp4,PHP实现将视频转成MP4并获取视频预览图的方法_php技巧
- 面试必看:java面试考点精讲视频教程
- pycharm报错:Error configuring SDK: Accessing invalid virtual file: 解决办法
- 力扣707设计链表(单链表,JavaScript)
- linux设置广播路由,如何设置路由器开启ssid广播 路由器开启ssid广播的详细方法...