免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1863 | 回复: 0
打印 上一主题 下一主题

FreeBSD安装Linux仿真环境 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-02 18:25 |只看该作者 |倒序浏览

                                FreeBSD安装Linux仿真环境
  Sybase在FreeBSD下的运行实际上是依赖于FreeBSD对Linux的仿真实现的,如同以前在Linux运行SCO环境下的Oracle一样。所以首先要为FreeBSD安装一个Linux仿真环境。
  下面开始安装Linux_base软件包
 软件包可以在FreeBSD安装光盘上找到:
  # mount -t iso9660 /dev/acd0c /cdrom
  # cd /cdrom/packages
  # cd linux_base
  #pkg_add linux_base6.1.tgz
由于要安装很多软件包,所以要花10分钟左右的时间。如果你没有安装光盘,还可以直接通过port安装Linux支持环境。
  方法如下:
  以root身份登录:
  # cd /usr/port/emulators
  # cd linux_base
  #make install
  安装程序将自动从网络上下载所需软件,校验软件包,并最终完成安装。
这种安装方式,要求你的电脑能通过拨号上网或FreeBSD主机所在LAN上有路由器或网关可以连接到Internet上。
以root登录,加载Linux核心模块,也即启动Linux支持
  # linux 或
  # kldload linux
查看核心模块,以确保已成功加载Linux核心模块:
  #kldstat
  显示:
  Id Refs Address Size Name
   1 2 0xc0100000 1b1c60 kernel
   2 1 0xc0a9c000 10000 linux.ko
第2行显示的结果表示已成功完成加载。
  至此准备工作完成,以下开始正式安装
如果程序运行时提示找不到share lib,可以用ldd [program]察看具体少了哪些库文件
***********************************************************************************
在FreeBSD上安装java环境
1、下载所需的文件
从 http://www.sun.com/software/java2/download.html 下载:
SCSL Source file,    jdk-1_5_0-src-scsl.zip
SCSL Binaries file, jdk-1_5_0-bin-scsl.zip
在下载前可能需要注册一个账户。
从 http://www.eyesbeyond.com/freebsddom/java/jdk15.html 下载:
bsd-jdk15-patches-2.tar.bz2
从 http://java.sun.com/j2se/1.5.0/download.jsp下载:
jdk-1_5_0_06-linux-i586.bin
将上面这 4 个文件复制到 /usr/ports/distfiles/
2、安装
Xinsoft-cisiBSD# cd /usr/ports/java/linux-sun-jdk1.5.0
Xinsoft-cisiBSD# make install clean
或直接运行./jdk-1_5_0_06-linux-i586.bin
3、环境变量及Linux兼容环境的设置
# mkdir /usr/compat/linux/proc(如果装了linux_base,那这个目录就已经存在了)
# ee /root/.cshrc
# added by root [Xinoft] 2006-02-09 01:54:00
# for java
# Block_JAVA :: Begin
set JAVA_HOME = (/usr/local/linux-sun-jdk1.5.0)
setenv   JAVA_HOME        ${JAVA_HOME}
setenv JDK_HOME ${JAVA_HOME}/bin
setenv JRE_HOME ${JAVA_HOME}/jre/bin
setenv   CLASSPATH        .:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
setenv   PATH             ${PATH}:${JAVA_HOME}/bin
kldload linux
kldload linprocfs
mount -t linprocfs linprocfs /compat/linux/proc
# Block_JAVA :: End
# source /root/.cshrc
4、检验
# java -versionjava version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
5、注意
注意在 /root/.cshrc 中有这样几句:
kldload linux
kldload linprocfs
mount -t linprocfs linprocfs /compat/linux/proc
如果不加上这几句,在运行java时会有这样的报错信息:
Xinsoft-cisiBSD# java -versionJava HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
Java出现这个警告的主要原因是找不相应的进程的信息。因为是Linux兼容模式,Linux下的/proc实际上给映射到了FreeBSD下的/compat/linux/proc目录下,这实际上也是一种文件系统,在FreeBSD下称为linprocfs,默认的时候并没有给mount起来。所以在运行Java前一定要先把/compat/linux/proc给mount起来。
很多资料中介绍的解决方法如下:
1、在/etc/fstab 中添加一行:
linprocfs        /compat/linux/proc   linprocfs    rw   0    0
2、打入命令:
mount /compat/linux/proc/
但是我这样做却导致FreeBSD启动失败。后来在一些文档中找到了以下解决方法,于是彻底解决了这个问题,可以把它放到初始化文件中:
kldload linux
kldload linprocfs
mount -t linprocfs linprocfs /compat/linux/proc
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68058/showart_655082.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP