Chinaunix首页 | 论坛 | 博客
  • 博客访问: 989616
  • 博文数量: 32
  • 博客积分: 8054
  • 博客等级: 中将
  • 技术积分: 892
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-19 14:47
个人简介

感谢大家!

文章分类

全部博文(32)

文章存档

2011年(2)

2010年(1)

2009年(3)

2008年(7)

2007年(8)

2006年(11)

分类: LINUX

2009-05-03 13:05:40

手把手教你源代码制作龙芯64位系统

(交叉编译版本)2.0 正式版

作者:孙海勇


更新日志:

  2009年9月20日 :改进制作步骤两处
  2009年9月20日 :修改笔误五处
  2009年5月29日 :修改笔误七处
  2009年5月9日 :修改工具链的制作
  2009年5月3日 :v2.0 正式版发布
  2008年10月19日 :v2.0-pre2 发布
  2008年9月14日 农历八月十五(中秋夜):v2.0-pre1 发布
  2008年2月18日:v1.1 正式版发布
  2007年2月18日(春节):正式版发布


目录

  • 前言
  • 相关知识
    • 工具链原理
    • build、host和target
    • pushd和popd
    • tar的使用
  • 准备工作
    • 创建分区
    • 加载分区
    • 设置工作目录
    • 设置必要的环境变量
  • 下载
    • 软件包下载
    • 补丁下载
  • 建立目标系统目录结构
  • 制作交叉工具链
    • 环境设置
    • 内核头文件(Linux-Header)
    • Binutils交叉工具
    • GCC交叉工具(仅支持C语言)
    • 目标系统的glibc
    • GCC交叉工具(支持c和c++语言)
    • File
    • Groff
    • Shadow
    • Ncurses
    • 清理交叉工具链
  • 制作目标系统
    • 环境设置
    • Man_Pages
    • Zlib
    • Binutils
    • Gmp
    • Mpfr
    • GCC
    • Sed
    • E2fsprogs
    • Coreutils
    • Iana_Etc
    • M4
    • Bison
    • Ncurses
    • Procps
    • Libtool
    • Readline
    • Autoconf
    • Automake
    • Bash
    • Bzip2
    • DHCPCD
    • Diffutils
    • File
    • Findutils
    • Flex
    • Gawk
    • Gettext
    • Grep
    • Groff
    • Gzip
    • iputils
    • Iproute2
    • Kbd
    • Less
    • Make
    • Man
    • Module_Init_Tools
    • Patch
    • Psmisc
    • Shadow
    • Rsysklog
    • Sysvinit
    • Tar
    • Texinfo
    • Udev
    • Util_Linux_ng
    • Vim
    • XZ-Utils
    • bootscript
  • 编译内核
  • 新系统必要的配置文件
  • 系统的打包及启动
  • 一些建议
  • 结束


前言

  从第一次拿到带有龙芯2E的机器到现在已经快30个月了,现如今龙芯2也已经发展到了2F系列,之前写过针对龙芯2E的制作纯64位系统,《手把手教你源代码制作龙芯64位系统》(第一篇针对龙芯制作纯64位系统的文章)和《手把手教你源代码制作龙芯64位系统 v1.1版》,当时由于龙芯出现在用户的手中的时间不长,各种重要的GNU软件都还没有正式支持龙芯,现如今包括内核、binutils、gcc都已经开始正式支持龙芯的产品了,于是我想我也应该努力一下看看能不能用这些新的软件版本来建立一个给龙芯2E和2F优化过的纯64位系统!本文依旧使用sysroot方法建立一个在龙芯上运行的纯64位系统。

由于排版问题,建议直接使用下面的地址来查看或者到我的blog:youbest.cublog.cn上看最新版本。

http://zdbr.net.cn/download/Loongson64-2.0.htm

阅读(11294) | 评论(71) | 转发(4) |
给主人留下些什么吧!~~

chinaunix网友2009-06-22 00:44:50

那个我看过了,确实帮助很大。但是我的理解是:--with-sysroot=dir的作用在于令binutils和gcc在编译时能够在dir寻找相关的库和头文件,而不会影响到prefix所指定的安装目录。难道用了--with-root=dir后,工具链就会彻底的将搜索和安装路径全指定为dir?

chinaunix网友2009-06-21 15:40:28

这个是因为sysroot的原来所导致的,你可以看一下我之前对于sysroot原理的说明的文章《CLFS2.0原理分析》。

chinaunix网友2009-06-21 10:53:36

谢谢您的答复和这篇文章!我昨天刚刚运行了这个新建的系统,那一刻真是太兴奋了!不过还有一堆问题不明白,例如: 1. 如果按照文章LANG=zh_CN.UTF-8,显示中文就有问题,我必须改回POSIX 2.为什么要将CLFS_HOST设为i*86-cross-linux-gnu,这里的cross是什么意思,为什么不用原来的pc? 最不明白的就是: 1.在制作交叉工具链时:为什么不将glibc的prefix直接设置为${TARGET_DIR}/cross-tools,而非得令install_root=$(TARGET_DIR),再令prefix=/usr? 2.在制作目标系统时:几乎所有的包都是先设prefix=/usr,然后make的时候令DESTDIR=${TARGET_DIR}。为什么不直接令prefix=${TARGET_DIR}/usr呢? TIA!

chinaunix网友2009-06-20 19:50:23

回“Sha Liu”:关于binutils的补丁和你宿主系统有关系,如果系统比较新可以不用打补丁,不过打了也可以。 编译gcc的时候可以把gmp和mpfr解压到gcc的源代码目录里就可以了。

chinaunix网友2009-06-18 14:02:13

还有就是,第一遍编译gcc时为什么没编译gmp和mpfr呢,这样的话编译gcc会报找不到啊