LinuxSir.cn,穿越时空的Linuxsir!

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

使用jhalfs编译LFS[详细操作步骤]

[复制链接]
发表于 2009-5-13 13:34:21 | 显示全部楼层 |阅读模式
1, 下载相关文件
使用系统: FC8 /编译LFS-SVN
建立需要的临时目录:
[PHP]cd /tmp
mkdir /tmp/lfs-pkg
mkdir /tmp/lfs-pkg/svn
[/PHP]
下载 jhalfs和最新的LFS-SVN:
[PHP]svn co svn://svn.linuxfromscratch.org/ALFS/jhalfs/trunk jhalfs
svn co svn://svn.linuxfromscratch.org/LFS/trunk/BOOK/[/PHP]

[color="Red"]下载最新的lfs软件和补丁程序[如果不自己下载,那么jhalfs会自己进行下载]
[自己先下载相关文件]获取需要下载的文件的地址
[PHP]cd /tmp/lfs-pkg
cp jhalfs/common/urls.xsl BOOK/
cd BOOK
SERVER="ftp://ftp.lfs-matrix.net"
xsltproc --nonet --xinclude \
                 --stringparam server $SERVER \
                 --stringparam family lfs \
                 -o ./urls.lst urls.xsl \
                 ./chapter03/chapter03.xml[/PHP]

在BOOK目录下就会存在一个文件urls.lst然后编写一个脚本进行自动下载即可。

2,编译前的准备工作
由于jhalfs是从第5章开始的所以添加用户之类的要在允许jhalfs之前进行。
处理分区:
我进行lfs的分区是sda11
[PHP]mkfs.ext3 /dev/sda11
mount /dev/sda11  /mnt/lfs[/PHP]

添加用户lfs并设置相关的设置
[PHP]export LFS=/mnt/lfs
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
chown -v lfs $LFS/tools
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF
source ~/.bash_profile[/PHP]

配置FC8的sudo
在/etc/sudoers中添加一行
[PHP]lfs     ALL=(ALL)       ALL[/PHP]

3, 配置jhalfs
[PHP]chown lfs.lfs -R /tmp/lfs-pkg
su - lfs
cd /tmp/lfs-pkg/jhalfs
make[/PHP]

配置jhalfs注意事项:
[color="Red"]不要选择最外层的Rebuild the Makefile (see help) (前面没有*)
General Settings->Rebuild files [不要选择]
我的配置文件如下
[PHP]#
# Automatically generated configuration: don't edit
# use make menuconfig or make config to make changes
#

#
# --- BOOK Settings
#
BOOK_LFS=y
# BOOK_CLFS is not set
# BOOK_CLFS2 is not set
# BOOK_CLFS3 is not set
# BOOK_BLFS is not set
PROGNAME="lfs"
RUN_ME="./jhalfs run"
relSVN=y
# WORKING_COPY is not set
# BRANCH is not set
BRANCH_ID=""
BOOK=""
# ARCH_X86 is not set
# ARCH_MIPS is not set
# ARCH_PPC is not set
# ARCH_SPARC is not set
# ARCH_ALPHA is not set
# ARCH_ARM is not set
# ARCH_HPPA is not set
# PLATFORM_GENERIC is not set
# PLATFORM_WRT is not set
# DATA_32 is not set
# DATA_64 is not set
# DATA_MULTI is not set
# PROC_i486 is not set
# PROC_i586 is not set
# PROC_i686 is not set
# PROC_mipsel is not set
# PROC_mips is not set
# PROC_unknown is not set
# PROC_hppa1 is not set
# PROC_hppa2 is not set
# PROC_EV5 is not set
# PROC_EV56 is not set
# PROC_PCA56 is not set
# PROC_PCA57 is not set
# PROC_EV6 is not set
# PROC_EV67 is not set
# PROC_EV68 is not set
# PROC_ARM is not set
# PROC_ARM5L is not set
# PROC_ARM5B is not set
# PROC_ULTRA1 is not set
# PROC_ULTRA2 is not set
# PROC_ULTRA3 is not set
# ABI_32 is not set
# ABI_N32 is not set
# ABI_64 is not set
TARGET=""
TARGET32=""
PLATFORM="GENERIC"
SPARC64_PROC="none"
ARCH=""
MIPS_LEVEL=""
ABI=""
ENDIAN=""
# BUILD_CHROOT is not set
# BUILD_BOOT is not set
METHOD=""
BOOT_CONFIG=""
# GRSECURITY_HOST is not set
# LIB_GLIBC is not set
# LIB_UCLIBC is not set
MODEL=""
# KERNEL_26 is not set
# KERNEL_24 is not set
KERNEL=""
SSP=",ssp,"
ASLR=",aslr,"
PAX=",pax,"
HARDENED_TMP=",hardened_tmp,"
WARNINGS=",warnings,"
MISC=",misc,"
BLOWFISH=",blowfish,"
# CUSTOM_TOOLS is not set
# BLFS_TOOL is not set
# BLFS_SVN is not set
# BLFS_BRANCH is not set
BLFS_BRANCH_ID=""
# DEP_LIBXML is not set
# DEP_LIBXSLT is not set
# DEP_TIDY is not set
# DEP_DBXML is not set
# DEP_UNZIP is not set
# DEP_LYNX is not set
# DEP_SUDO is not set
# DEP_WGET is not set
# DEP_GPM is not set
# DEP_SVN is not set
BLFS_ROOT=""
BLFS_XML=""
TRACKING_DIR=""

