Professional Documents
Culture Documents
published by Nofa.mous
MC LC
I>
II>Chun
1. Cu hnh ci t my ch o ................................................................................................................6
2. Chun b xy dng ..................................................................................................................................8
3.
4.
III> Xy
I>
Nguyn Nhn
C nhiu ngi hi: "Ti sao li i ci t c mt h iu hnh Linux bng tay t m
ngun trong khi ai cng c th ti xung nhng bn phn phi GNU/Linux c sn trn
Internet ?" C rt nhiu l do ci t mt h iu hnh theo ngh ca LFS.
Vai tr quan trng ca LFS l n ch dy cho ngi ta v cc hot ng bn trong ca h
iu hnh Linux. Khi t xy dng mt h iu hnh, nh ngh bi LFS, s ph thuc
ln nhau v s hot ng ca cc ng dng chung vi nhau trong h iu hnh s tr nn
d hiu hn. iu quan trng nht l LFS s ch dn cch xy dng mt h iu hnh ph
hp vi mong i v cn thit ca tng ngi.
LFS cng hng dn ta xy dng mt h iu hnh nh gn. Khi ci t mt bn phn
phi GNU/Linux c trn th trng, n s kt thc vi mt h iu hnh bao gm nhiu
chng trnh i km khng cn thit v lm tn dung lng a. Trong khi mt h
iu hnh xy dng theo ngh ca LFS ch chim ti a 100 MB.
http://scribd.com/muafiu
Cc phin bn :
Hin nay, d n Linux From Scratch c t chc thnh nhng d n con sau:
BLFS (Beyond Linux From Scratch): l cun sch con ca LSF, n gip ngi
dng c cc kin thc ngi dng c th ty bin LFS theo ca h.
CLFS (Cross Linux From Scratch): Mt phin bng nng cao ca LFS. Ngoi vic
dy cho ngi dng cch to ra Linux, n cn gip ngi dng hiu thm v to ra
mt LFS da trn cross-complier (bin dch cho)
http://scribd.com/muafiu
http://scribd.com/muafiu
a CD l 1 a cu h trc tip
i khi h iu hnh trn cng ca bn b li v bn khng th khi ng n, lc ny
bn cn phi c a CD khi ng vo my ch v sa cc li sau c th khi ng
li 1 cch an ton nhanh chng.
a LiveCD bao gm cc gi ci t v ti liu LFS. Gip bn tit kim c thi
gian thay v phi ti tng gi bin dch, ti liu.
http://scribd.com/muafiu
iu Kin
Vic xy dng LFS khng phi l 1 qu trnh n gin, n i hi ngi xy dng phi
c 1 kin thc cn bn nht nh v Linux , v a s cc lnh thao tc c thc hin
bng cc dng lnh shell.
V kh nng v thi gian gii hn , nn bi bo co ny s ch hng dn v gii thiu
mc cn bn cc thao tc v din bin qu trnh xy dng LFS 1 cch ngn gn v d
hiu nht . T c th pht trin ln cc mc khc phc tp hn .
Chun b :
-My tnh c CPU li n 2.0 Ghz Ram 512Mb v cng 8G . My cha c ci bt
k h iu hnh Linux no .
-1 H iu hnh ch , vic xy dng LFS s c tin hnh trn mi trng ny ( chy
trn LFS Live CD)
-1 a LFS LiveCD 6.2 , a ny s lm nhim v cung cp 1 h iu hnh ch xy
dng LFS v cung cp cc gi ci t sn c trong CD .
-1 file ti liu hng dn xy dng LFS 6.2 t a ch :
http://www.linuxfromscratch.org/lfs/downloads/6.2/LFS-BOOK-6.2.pdf.bz2
-Cc gi ci t cn thit ( c sn trong LiveCD)
- a LFS LiveCD 6.2 c th ti ti trang ch LFS : http://ftp.osuosl.org/pub/lfs-livecd/
-Trong bo co ny , s dng phin bn : lfslivecd-x86-6.2-3.iso
-Qu trnh xy dng s c thc hin trn phn mm my o: VM Ware v Virtual Box.
http://scribd.com/muafiu
Sau khi chn xong, chng ta tin hnh khi ng my tnh v boot vo CD. Mn hnh s
hin ra thng bo v phin bn a LiveCD 6.2 , nhn Enter vo.
Vic ci t ny din ra nhanh chng n gin, phn Time, chn Default v Locale ,
chn en_US
http://scribd.com/muafiu
Sau nhn enter , chng ta s truy cp trc tip vo quyn root . s dng mi trng
ha xfce4 cho d dng hn, chng ta dng lnh: startxfce4
Vic thc hin xy dng LFS hu ht tin hnh bng dng lnh shell , vic thao tc trn
mi trng ha s gip chng ta d dng theo di c s thay i ca cc tp tin
bng giao din ha 1 cch trc din hn.
http://scribd.com/muafiu
2. Chun b xy dng
2.1 Gii thiu
Trong phn ny , vic phn vng ca h thng LFS c chun b. Chng ta s to ra cc
phn vng ring trn a , to ra mt h thng tp tin, v gn kt n li vi nhau.
2.2 To phn vng mi
Chng ta ang c 1 cng trng 8G v hon ton cha c phn vng cng nh nh
dng .
Vic u tin l chng ta m Terminal tin hnh kim tra a bng lnh:
fdisk l
Chng ta s thy a hon ton cha c nh dng
http://scribd.com/muafiu
3. Chun b cc gi ci t, mi trng ci t
3.1 Chun b
Chng ny s gii thiu cc gi v cc bn v li cn c ti v xy dng c 1 h
thng Linux c bn. Cc gi ti v v cc bn v li s c tm thy ti
http://www.linuxfromscratch.org/lfs/packages.html . Hoc cng c th tm thy t cc
cng c tm kim nh Google, Bing..
Cc gi ti v v cc bn v li s c lu tr chung ti 1 ni c to sn v thun tin
khi cn trong sut qu trnh xy dng. Th mc duy nht s m bo vic gii nn v
xy dng khng b li pht sinh.
$LFS/sources s l ni lu tr v hot ng ca cc gi ci t tar v cc bn v li.
Vic s dng th mc ny, cc yu t cn thit s nm trn phn vng LFS v c mt
trong tt c cc giai on ca qu trnh xy dng.
Vic u tin l phi to 1 th mc ,thc hin lnh sau di quyn root:
mkdir -v $LFS/{tools,sources}
Lm cho th mc va to c th ghi v nh sticky . ( Sticky c ngha l ngay c khi
nhiu ngi c quyn ghi trn th mc, ch c ngi s hu ca file mi c quyn xa
file c gn trong th mc sticky ). Lnh sau s kch hot ch ghi v nh sticky.
chmod -v a+wt $LFS/sources
-ng dn $LFS/tools
Tt c cc chng trnh bin dch trong phn 4 s c ci t di ng dn
$LFS/tools gi chng ring bit vi cc chng trnh bin dch phn cn li. Cc
chng trnh bin dch y l nhng cng c tm thi . Vic s dng ng dn ring
s gip loi b d dng cc chng trnh sau khi s dng.
Vic to th mc tools s c thc hin chung vi th mc sources trn.
Sau khi to xong th mc tools , chng ta phi to ra lin kt h thng d dng lm
vic bng lnh :
To 1 lin kt tools ti th mc cha cc gi ci t sn bng lnh :
ln sv $LFS/tools /
Cui cng, sao chp ton b d liu t th mc lfs-sources sang th mc va to trn.
cp v lfs-sources/* $LFS/sources
http://scribd.com/muafiu
10
3.2 Cc gi ci t
Ton b cc gi ci t v bn v s c trong th mc lfs/sources va to bc
trn. - kim tra xem th mc mi c cc gi ci t cha , dng lnh :
cd $LFS/sources
lit k cc gi ci t trong th mc dng lnh
ls
chng ta s thy danh sch ton b cc gi ci t cn thit cho qu trnh xy dng LFS .
ngha ca $LFS
Ton b cc bin mi trng s c s dng nhiu ln . Chnh v vy cc bin ny phi
c thit lp gn vi phn vng LFS . chc chn LFS gn vi phn vng
/mnt/lfs , g lnh:
echo $LFS
Nu ng, s bo ra a ch ca ng dn $LFS: /mnt/lfs
http://scribd.com/muafiu
11
http://scribd.com/muafiu
12
http://scribd.com/muafiu
13
14
http://scribd.com/muafiu
15
Lc ny chng ta tin hnh bin dch gi bng cc lnh shell nh trong ti liu
mkdir -v ../binutils-build
cd ../binutils-build
../binutils-2.16.1/configure --prefix=/tools --disable-nls
make && make install
make -C ld clean
make -C ld LIB_PATH=/tools/lib
cp -v ld/ld-new /tools/bin
Sau khi tin hnh bin dch xong, tr v th mc gc , tin hnh g b th mc cng m
ngun lin quan ca gi va bin dch .
cd ..
rm rfv binutils-2.16.1 binutils-build
http://scribd.com/muafiu
16
17
http://scribd.com/muafiu
18
i quyn s hu
Tm thi, lin kt $LFS/tools c s hu bi user lfs - user duy nht ang tn ti trn
my ch. Nu lin kt $LFS/tools c gi nh l cc tp tin c s hu bi 1 ID ngi
dng no m ko c ti khon tng ng, iu ny s rt nguy him, bi v 1 ti khon
ngi dng c to ra sau c th nhn c cng 1 ID ngi s dng ny v s s hu
$LFS/tools , vic ny c th dn n h thng khng an ton .
trnh vn ny xy ra, ta thm ngi dng lfs vo h thng mi LFS sau khi to ra
tp tin /etc/passwd . Gn cho n cng 1 ngi dng v nhm nh trn cc h thng .
u tin chng ta thot khi user lfs vi lnh : exit
chuyn quyn ngi dng root, chy lnh sau y :
chown -R root:root $LFS/tools
http://scribd.com/muafiu
19
http://scribd.com/muafiu
20
http://scribd.com/muafiu
21
http://scribd.com/muafiu
22
http://scribd.com/muafiu
23
http://scribd.com/muafiu
24
http://scribd.com/muafiu
25
http://scribd.com/muafiu
26
Sau khi gii nn xong, chng ta vo th mc gii nn v tin hnh bin dch.
Thm tiu khng gian ca ngi dng v h tr tnh nng syscall trong cc ht nhn
Linux mi hn:
patch -Np1 -i ../linux-libc-headers-2.6.12.0-inotify-3.patch
http://scribd.com/muafiu
27
Ci t tp tin phn u
install -dv /usr/include/asm
cp -Rv include/asm-i386/* /usr/include/asm
cp -Rv include/linux /usr/include
http://scribd.com/muafiu
28
http://scribd.com/muafiu
29
Bash-3.1
Bzip2-1.0.3
Diffutils-2.8.1
E2fsprogs-1.39
Gawk-3.1.5
Gettext-0.14.5
Grep-2.5.1a
Groff-1.18.1.1
http://scribd.com/muafiu
30
http://scribd.com/muafiu
31
http://scribd.com/muafiu
32
Lm sch h thng
Thot ra mi trng chroot 1 ln na :
logout
ng nhp li vo mi trng chroot bng lnh mi di y :
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash login
Gii thch cho vic ny l v cc chng trnh trong th mc /tools khng cn thit na.
K t by gi, chng ta c th xa th mc /tools nu mun .
Lu : Cc tp tin tm ca cc gi Tcl, Exprt v DejaGNU s vn c s dng kim
tra cc chng trnh nhng ln bin dch khc, v th nu xa b th mc /tools , sau
ny nu cn s dng li cc gi , chng ta phi bin dch v ci t li .
http://scribd.com/muafiu
33
http://scribd.com/muafiu
34
Cp
0
1
2
3
4
5
6
Ngha
Ngn chn my tnh
Ch n ngi dng
Ch a ngi dng khng c mng
Ch a ngi dng c mng
Ch ty bin, gn ging cp 3
Tng t cp 4, s dng giao din ng nhp
Khi ng li my tnh
http://scribd.com/muafiu
35
http://scribd.com/muafiu
36
http://scribd.com/muafiu
37
Tip tc thit lp cc min a phng bng cch s dng kim tra trc khi thm vo
tp tin khi ng Bash vi cc lnh :
LC_ALL=en_US locale language
LC_ALL=en_US locale charmap
LC_ALL=en_US locale int_curr_symbol
LC_ALL=en_US locale int_prefix
http://scribd.com/muafiu
38
http://scribd.com/muafiu
39
http://scribd.com/muafiu
40
41
http://scribd.com/muafiu
42
http://scribd.com/muafiu
43
http://scribd.com/muafiu
44
Nu chng ta bin dch thnh cng, mn hnh shell s hin ln menu ci t ca ht nhn
kernel di giao din ha nh sau :
http://scribd.com/muafiu
45
http://scribd.com/muafiu
46
http://scribd.com/muafiu
47
8. Khi ng h thng
By gi tt c cc phn mm c ci t. H thng cng sn sng khi ng.
Tuy nhin, h thng hin ti vn cn lin kt vi nhiu tp tin, ng dn khc v cha
th hot ng c lp, lm iu .
Chng ta thot ra khi mi trng chroot:
logout
Sau tho gn kt cc h thng tp tin o s dng :
umount -v $LFS/dev/pts
umount -v $LFS/dev/shm
umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys
Tho gn kt chnh h thng tp tin LFS:
umount -v $LFS
http://scribd.com/muafiu
48
-r
no
http://scribd.com/muafiu
49
http://scribd.com/muafiu
50
kim tra chc n li 1 ln na, chng ta tin hnh khi ng li my tnh v nhn F12
chn ch boot . Lc ny chng ta s thy, mc nh, my tnh boot t cng.
http://scribd.com/muafiu
51
Vic xy dng LFS trn cng c hon thnh, tuy nhin , hn ch l xy dng trn
cng th LFS ch c th hot ng c nh v khng linh hot.
tin li v linh hot , cng nh d dng s dng bt k h thng my ch no ,
chng ta phi xy dng LFS trn USB .
C th hiu n gin l trong qu trnh xy dng LFS, chng ta s gn thm 1 usb vo
di 1 hnh thc cng ty chn, v sau khi xy dng xong LFS, c th chuyn ton b
tp tin h thng LFS sang phn vng to trn USB.
Cc bc LFS c th hot ng v khi ng trn USB c th tm tt nh sau :
Bc 1:
Chun b sn 1 thit b USB , tin hnh format v phn vng cho usb, chn nh dng s
phn vng l ext2.
Bc 2:
Gn kt usb vi my ch . gn kt usb, trc ht phi to 1 th mc nh x usb c
th nhn din .
VD: /mnt/usb
Bc 3:
Sao chp cc tp tin h thng LFS t cng sang USB . C th dng Live CD hoc 1 h
iu hnh ch khc . Khng nn sao chp trc tip h thng LFS nu ang chy di mi
trng /dev/ ( mi trng ca chnh LFS ) . S dng cu lnh:
rsync -var < a ch ngun LFS /*> < a ch gn kt USB >
hoc
cp -var < a ch ngun LFS /*> < a ch gn kt USB >
VD:
rsync -var /mnt/lfs/* /mnt/usb
hoc
cp -var /mnt/lfs/* /mnt/usb
http://scribd.com/muafiu
52
http://scribd.com/muafiu
53
http://scribd.com/muafiu
54
http://scribd.com/muafiu
55