+ -
当前位置:首页 → 问答吧 → 使用jhalfs编译LFS[详细操作步骤]

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

时间:2009-05-13

来源:互联网

1, 下载相关文件
使用系统: FC8 /编译LFS-SVN
建立需要的临时目录:
PHP 代码:
cd /tmp
mkdir /tmp/lfs-pkg
mkdir /tmp/lfs-pkg/svn 
下载 jhalfs和最新的LFS-SVN:
PHP 代码:
svn co svn://svn.linuxfromscratch.org/ALFS/jhalfs/trunk jhalfs
svn co svn://svn.linuxfromscratch.org/LFS/trunk/BOOK/ 
下载最新的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 
在BOOK目录下就会存在一个文件urls.lst然后编写一个脚本进行自动下载即可。

2,编译前的准备工作
由于jhalfs是从第5章开始的所以添加用户之类的要在允许jhalfs之前进行。
处理分区:
我进行lfs的分区是sda11
PHP 代码:
mkfs.ext3 /dev/sda11
mount /dev/sda11  /mnt/lfs 
添加用户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 
配置FC8的sudo
在/etc/sudoers中添加一行
PHP 代码:
lfs     ALL=(ALL)       ALL 
3, 配置jhalfs
PHP 代码:
chown lfs.lfs -R /tmp/lfs-pkg
su - lfs
cd /tmp/lfs-pkg/jhalfs
make 
配置jhalfs注意事项:
不要选择最外层的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 
然后系统就会开始自动进行编译了.

如果中间有退出,可能需要提示你输入lfs的密码
PHP 代码:
cd /mnt/lfs/jhalfs
make 
然后按照提示输入lfs设定的密码即可。

作者: hongfeng   发布时间: 2009-05-13

Have you ever tried to use jhalfs for building BLFS?

作者: d00m3d   发布时间: 2009-05-14

由于我编译的LFS是用于定制服务器环境的。不会涉及到xwindows
可能回涉及到安全和服务器的安装部分。
后续我如果使用jhalfs来进行blfs的部分安装的时候我回继续此贴。

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

作者: hongfeng   发布时间: 2009-05-15

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.

作者: d00m3d   发布时间: 2009-05-15

热门下载

更多