LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2257|回复: 3

使用jhalfs2.1快速建立LFS

[复制链接]
发表于 2007-8-27 11:26:08 | 显示全部楼层 |阅读模式
敲命令太麻烦了,而且容易出错,而使用jhalfs自动编译的话可以无人值守。

这里使用的是lfslivecd-x86-6.2-5.iso的镜像,所有的工具全部包括在这张光盘中了,你不需要去下载别的东东了。

也可以查看我的播客
http://jonsk.cublog.cn/


1、刻盘,启动计算机
2、进入后按回车,输入net-setup设置网络(非必需)
3、设置密码:
    passwd root
    passwd jhalfs
4、启动SSH(非必需)
5、分区
    fdisk /dev/hda  如果不习惯可以使用cfdisk
    mkswap /dev/hda1    格式化swap
    swapon /dev/hda1    使用swap分区
    mkfs.reiser4 /dev/hda2    格式化hda2使用格式是reiser4
    mount /dev/hda2 /mnt    吧hda2加到到mnt目录下

6、转到jhalfs用户
    # su jhalfs
    lfslivecd:jhalfs | Mon Aug 27 10:25:30 2007 | /root

7、转到jhalfs用户下的jhalfs
    $ cd
    lfslivecd:jhalfs | Mon Aug 27 10:25:33 2007 | ~
    $ cd jhalfs-2.1/  
    lfslivecd:jhalfs | Mon Aug 27 10:25:35 2007 | ~/jhalfs-2.1

8、修改编译优化参数
    $ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe
    以下是O3pipe的内容:

CFLAGS_O3pipe="-O3 -pipe"改成你需要的
CXXFLAGS_O3pipe=$CFLAGS_O3pipe
LDFLAGS_O3pipe="unset"

OTHER_CFLAGS_O3pipe=$CFLAGS_O3pipe
OTHER_CXXFLAGS_O3pipe=$CXXFLAGS_O3pipe
OTHER_LDFLAGS_O3pipe=$LDFLAGS_O3pipe

再改O3pipe_march文件
    $ vi /home/jhalfs/jhalfs-2.1/optimize/opt_config.d/O3pipe_march
    以下是O3pipe_march的内容:
CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"改成你使用的CPU类型
CXXFLAGS_O3pipe_march=$CFLAGS_O3pipe"  -march=pentium4"同上
LDFLAGS_O3pipe_march=$LDFLAGS_O3pipe

OTHER_CFLAGS_O3pipe_march=$CFLAGS_O3pipe" -march=pentium4"同上
OTHER_CXXFLAGS_O3pipe_march=$CXXFLAGS_O3pipe" -march=pentium4"同上
OTHER_LDFLAGS_O3pipe_march=$LDFLAGS_O3pipe

