用源代码制作64位Linux系统
(本地编译版本)1.0 正式版
作者:孙海勇
更新日志:
2009年10月3日(中秋节):1.0 正式版发布
目录
- 前言
- 更新
- 相关知识
- 准备工作
- 下载
- 建立目标系统目录结构
- 制作预工具链
- Binutils
- GCC(仅支持C语言)
- 制作工具链环境
- 内核头文件(Linux-Header)
- 工具链环境的glibc/eglibc
- 工具链的Binutils
- 工具链的GCC(支持c和c++语言)
- ncurses
- bash
- Bzip2
- Coreutils
- Diffutils
- Findutils
- Gawk
- Gettext
- Grep
- Gzip
- M4
- Make
- Patch
- Perl
- Sed
- Tar
- Texinfo
- e2fsprogs
- Util-linux-ng
- XZ Utils
- 清理工具链
- 制作目标系统
- 环境设置
- 建立目标系统目录结构
- 创建必要的用户、组和日志文件
- Linux-Header
- Man_Pages
- glibc/eglibc
- 调整工具链
- Zlib
- Binutils
- Gmp
- Mpfr
- GCC
- Berkeley DB
- Sed
- Pkg-config
- Ncurses
- E2fsprogs
- Util_Linux_ng
- Coreutils
- Iana_Etc
- M4
- Bison
- Procps
- Grep
- Readline
- Bash
- Libtool
- Inetutils
- Perl
- Autoconf
- Automake
- Bzip2
- Diffutils
- File
- Gawk
- GDBM
- Findutils
- Flex
- Gettext
- Groff
- Gzip
- Iproute2
- Kbd
- Less
- Make
- Man-DB
- Module_Init_Tools
- Patch
- Psmisc
- Shadow
- Rsysklog
- Sysvinit
- Tar
- Texinfo
- Udev
- DHCPCD
- Vim
- XZ-Utils
- bootscript
- 编译内核
- 清除调试信息
- 更新系统环境
- 新系统必要的配置文件
- 系统的启动
- 结束
前言
一般来说如果要在32位的系统上制作一个64位的系统,所使用的是交叉编译的方法,本文试图创造一种方法可以在32位的系统上不使用交叉编译的方法来制作一套纯64位的系统。
因为本文所建立的方法没有采用交叉编译,因此对于制作机器的要求必须是32和64位兼容支持的,比如现在常见的x86_64的机器。
本文将采用x86_64来制作,但该方法并不局限于x86_64,其可以用于制作任何32位和64位相兼容的CPU架构,比如龙芯2。
本文可以使用eglibc来代替glibc,eglibc是一个和glibc高度兼容的C库,其编译方法也是一样的,因此文中采用的glibc的编译方法同样适合用在eglibc上。
由于排版问题,建议直接使用下面的地址来查看或者到我的blog:youbest.cublog.cn上看最新版本。
http://zdbr.net.cn/download/x86_64_pure-1.0.html |