#
# --- General Settings
#
CONFIG_USER=y
DEF_USER="lfs"
SET_USER="lfs"
CONFIG_GROUP=y
SET_GROUP="lfs"
# CONFIG_HOME is not set
SET_HOME=""
LUSER="lfs"
LGROUP="lfs"
LHOME="/home"
BUILDDIR="/mnt/lfs"
GETPKG=y
SRC_ARCHIVE="/tmp/lfs-pkg/svn"
SERVER="ftp://ftp.lfs-matrix.net"
GETKERNEL=y
RUNMAKE=y
# CLEAN is not set

#
# --- Build Settings
#
# CONFIG_TESTS is not set
# TST_1 is not set
# TST_2 is not set
# TST_3 is not set
TEST=0
# NO_BOMB is not set
# BOMB is not set
# BOMB_TEST is not set
INSTALL_LOG=y
# HAVE_FSTAB is not set
FSTAB=""
# CONFIG_BUILD_KERNEL is not set
CONFIG=""
STRIP=y
VIMLANG=y
# NO_PROGRESS_BAR is not set
TIMEZONE="GMT"
LANG="zh_CN.UTF-8"
# PAGE_LETTER is not set
PAGE_A4=y
PAGE="A4"

#
# --- Advanced Features
#
REPORT=y
# COMPARE is not set
ITERATIONS=0
# RUN_ICA is not set
# RUN_FARCE is not set
# CONFIG_OPTIMIZE is not set
# OPT_1 is not set
# OPT_2 is not set
OPTIMIZE=0

#
# --- Internal Settings (WARNING: for jhalfs developers only)
#
SCRIPT_ROOT="jhalfs"
JHALFSDIR="$BUILDDIR/$SCRIPT_ROOT"
LOGDIRBASE="logs"
LOGDIR="$JHALFSDIR/$LOGDIRBASE"
TESTLOGDIRBASE="test-logs"
TESTLOGDIR="$JHALFSDIR/$TESTLOGDIRBASE"
FILELOGDIRBASE="installed-files"
FILELOGDIR="$JHALFSDIR/$FILELOGDIRBASE"
ICALOGDIR="$LOGDIR/ICA"
FARCELOGDIR="$LOGDIR/farce"
MKFILE="$JHALFSDIR/Makefile"
XSL="$PROGNAME.xsl"
PKG_LST="unpacked"
# REBUILD_MAKEFILE is not set[/PHP]

然后系统就会开始自动进行编译了.

如果中间有退出,可能需要提示你输入lfs的密码
[PHP]cd /mnt/lfs/jhalfs
make[/PHP]

然后按照提示输入lfs设定的密码即可。
发表于 2009-5-14 08:05:41 | 显示全部楼层
Have you ever tried to use jhalfs for building BLFS?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 21:20:48 | 显示全部楼层
由于我编译的LFS是用于定制服务器环境的。不会涉及到xwindows
可能回涉及到安全和服务器的安装部分。
后续我如果使用jhalfs来进行blfs的部分安装的时候我回继续此贴。

咨询一个问题,现在的jhalfs还行不支持在进行第6章的时候使用paco了?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2009-5-15 00:01:10 | 显示全部楼层
I don't think so.  Paco does not belong to any part of LFS/BLFS books.  It is unlikely you may activate it to monitor software installation under jhalfs.
回复 支持 反对

使用道具 举报

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

本版积分规则

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