转载自: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编译环境相关推荐

  1. ubuntu 18.04 配置深度学习环境

    本文内容主要参考自博客:Ubuntu20.04下深度学习环境配置 由于个别步骤稍有不同,因此进行记录,步骤如下: 1.将下载源换为国内源 ubuntu镜像-ubuntu下载地址-ubuntu安装教程- ...

  2. Ubuntu 18.04 搭建 Latex 编译环境

    需要大量书写数学公式,对 Latex 的需求倍增.所以考虑在 Ubuntu 18.04 安装 Latex. 查看有哪些 Latex 可以使用 sudo apt search latex,这样我们可以获 ...

  3. PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境

  4. 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 ...

  5. linux系统嵌入式编译环境,64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解...

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 将压缩包ar ...

  6. Ubuntu 16.04下的LAMP环境配置

    在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...

  7. linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述

    Ubuntu 16.04 LTS下LNMP环境配置简述 1.安装mysql sudo aptinstall mysql-server 安装过程会提示密码 2.安装nginx和php #添加nginx和 ...

  8. Win10 + Ubuntu 18.04 双系统工作环境配置

    补一个吧,上个月搞得,写在本地Markdown里了,其实现在已经把Ubuntu换成Deepin了,哈哈. 重装Deepin里的一些问题也可以参考这里的解决方案. Win10 + Ubuntu 18.0 ...

  9. python ubuntu18.04 sublime_Ubuntu下Sublime配置python编译环境及新手使用指导:

    Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同) 1.编译环境配置 2019-3-6更新教程,发现好像 官方网址打不开了,要改一下源才行. 解决办法: 点击 Pre ...

最新文章

  1. 27岁的张一鸣教给我们工作上的那些事
  2. 年轮蛋糕JOI2014Final
  3. jq实现文字个数限制_分布式系统高可用实战之限流器(Go 版本实现)
  4. 小甲鱼python的课后题好难_小甲鱼《零基础学习Python》课后笔记(二十六):字典——当索引不好用时2...
  5. python主线程执行_Python队列 – 最多运行n个线程
  6. matlab 边缘检测不闭合,Matlab多种图像边缘检测方法
  7. matlab已知ft求f2t,基于Matlab的信号与系统实验指导2
  8. (06)FPGA资源评估
  9. 用于存储过程的ASP.NET Core Blazor和EF Core原始SQL查询
  10. 有数据库文件怎么连接到服务器,怎么连接到服务器中的数据库
  11. HLS视频流 H265解码问题处理
  12. tar命令的讲解与使用
  13. 一定要收藏的面试思维导图
  14. 启动虚拟机报错:无法获取 vmci 驱动程序版本句柄无效解决方法
  15. 怎样开启无线热点服务器,在Ubuntu系统的电脑上开启无线热点全攻略
  16. php视频怎么转mp4,PHP实现将视频转成MP4并获取视频预览图的方法_php技巧
  17. 面试必看:java面试考点精讲视频教程
  18. pycharm报错:Error configuring SDK: Accessing invalid virtual file: 解决办法
  19. 力扣707设计链表(单链表,JavaScript)
  20. linux设置广播路由,如何设置路由器开启ssid广播 路由器开启ssid广播的详细方法...

热门文章

  1. Hadoop、Spark、Storm对比
  2. 多元标量函数、矢量函数之间的关系
  3. 变速积分PID控制算法
  4. HGAME-week4-web-wp
  5. dva 切换 history 为 browserHistory 报错
  6. c语言调用子函数程序,函数的调用
  7. 国内CDN现状与美国对比
  8. 协同过滤美食推荐系统(SSM,MySQL)+全套视频教程
  9. 用友计算机审计实验步骤,计算机审计上机实验报告模板详解.doc
  10. Windows10 alt+table 错乱问题修复