• 博客访问: 141281
  • 博文数量: 107
  • 博客积分: 2241
  • 博客等级: 大尉
  • 技术积分: 1627
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-08 10:08
文章分类

全部博文(107)

文章存档

2013年(7)

2012年(16)

2011年(84)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
自己编译colinux 备忘 2012-02-21 23:15:22

分类: LINUX


编译环境:
在windows下编译太复杂,
先安装最新的colinux 0.7.9, 使用debian的img启动

升级系统,安装svn, gcc, make等



下载源代码

使用svn或git下载
  1. cd ~
  2. svn co http://colinux.svn.sourceforge.net/svnroot/colinux/branches/stable colinux_stable
  3. svn co http://colinux.svn.sourceforge.net/svnroot/colinux/branches/devel colinux_devel
  4. svn co http://colinux.svn.sourceforge.net/svnroot/colinux/branches/devel-64bit colinux_devel-64bit
  5. git svn clone http://colinux.svn.sourceforge.net/svnroot/colinux/branches/devel colinux_devel -r 1585:HEAD
  6. git svn clone http://colinux.svn.sourceforge.net/svnroot/colinux/branches/stable colinux_stable -r 1585:HEAD
  7. git svn clone http://colinux.svn.sourceforge.net/svnroot/colinux/branches/devel-64bit colinux_devel-64bit -r 1585:HEAD

生成配置
  1. cd ~/colinux_stable
  2. ./configure
查看各个步骤
  1. make help
  2. Execute "make" or "make all" to build all targets
  3. Other generic targets:
  4. all - Build crosstools, all targets marked with [*]
  5. * download - Download all sources (for cross tools and libs)
  6. * cross - Build and install cross compiler and binutils
  7. * libs - Build and install libs: fltk,win32api
  8. * kernel - Build colinux kernel vmlinux and modules
  9. * colinux - Build colinux daemons
  10. package - Create ZIP file packages for pre releases
  11. installer - Create Installer (need wine and running x11)
  12. dump - Dump build tree and dependencies from python scripts
  13. Cleaning colinux build (daemons only, no cross compiler, no libs):
  14. clean - remove most generated files but keep distry files
  15. distclean - remove all generated files + config + md5sum
  16. Options
  17. HOSTOS=winnt - Build targets for Winnt
  18. HOSTOS=linux - Build targets for Linux as host
下载
  1. make download
  2. 会在上一层目录生成download目录,下载的文件放里面
  3. 4.0.1-WpdPack.zip
  4. binutils-2.19.1.tar.bz2
  5. fltk-1.1.10-source.tar.bz2
  6. gcc-core-4.1.2.tar.bz2
  7. gcc-g++-4.1.2.tar.bz2
  8. linux-2.6.33.7.tar.bz2
  9. mingw-runtime-3.14.tar.gz
  10. w32api-3.13-mingw32-dev.tar.gz
  11. w32api-3.13-mingw32-src.tar.gz
编译编译环境
  1. make cross
  2. 详细过程查看 bin/build-cross.sh文件 build_cross() 函数,将执行以下操作
  3. 1. 解压 mingw-runtime win32api 到 ~/mingw32 目录,
  4. 2. 在上一层目录创建build,工作目录
  5. 3. 解压、编译、安装 binutils
  6. 4. 解压、编译、安装 gcc

  1. binutils 如果编译不成功,gcc提示变量未使用,是gcc加了 -Werror选项
  2. 修改 bin/build-cross.sh 文件 configure_binutils() 函数,
  3. 在 --disable-nls 后面加上 --disable-werror 选项
  4. 重新执行 make cross
  5. 或者
  6. 从config.log 把configure 的那一行复制出来,加上--disable-werror 生新生成配置
  7. cd ~/build/binutils-i686-pc-mingw32
  8. ../binutils-2.19.1/configure --prefix=/home/n1/mingw32 --target=i686-pc-mingw32 --disable-nls --disable-werror
  9. make
  10. make install
  11. cd ~/colinux_stable #返回
  12. 手工编译安装 binutils完成后,修改 bin/build-cross.sh 文件,注释掉
  13. build_cross() 函数里的以下行
  14. install_libs
  15. extract_binutils
  16. patch_binutils
  17. configure_binutils
  18. build_binutils
  19. install_binutils
  20. 如果想保留binutils和gcc编译目录,也注释
  21. clean_binutils 和 clean_gcc 行
编译终端工具
  1. make libs

编译内核
  1. 检查 /bin/sh 是dash 还是bash, 如果是dash则改成 bash
  2. make kernel
  3. 检查下gcc 版本, gcc --version
  4. gcc 4.6 不再支持 linker-style,
  5. 如果是 4.6的,修改 ../build/linux-2.6.33.7-source/arch/x86/vdso/Makefile
  6. 将以 VDSO_LDFLAGS_vdso.lds 行的 "-m elf_x86_64" 改为 "-m64"
  7. 将以 VDSO_LDFLAGS_vdso32.lds 行的 "-m elf_x86" 改为 "-m32"
  8. 否则会出现 gcc: error: elf_i386: No such file or directory 错误
编译colinux
  1. make colinux

  1. 使用FTP输出或挂载本地cofs盘
  2. 复制出执行文件
  3. sudo cp src/colinux/os/winnt/build/*.exe /media/f/TEMP/
  4. sudo cp src/colinux/os/winnt/build/*.sys /media/f/TEMP/
  5. 复制出内核及模块
  6. sudo cp ../build/linux-2.6.33.7-build/vmlinux /media/f/TEMP/
  7. sudo cp ../build/linux-2.6.33.7-build/vmlinux-modules.tar.gz /media/f/TEMP/

替换新文件,重启测试
  1. 现在就有这些文件了
  2. colinux-bridged-net-daemon.exe
  3. colinux-console-fltk.exe
  4. colinux-console-nt.exe
  5. colinux-daemon.exe
  6. colinux-debug-daemon.exe
  7. colinux-ndis-net-daemon.exe
  8. colinux-net-daemon.exe
  9. colinux-serial-daemon.exe
  10. colinux-slirp-net-daemon.exe
  11. linux.sys
  12. vmlinux
  13. vmlinux-modules.tar.gz
  14. 停止当前的colinux,备份安装的这些文件,替换成自己编译出的文件,重启

以上是编译稳定版本的步骤,如果需要编译开发版本,需要重新编译内核和colinux



阅读(1612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册