8、然后开始make
    出现以下菜单
              --- BOOK Settings  --->                                                            
                   Use BOOK (Linux From Scratch)  --->选择要编译的类型        
                       (X) Linux From Scratch要编译LFS选择这个                                                                  
                       ( ) Cross-Compiled Linux From Scratch这个是CLFS                                                   
                      ( ) Cross-Compiled Linux From Scratch (Sysroot method)也是CLFS不过还在开发                                   
                      ( ) Cross-Compiled Linux From Scratch (Embedded Systems)貌似嵌入系统的CLFS                                 
                      ( ) Hardened Linux From Scratch  HLFS这个是用在安全方面的                                                         
                      ( ) Beyond Linux From Scratch    BLFS这个大家都知道                                                        
                   Release (Working Copy)  --->     使用哪个版本的BOOK
                      ( ) SVN                        最新的BOO,开发中的                                          
                      (X) Working Copy               稳定版,也是光盘上带的                                          
                      ( ) Branch or stable book      分枝??                                         
               (/usr/share/LFS-BOOK-6.2-XML) Loc of working copy (mandatory)选择书的位置,默认的主可以                                    
               [ ] Add custom tool support                                                                       
               [ ] Add blfs-tool support                                                                        

              --- General Settings  --->常规设置
                 [ ] Change the default user/group for this build     建立LFS的用户和组,可以不选                                 
                 (/mnt/build_dir) Build Directory                     建立的LFS位置,自己按需要改                                 
                 
  • Retrieve source files                            源的位置                                 
                     (/lfs-sources) Package Archive Directory             别改,默认就可以                                 
                     (http://ftp.lfs-matrix.net/) FTP mirror              如果需要下载,使用这个地址下                                 
                     
  •    Always retrieve kernel package (see help)                                       
                     
  • Run the makefile                                 退出菜单后直接make                                 
                     [ ] Rebuild files                                                                     

                  --- Build Settings  --->         
                      
  • Run testsuites  运行测试,默认是选上的,建议不要取消                                                                                   
                            Tests level (Only final system Glibc, GCC and Binutils testsuites)  --->  可以选择测试的内容默认的就行了                     
                          Flavour (Don't stop on test suite failures)  --->                                                
                      [ ] Use a custom fstab file             使用fstab文件,需要指定fstab文件位置                                                               
                      [ ] Build the kernel                    要不要自动编译内核,需要指定内核配置文件的位置                                                              
                      
  • Strip Installed Binaries/Libraries  好像是自动清理调试代码                                                              
                      
  • Install vim-lang package            vim的语言支持补丁,建议加上                                                               
                      (GMT) TimeZone                         时区                                                               
                      ($LANG) Language                       语言设置,你在使用光盘启动的时候选择的语言就是你$LANG的内容                                                               
                          Groff page size (letter)  --->   

                  --- Advanced Features  --->高级设置
                      
  • Create SBU and disk usage report                                                            
                       [ ] Run comparison analysis on final stage                                                      
                      
  • Use optimization (see help)              使用优化参数                                                
                             Optimization level  (Final system only)  --->全部默认就行了                                             
          --- Internal Settings (WARNING: for jhalfs developers only)  --->                           

              [ ] Rebuild the Makefile (see help)                                                   
              ---                                                                                    
              Load an Alternate Configuration File                                                   
              Save Configuration to an Alternate File                                                
    完成后退出程序开始配置

    *** End of JHALFS configuration.
    Loading config params from <configuration>...OK
    Loading common-functions module...
    Loading <func_book_parser>...OK
    Loading <func_download_pkgs>...OK
    Loading <func_wrt_Makefile>...OK
    Loading <func_blfs_deps>...OK
        ...OK
    Loading code module <LFS/master.sh>...OK
    ------------------------------------------------------------------------------

    Loading function <func_check_version.sh>...OK
    Loading function <func_validate_configs.sh>...OK
    Loading function <func_custom_pkgs>...OK
    ------------------------------------------------------------------------------


    KERNEL............ <2.6.16.38>OK
    BASH.............. <3.1.17(1)-release> OK
    GCC............... <4.0.3>     OK
    GLIBC............. <2.3.6>     OK
    BINUTILS.......... <2.16.1>    OK
    TAR............... <1.15.1>    OK
    BZIP2............. <1.0.3>     OK
    COREUTILS......... < 5.96>     OK
    DIFF.............. <2.8.1>     OK
    FIND.............. <4.2.27>    OK
    GAWK.............. <3.1.5>     OK
    GREP.............. <2.5.1>     OK
    GZIP.............. <1.3.5>     OK
    MAKE.............. <3.80>      OK
    PATCH............. <2.5.4>     OK
    SED............... <4.1.5>     OK
    SUDO.............. <1.6.8p12>  OK
    LIBXML2........... <2.06.26>   OK
    LIBXSLT........... <1.01.17>   OK
    ------------------------------------------------------------------------------

    BOOK.............. </usr/share/LFS-BOOK-6.2-XML>
    BUILDDIR.......... </mnt/build_dir>
    SRC_ARCHIVE....... </lfs-sources>
    ==============================================================================
            WARNING-- You do not have <write> access to the directory
                   -- /lfs-sources
    ==============================================================================

    GETPKG............ <y>
    RUNMAKE........... <y>
    TEST.............. <1>
    BOMB_TEST......... <n>
    OPTIMIZE.......... <0>
    REPORT............ <y>
    COMPARE........... <n>
    STRIP............. <y>
    FSTAB............. <>
    CONFIG............ <>
    GETKERNEL......... <y>
    VIMLANG........... <y>
    PAGE.............. <letter>
    TIMEZONE.......... <GMT>
    LANG.............. <C>
    LUSER............. <lfs>
    LGROUP............ <lfs>
    BLFS_TOOL......... <n>
    CUSTOM_TOOLS...... <n>
    REBUILD_MAKEFILE.. <n>

    *** lfs config parameters look good ***

    ------------------------------------------------------------------------------

    Are you happy with these settings? yes/no (no): yes    确认设置没有问题

    ------------------------------------------------------------------------------

    Loading optimization module...OK
    Loading optimization config...OK
                    WARNING:

    The use of build optimizations may be dangerous.

    You should know what you are doing and be sure that the
    optimization settings listed below are what you want.

    If there are build issues or the system doesn't work as
    expected, please rebuild without optimizations before
    asking for support.

    MAKEFLAGS: <-j3>
    BLACK_LIST: <autoconf dejagnu gettext groff>

    DEF_OPT_MODE: <O3pipe>

    CFLAGS: <-O3 -pipe>
    CXXFLAGS: <-O3 -pipe>
    LDFLAGS: <unset>
    OTHER_CFLAGS: <-O3 -pipe>
    OTHER_CXXFLAGS: <-O3 -pipe>
    OTHER_LDFLAGS: <unset>

    Overridden packages:
    binutils       noOpt
    gcc            noOpt
    glibc          noOpt
    grub           noOpt
    zlib           defOpt_fPIC

    ------------------------------------------------------------------------------

    Are you happy with these optimization settings? yes/no (no):yes 确认优化参数没有问题,这里没有修改参数

    Using /usr/share/LFS-BOOK-6.2-XML as book's sources ...
    mkdir: created directory `lfs-commands'
    Extracting commands for <LFS> build ...OK
    Creating <lfs> list of tarball names for /usr/share/LFS-BOOK-6.2-XML  ...OK
    Creating LFS specific URLs file ...OK
    autoconf-2.59.tar.bz2: -- copied from /lfs-sources
    automake-1.9.6.tar.bz2: -- copied from /lfs-sources
    bash-3.1.tar.gz: -- copied from /lfs-sources
    bash-doc-3.1.tar.gz: -- copied from /lfs-sources
    db-4.4.20.tar.gz: -- copied from /lfs-sources
    binutils-2.16.1.tar.bz2: -- copied from /lfs-sources
    bison-2.2.tar.bz2: -- copied from /lfs-sources
    bzip2-1.0.3.tar.gz: -- copied from /lfs-sources
    coreutils-5.96.tar.bz2: -- copied from /lfs-sources
    dejagnu-1.4.4.tar.gz: -- copied from /lfs-sources
    diffutils-2.8.1.tar.gz: -- copied from /lfs-sources
    e2fsprogs-1.39.tar.gz: -- copied from /lfs-sources
    expect-5.43.0.tar.gz: -- copied from /lfs-sources
    file-4.17.tar.gz: -- copied from /lfs-sources
    findutils-4.2.27.tar.gz: -- copied from /lfs-sources
    flex-2.5.33.tar.bz2: -- copied from /lfs-sources
    gawk-3.1.5.tar.bz2: -- copied from /lfs-sources
    gcc-4.0.3.tar.bz2: -- copied from /lfs-sources
    gettext-0.14.5.tar.gz: -- copied from /lfs-sources
    glibc-2.3.6.tar.bz2: -- copied from /lfs-sources
    glibc-libidn-2.3.6.tar.bz2: -- copied from /lfs-sources
    grep-2.5.1a.tar.bz2: -- copied from /lfs-sources
    groff-1.18.1.1.tar.gz: -- copied from /lfs-sources
    grub-0.97.tar.gz: -- copied from /lfs-sources
    gzip-1.3.5.tar.gz: -- copied from /lfs-sources
    iana-etc-2.10.tar.bz2: -- copied from /lfs-sources
    inetutils-1.4.2.tar.gz: -- copied from /lfs-sources
    iproute2-2.6.16-060323.tar.gz: -- copied from /lfs-sources
    kbd-1.12.tar.bz2: -- copied from /lfs-sources
    less-394.tar.gz: -- copied from /lfs-sources
    lfs-bootscripts-6.2.tar.bz2: -- copied from /lfs-sources
    libtool-1.5.22.tar.gz: -- copied from /lfs-sources
    linux-2.6.16.38.tar.bz2: -- copied from /lfs-sources
    linux-libc-headers-2.6.12.0.tar.bz2: -- copied from /lfs-sources
    m4-1.4.4.tar.gz: -- copied from /lfs-sources
    make-3.80.tar.bz2: -- copied from /lfs-sources
    man-db-2.4.3.tar.gz: -- copied from /lfs-sources
    man-pages-2.34.tar.bz2: -- copied from /lfs-sources
    mktemp-1.5.tar.gz: -- copied from /lfs-sources
    module-init-tools-3.2.2.tar.bz2: -- copied from /lfs-sources
    ncurses-5.5.tar.gz: -- copied from /lfs-sources
    patch-2.5.4.tar.gz: -- copied from /lfs-sources
    perl-5.8.8.tar.bz2: -- copied from /lfs-sources
    procps-3.2.6.tar.gz: -- copied from /lfs-sources
    psmisc-22.2.tar.gz: -- copied from /lfs-sources
    readline-5.1.tar.gz: -- copied from /lfs-sources
    sed-4.1.5.tar.gz: -- copied from /lfs-sources
    shadow-4.0.15.tar.bz2: -- copied from /lfs-sources
    sysklogd-1.4.1.tar.gz: -- copied from /lfs-sources
    sysvinit-2.86.tar.gz: -- copied from /lfs-sources
    tar-1.15.1.tar.bz2: -- copied from /lfs-sources
    tcl8.4.13-src.tar.gz: -- copied from /lfs-sources
    texinfo-4.8.tar.bz2: -- copied from /lfs-sources
    udev-096.tar.bz2: -- copied from /lfs-sources
    udev-config-6.2.tar.bz2: -- copied from /lfs-sources
    util-linux-2.12r.tar.bz2: -- copied from /lfs-sources
    vim-7.0.tar.bz2: -- copied from /lfs-sources
    vim-7.0-lang.tar.gz: -- copied from /lfs-sources
    zlib-1.2.3.tar.gz: -- copied from /lfs-sources
    bash-3.1-fixes-8.patch: -- copied from /lfs-sources
    bzip2-1.0.3-bzgrep_security-1.patch: -- copied from /lfs-sources
    bzip2-1.0.3-install_docs-1.patch: -- copied from /lfs-sources
    coreutils-5.96-i18n-1.patch: -- copied from /lfs-sources
    coreutils-5.96-suppress_uptime_kill_su-1.patch: -- copied from /lfs-sources
    coreutils-5.96-uname-1.patch: -- copied from /lfs-sources
    db-4.4.20-fixes-1.patch: -- copied from /lfs-sources
    diffutils-2.8.1-i18n-1.patch: -- copied from /lfs-sources
    expect-5.43.0-spawn-1.patch: -- copied from /lfs-sources
    gawk-3.1.5-segfault_fix-1.patch: -- copied from /lfs-sources
    gcc-4.0.3-specs-1.patch: -- copied from /lfs-sources
    glibc-2.3.6-linux_types-1.patch: -- copied from /lfs-sources
    glibc-2.3.6-inotify-1.patch: -- copied from /lfs-sources
    grep-2.5.1a-redhat_fixes-2.patch: -- copied from /lfs-sources
    groff-1.18.1.1-debian_fixes-1.patch: -- copied from /lfs-sources
    grub-0.97-disk_geometry-1.patch: -- copied from /lfs-sources
    gzip-1.3.5-security_fixes-1.patch: -- copied from /lfs-sources
    inetutils-1.4.2-gcc4_fixes-3.patch: -- copied from /lfs-sources
    inetutils-1.4.2-no_server_man_pages-1.patch: -- copied from /lfs-sources
    kbd-1.12-backspace-1.patch: -- copied from /lfs-sources
    kbd-1.12-gcc4_fixes-1.patch: -- copied from /lfs-sources
    linux-2.6.16.27-utf8_input-1.patch: -- copied from /lfs-sources
    linux-libc-headers-2.6.12.0-inotify-3.patch: -- copied from /lfs-sources
    mktemp-1.5-add_tempfile-3.patch: -- copied from /lfs-sources
    module-init-tools-3.2.2-modprobe-1.patch: -- copied from /lfs-sources
    ncurses-5.5-fixes-1.patch: -- copied from /lfs-sources
    perl-5.8.8-libc-2.patch: -- copied from /lfs-sources
    readline-5.1-fixes-3.patch: -- copied from /lfs-sources
    sysklogd-1.4.1-8bit-1.patch: -- copied from /lfs-sources
    sysklogd-1.4.1-fixes-1.patch: -- copied from /lfs-sources
    tar-1.15.1-gcc4_fix_tests-1.patch: -- copied from /lfs-sources
    tar-1.15.1-security_fixes-1.patch: -- copied from /lfs-sources
    tar-1.15.1-sparse_fix-1.patch: -- copied from /lfs-sources
    texinfo-4.8-multibyte-1.patch: -- copied from /lfs-sources
    texinfo-4.8-tempfile_fix-2.patch: -- copied from /lfs-sources
    util-linux-2.12r-cramfs-1.patch: -- copied from /lfs-sources
    vim-7.0-fixes-7.patch: -- copied from /lfs-sources
    vim-7.0-mandir-1.patch: -- copied from /lfs-sources
    vim-7.0-spellfile-1.patch: -- copied from /lfs-sources
    Document version <6.2>
    ------------------------------------------------------------------------------

    Creating Makefile... START
            Processing... <Chapter4     ( SETUP ) >
            Processing... <Chapter5     ( LUSER ) >
            Processing... <Chapter6     ( CHROOT ) >
            Processing... <Chapter7/8 ( BOOT ) >
    Creating Makefile... DONE
    ------------------------------------------------------------------------------

    Building the system...
    make[1]: Entering directory `/mnt/build_dir/jhalfs'
    --------------------------------------------------------------------------------
    mk_LUSER
    You are going to log into the user account lfs
    su requires a password
    --------------------------------------------------------------------------------
    Building target 028-binutils-pass1
    [+++++++++++++++++++++++/


    开始编译了,如果机器快的话5个小时就可以收工了
  • 发表于 2007-8-27 18:57:11 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2007-8-27 19:10:58 | 显示全部楼层
    晕死:mad: :mad: :mad: :mad:
    回复 支持 反对

    使用道具 举报

    发表于 2007-8-27 19:17:06 | 显示全部楼层
    自古成功在尝试,自行探索也有好处的 :)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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