龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 6201|回复: 10

手把手教你源代码制作龙芯64位系统 2.0正式版

[复制链接]
发表于 2009-5-3 12:52:15 | 显示全部楼层 |阅读模式
手把手教你源代码制作龙芯64位系统
(交叉编译版本)2.0 正式版

作者:孙海勇


更新日志:
  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交叉工具
    • 目标系统glibc头文件
    • GCC交叉工具(仅支持C语言)
    • 目标系统的glibc
    • GCC交叉工具(支持c和c++语言)
    • File
    • Groff
    • Shadow
    • 清理交叉工具链
  • 制作目标系统
    • 环境设置
    • Man_Pages
    • Binutils
    • Gmp
    • Mpfr
    • GCC
    • Sed
    • E2fsprogs
    • Coreutils
    • Iana_Etc
    • M4
    • Bison
    • Ncurses
    • Procps
    • Libtool
    • Readline
    • Zlib
    • Autoconf
    • Automake
    • Bash
    • Bzip2
    • 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
    • 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
 楼主| 发表于 2009-5-3 12:56:17 | 显示全部楼层
本版本与2.0预览二版的主要区别是使用gcc-4.4的正式版本,并且更新了各个软件包.
发表于 2009-5-3 22:16:49 | 显示全部楼层
飞豹兄辛苦了。从1.1版看到2。0版。
等有时间跟着试一遍。还没试过LINUX的CLFS呢。
发表于 2009-5-26 16:20:20 | 显示全部楼层
编译 glibc 里面有一行
  1. touch libidn/configure
复制代码
这是干嘛用的?
貌似 glibc 2.9 里面不含 libidn 的东西吧,因为连 libidn 的目录都没有,不会正确的执行吧?
发表于 2009-6-9 15:31:50 | 显示全部楼层
为什么你做得系统中可以使用32个浮点寄存器,而福珑盒子自带的系统中只能用16个,如果我想改,该如何下手?
发表于 2009-7-29 19:21:17 | 显示全部楼层
豹哥,照着你的2.0正式版(5月29日版,比这个还新)作了一遍,发现些问题,主要是下载地址的问题。
1,Binutils,地址应当为ftp://gcc.gnu.org/pub/binutils/releases/binutils-2.19.1.tar.bz2
2,GCC,应当为http://ftp.gnu.org/gnu/gcc/gcc-4.4.0/gcc-4.4.0.tar.bz2
3,Bzip2,应当为http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
4,IProute2,应当为http://devresources.linux-founda ... e2-2.6.29-1.tar.bz2
5,util-linux,应当为http://www.kernel.org/pub/linux/ ... x-ng-2.14.2.tar.bz2
6,xz,原文中没给出地址,在这里可下载,http://tukaani.org/xz/xz-4.999.8beta.tar.gz
7,bootscripts,原文给出的是zdbr.net.cn网站的地址,现在已经失效,不知道为什么给的不是官方地址,难道是豹哥做过修改?偶是这里下的http://www.lfs-matrix.com/pub/cl ... fs-1.2-pre7.tar.bz2
8,最后一个命令原文是这样,tar -cjf loongson-system-64-2.0.tar.bz2 *
建议改一下,首先是tar命令的选项现在不需要横杠,在我在的系统上甚至加了横杠会报错;其次是输出文件在当前目录似乎不好,会不会发生递归压缩现象(就是说*通配符也会包括生成的这个bz2,然后bz2被当成输入……)?
我用的是这个:tar cjfv ~/loongson-system-64-2.0.tar.bz2 *

还没有到盒子上去试,不知道能不能用,有问题再来说。

[ 本帖最后由 华中科大一学生 于 2009-7-29 19:23 编辑 ]
发表于 2009-7-29 19:58:16 | 显示全部楼层
原帖由 loongwind 于 2009-7-29 19:55 发表
光棍

如何做交叉工具与GLIBC


豹哥的文章里面不就有么?
发表于 2009-7-29 19:59:52 | 显示全部楼层
最好别用脚本,手动走一步看一步,毕竟无法保证豹哥的方法到处都是可用的。
发表于 2009-7-29 21:29:25 | 显示全部楼层
飞抱乃神人,

这么复杂的系统也玩的转

不知有没有一个脚本,一跑全出来

最好在龙梦下载所有文件,一跑就出来
发表于 2009-7-30 11:37:20 | 显示全部楼层

这样才能学习.更多得知识,才能更好的普及.

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-5-23 08:47 , Processed in 0.201072 second(s), 20 queries .

快速回复 返回顶部 返回列表