SlideShare a Scribd company logo
2
Most read
4
Most read
5
Most read
Tutorial Membangun Linux From Scratch dari Awal
(Lengkap + bahasa indonesia)
5/17/2013 05:13:00 PM
lama sudah saya tidak ngepost lagi, maklum akhir-akhir ini saya sudah mulai sibuk sekali dengan
tugas kuliah saya. dengan 4 matkul praktikum disemester ini dan setiap matkul mempunya
modul setiap minggu yang harus dibuat laporannya dan juga setiap matkul mempunya tugas
besar yang harus diselesaikan sebelum UAS. ini lah mahasiswa yang sebenarnya hahahaha :D
oke kali ini saya akan mencoba memposting tentang membangun LFS (Linux From Scratch).
LFS sendiri adalah sebuah sistem linux yang masih berbentuk package dan kita harus
menyatukan satu demi satu package tersebut hingga terbentuk sebuah Sistem Operasi baru
berbasiskan linux :D.
jadi kita akan membangun Linux dari awal :D
kebetulan ini adalah tugas besar yang diberikan dosen saya, dan alhamdulillah sudah selesai :D.
jadi saya akan mencoba membuat tutorialnya siapa tahu akan berguna buat para pembaca.
langkah-langkah yang harus kita lakukan ketika ingin membangun LFS adalah pertama, kita
harus menginstal sistem operasi linux terlebih dahulu dikomputer kita, karna LFS hanya dapat
dibangun di sistem operasi linux. disini saya menggunakan ubuntu 12.10.
dan ini langkah selanjutnya
1. download package LFS(anda bisa cari digoogle.com :D)
2. partisi harddisk minimum 10 GB
3. masuk diterminal lalu masukkan code ini di terminal
cat > version-check.sh << "EOF"
#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4
echo "/bin/sh -> `readlink -f /bin/sh`"
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -e /usr/bin/yacc ];
then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
else echo "yacc not found"; fi
bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -e /usr/bin/awk ];
then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
else echo "awk not found"; fi
gcc --version | head -n1
ldd --version | head -n1 | cut -d" " -f2- # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
sed --version | head -n1
tar --version | head -n1
echo "Texinfo: `makeinfo --version | head -n1`"
xz --version | head -n1
echo 'main(){}' > dummy.c && gcc -o dummy dummy.c
if [ -x dummy ]
then echo "gcc compilation OK";
else echo "gcc compilation failed"; fi
rm -f dummy.c dummy
EOF
bash version-check.sh
code diatas untuk mengecek system requirmentsnya.
setelah itu kalian cek dibagian bash versionnya, jika ada tulisan /bin/sh->/bin/dash maka ganti
lah, karna seharunya /bin/sh -> /bin/bash
dengan cara
rm /bin/sh
lalu
ln -s /bin/bash /bin/sh
4. cocokan package anda yang nampak di terminal dengan ini.
Bash-3.2 (/bin/sh should be a symbolic or hard link to bash)
Binutils-2.17 (Versions greater than 2.23.1 are not recommended as they have not been tested)
Bison-2.3 (/usr/bin/yacc should be a link to bison or small script that executes bison)
Bzip2-1.0.4
Coreutils-6.9
Diffutils-2.8.1
Findutils-4.2.31
Gawk-3.1.5 (/usr/bin/awk should be a link to gawk)
Gcc-4.1.2 (Versions greater than 4.7.2 are not recommended as they have not been tested)
Glibc-2.5.1 (Versions greater than 2.17 are not recommended as they have not been tested)
Grep-2.5.1a
Gzip-1.3.12
Linux Kernel-2.6.25 (having been compiled with GCC-4.1.2 or greater)
M4-1.4.10
Make-3.81
Patch-2.5.4
Perl-5.8.8
Sed-4.1.5
Tar-1.18
Texinfo-4.9
Xz-5.0.0 *catatan: jika package tidak ada ditempat kalian atau versinya dibawah requiment
system silahkan di upgrade atau di install(apt-get update nama package atau apt-get install nama
package).
5. membuat file system di partisi
masukkan code ini di terminal anda
Quote:
Code:
mke2fs -jv /dev/sda3
(jika partisi anda sda2 maka ganti sda3 ke sda2)
6. mounting partisi baru
masukkan code ini diterminal
Code:
export LFS=/mnt/lfs
selanjut
Quote:
Code:
mkdir -pv $LFS
mount -v -t ext3 /dev/<xxx> $LFS
(jika anda menggunakan ext4 maka rubah ext3 ke ext4. lalu ganti <xxx> ke sda3 atau nama hdd
anda. kalau saya menggunakan sda3.)*untuk mengetahui lebih dalam partisi anda coba masukkan
perintah ini di terminal cfdisk.7. packages dan patches
ketik code ini di terminal
Code:
mkdir -v $LFS/sources
setelah itu
Code:
chmod -v a+wt $LFS/sources
setelah itu
extract package lfs yang selesai didownload di /mnt/lfs/sources
lalu
Code:
pushd $LFS/sources
md5sum -c md5sums
popd
8. Pengecekan LFS
ketik
Code:
echo $LFS
pastikan yang keluar /mnt/lfs
jika tidak maka bisa ketik ini diterminal
Code:
export LFS=/mnt/lfs
9.membuat $LFS/tools
ketik ini diterminal
Code:
mkdir -v $LFS/tools
lalu
Code:
ln -sv $LFS/tools /
10.menambah LFS user
ketik diterminal
Code:
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
8. Pengecekan LFS
ketik
Code:
echo $LFS
pastikan yang keluar /mnt/lfs
jika tidak maka bisa ketik ini diterminal
Code:
export LFS=/mnt/lfs
9.membuat $LFS/tools
ketik ini diterminal
Code:
mkdir -v $LFS/tools
lalu
Code:
ln -sv $LFS/tools /
10.menambah LFS user
ketik diterminal
Code:
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
lalu
Code:
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
setelah itu
Code:
source ~/.bash_profile
nah jika anda sudah berhasil melakukan cara seperti diatas, sekarang saatnya anda melakukan
penginstalan package yang terdapat di package LFS yang telah anda download. disarankan LFS
versi 7.3.
BAB 5
sebagai catatan, jika anda sudah melakukan penginstalan lalu mencoba untuk istirahat atau
merestart komputer anda dan ketika anda ingin melanjutkan kembali membangun LFS. anda
harus mengexport kembali LFS=/mnt/lfs dan mount -v -t ext3 /dev/sda3 $LFS (ikuti cara
diatas)!!!
oke silahkan dilanjutkan kembali proses penginstalannya.
penginstalan diawal dengan binutils-2.23.1 pass 1.
anda harus masuk ke direktori /mnt/lfs/sources dulu, baru anda ekstrak binutils dengan cara tar xf
<nama file yg dingin diekstrak>
contoh tar xf binutils-2.23.1.tar.gz
setelah selesai diekstrak, masuk ke direktori yang habis diekstrak tadi.
contoh cd binutils-2.23.1
setelah itu baru anda ikuti tutorial dibawah ini.
BINUTILS-2.23.1 PASS 1
saya sangat-sangat menyarankan agar anda mengikuti instruksi yg ada pada web tersebut.
jika anda sudah selesai silahkan lanjutkan penginstalan selanjutnya.
 GCC-4.7.2 - Pass 1
 Linux-3.8.1 API Headers
 Glibc-2.17
 Binutils-2.23.1 - Pass 2
 GCC-4.7.2 - Pass 2
 Tcl-8.6.0
 Expect-5.45
 DejaGNU-1.5
 Check-0.9.9
 Ncurses-5.9
 Bash-4.2
 Bzip2-1.0.6
 Coreutils-8.21
 Diffutils-3.2
 File-5.13
 Findutils-4.4.2
 Gawk-4.0.2
 Gettext-0.18.2
 Grep-2.14
 Gzip-1.5
 M4-1.4.16
 Make-3.82
 Patch-2.7.1
 Perl-5.16.2
 Sed-4.2.2
 Tar-1.26
 Texinfo-5.0
 Xz-5.0.4
jika anda sudah menyelesaikan cara diatas, anda akan memasukki tahap STRIPPING.
yang harus anda lakukan adalah kembali ke direktori /mnt/lfs setelah itu masukkan perintah ini
strip --strip-debug /tools/lib/*
strip --strip-unneeded /tools/{,s}bin/*
rm -rf /tools/{,share}/{info,man,doc}
jika sudah. silahkan keluar dari pengguna LFS dengan cara ketik exit.
pastikan posisi anda sekarang sebagai root bukan LFS.
setelah itu kita masuk dibagian CHANGING OWNERSHIP.
lakukan perintah ini
chown -R root:root $LFS/tools
jika sudah selesai sekarang kita sudah masuk dibab 6.
BAB 6
sebagai root, masukkan perintah dibawah ini
mkdir -v $LFS/{dev,proc,sys}
mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
if [ -h $LFS/dev/shm ]; then
link=$(readlink $LFS/dev/shm)
mkdir -p $LFS/$link
mount -vt tmpfs shm $LFS/$link
unset link
else
mount -vt tmpfs shm $LFS/dev/shm
fi
jika sudah selesai, sekarang saatnya kita masuk sebagai CHROOT dengan perintah dibawah ini
chroot "$LFS" /tools/bin/env -i 
HOME=/root 
TERM="$TERM" 
PS1='u:w$ ' 
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin 
/tools/bin/bash --login +h
catatan: jika anda ingin istirahat dan mematikan laptop anda, lalu anda ingin melanjutkan
kembali, anda harus melakukan perintah seperti dibawah ini.
export LFS=/mnt/lfs
mount -v -t ext3 /dev/<sda1,2,3 tergantung pada hdd anda> $LFS
mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys if [ -h $LFS/dev/shm ]; then
link=$(readlink $LFS/dev/shm)
mkdir -p $LFS/$link
mount -vt tmpfs shm $LFS/$link
unset link
else
mount -vt tmpfs shm $LFS/dev/shm
fi
setelah itu baru anda masuk sebagai CHROOT.
oke, jika sudah masuk sebagai chroot, sekarang saatnya anda masuk dibagian CREATING
DIRECTORIES dengan mengikuti perintah dibawah ini
mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt,run}
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{doc,info,locale,man}
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
for dir in /usr /usr/local; do
ln -sv share/{man,doc,info} $dir
done
case $(uname -m) in
x86_64) ln -sv lib /lib64 && ln -sv lib /usr/lib64 ;;
esac
mkdir -v /var/{log,mail,spool}
ln -sv /run /var/run
ln -sv /run/lock /var/lock
mkdir -pv /var/{opt,cache,lib/{misc,locate},local}
setelah itu anda masuk dibagian CREATING ESSENTIAL FILES AND SYMLINKS dengan
mengikuti perintah dibawah ini
ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
ln -sv /tools/bin/perl /usr/bin
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
ln -sv bash /bin/sh
touch /etc/mtab
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
EOF
cat > /etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
mail:x:34:
nogroup:x:99:
EOF
exec /tools/bin/bash --login +h
touch /var/log/{btmp,lastlog,wtmp}
chgrp -v utmp /var/log/lastlog
chmod -v 664 /var/log/lastlog
chmod -v 600 /var/log/btmp
jika anda sudah mengikuti perintah diatas dengan benar, maka tulisan "I have no name" akan
hilang.
jika sudah selesai, maka saatnya anda melakukan penginstalan package kembali di BAB 6 ini.
saya ingatkan kembali, jika anda ingin menginstal package, anda harus berada dalam direktori
/mnt/lfs/sources
setelah itu ekstrak package yang ingin anda instal, setelah itu masuk ke direktori yang baru saja
diekstrak, lalu kerjakan perintah-perintah yang ada di web yang saya rekomendasikan.
 Linux-3.8.1 API Headers
 Man-pages-3.47
 Glibc-2.17
 Adjusting the Toolchain
 Zlib-1.2.7
 File-5.13
 Binutils-2.23.1
 GMP-5.1.1
 MPFR-3.1.1
 MPC-1.0.1
 GCC-4.7.2
 Sed-4.2.2
 Bzip2-1.0.6
 Pkg-config-0.28
 Ncurses-5.9
 Util-linux-2.22.2
 Psmisc-22.20
 Procps-ng-3.3.6
 E2fsprogs-1.42.7
 Shadow-4.1.5.1
 Coreutils-8.21
 Iana-Etc-2.30
 M4-1.4.16
 Bison-2.7
 Grep-2.14
 Readline-6.2
 Bash-4.2
 Libtool-2.4.2
 GDBM-1.10
 Inetutils-1.9.1
 Perl-5.16.2
 Autoconf-2.69
 Automake-1.13.1
 Diffutils-3.2
 Gawk-4.0.2
 Findutils-4.4.2
 Flex-2.5.37
 Gettext-0.18.2
 Groff-1.22.2
 Xz-5.0.4
 GRUB-2.00
 Less-451
 Gzip-1.5
 IPRoute2-3.8.0
 Kbd-1.15.5
 Kmod-12
 Libpipeline-1.2.2
 Make-3.82
 Man-DB-2.6.3
 Patch-2.7.1
 Sysklogd-1.5
 Sysvinit-2.88dsf
 Tar-1.26
 Texinfo-5.0
 Udev-197 (Extracted from systemd-197)
 Vim-7.3
jika anda sudah selesai menginstal semua package didalam bab 6, sekarang anda harus stripping
lagi dengan cara mengikuti perintah dibawah ini
logout
chroot $LFS /tools/bin/env -i 
HOME=/root TERM=$TERM PS1='u:w$ ' 
PATH=/bin:/usr/bin:/sbin:/usr/sbin 
/tools/bin/bash --login
/tools/bin/find /{,usr/}{bin,lib,sbin} -type f 
-exec /tools/bin/strip --strip-debug '{}' ';'
jika sudah, saatnya CLEANING UP dengan mengikuti perintah dibawah ini
chroot "$LFS" /usr/bin/env -i 
HOME=/root TERM="$TERM" PS1='u:w$ ' 
PATH=/bin:/usr/bin:/sbin:/usr/sbin 
/bin/bash --login
ingat sebelum anda memasukkan kode diatas, anda harus sebagai root!
catatan: jika anda ingin istirahat dan mematikan laptop anda, lalu anda ingin melanjutkan
kembali, anda harus melakukan perintah seperti dibawah ini.
export LFS=/mnt/lfs
mount -v -t ext3 /dev/<sda1,2,3 tergantung pada hdd anda> $LFS
mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys if [ -h $LFS/dev/shm ]; then
link=$(readlink $LFS/dev/shm)
mkdir -p $LFS/$link
mount -vt tmpfs shm $LFS/$link
unset link
else
mount -vt tmpfs shm $LFS/dev/shm
fi
setelah itu baru anda masuk sebagai CHROOT.
BAB 7
dibagian bab 7 ini adalah bagian dimana kita mensetting network dan proses booting nantinya.
ikuti langkah-langkah dibawah ini
cat /etc/udev/rules.d/70-persistent-net.rules
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
domain <ganti ini dengan domain yang anda inginkan contoh:
www.linuxfromscratch.org>
nameserver <ganti ini dengan primary IP server contoh: 192.168.1.1>
nameserver <ganti ini dengan secondary IP server contoh: 192.168.1.2>
# End /etc/resolv.conf
EOF
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)
127.0.0.1 localhost
192.168.1.1 <ganti ini dengan HOSTNAME yang ingin anda kehendaki contoh: LFS>
# End /etc/hosts (network card version)
EOF
jika sudah selesai, saatnya menginstal LFS BOOTSCRIPTS-20130123.
masuk kedirektori /mnt/lfs/sources
lalu ekstrak LFS bootscripts
setelah itu masuk di folder LFS bootscripts.
lalu ikuti perintah seperti yang terdapat pada web dibawah ini
LFS-Bootscripts-20130123
jika sudah selesai, kembali lagi ke /mnt/lfs
setelah itu ikuti perintah seperti dibawah ini
cat > /etc/inittab << "EOF"
# Begin /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc S
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty --noclear tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
# End /etc/inittab
EOF
echo "HOSTNAME=<lfs>" > /etc/sysconfig/network
cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock
UTC=1
# Set this to any options you might need to give to hwclock,
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=
# End /etc/sysconfig/clock
EOF
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
KEYMAP="pl2"
FONT="lat2a-16 -m 8859-2"
# End /etc/sysconfig/console
EOF
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
FONT="lat0-16 -m 8859-15"
# End /etc/sysconfig/console
EOF
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="LatArCyrHeb-16"
# End /etc/sysconfig/console
EOF
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="cyr-sun16"
# End /etc/sysconfig/console
EOF
cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console
UNICODE="1"
KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
LEGACY_CHARSET="iso-8859-15"
FONT="LatArCyrHeb-16 -m 8859-15"
# End /etc/sysconfig/console
EOF
SYSKLOGD_PARMS=
jika sudah selesai, selanjut adalah masuk dibagian BASH SHELL STARTUP FILES dengan
mengikuti seperti yang terdapat dalam link dibawah ini.
The Bash Shell Startup Files
jika sudah selesai, lanjutkan kembali dengan mengikuti perintah dibawah ini
cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
# Modified by Chris Lynn <roryo@roryo.dynup.net>
# Allow the command prompt to wrap to the next line
set horizontal-scroll-mode Off
# Enable 8bit input
set meta-flag On
set input-meta On
# Turns off 8th bit stripping
set convert-meta Off
# Keep the 8th bit for display
set output-meta On
# none, visible or audible
set bell-style none
# All of the following map the escape sequence of the value
# contained in the 1st argument to the readline specific functions
"eOd": backward-word
"eOc": forward-word
# for linux console
"e[1~": beginning-of-line
"e[4~": end-of-line
"e[5~": beginning-of-history
"e[6~": end-of-history
"e[3~": delete-char
"e[2~": quoted-insert
# for xterm
"eOH": beginning-of-line
"eOF": end-of-line
# for Konsole
"e[H": beginning-of-line
"e[F": end-of-line
# End /etc/inputrc
EOF
jika sudah selesai, saatnya kita masuk dibagian BAB 8
BAB 8
jika sudah masuk dibab ini, ikuti perintah dibawah ini
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/sda1,2,3 tergantung hdd anda / ext1,2,3,4 tergantung hdd
anda defaults 1 1
proc /proc proc nosuid,noexec,nodev 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /run tmpfs defaults 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
# End /etc/fstab
EOF
jika sudah selesai, saatnya anda menginstal package LINUX-3.8.1
masuk ke direktori /mnt/lfs/sources, lalu ekstrak package LINUX-3.8.1 setelah itu masuk ke
direktori linux-3.8.1
lalu ikuti perintah yang terdapat didalam link dibawah ini
Linux-3.8.1
jika sudah selesai, lanjut ikuti perintah dibawah ini
grub-install /dev/sda
cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5
insmod ext2 tergantung hdd anda
set root=(hd0,2(mengikuti ext hdd anda, jika hdd anda ext3 maka ganti angka 2
menjadi 3)
menuentry "GNU/Linux, Linux 3.8.1-lfs-7.3" {
linux /boot/vmlinuz-3.8.1-lfs-7.3 root=/dev/sda2 tergantung hdd
anda ro
}
EOF
jika sudah selesai, sekarang saatnya masuk di bab 9
BAB 9
Dibab ini, adalah bab terakhir, ikuti perintah dibawah ini
echo 7.3 > /etc/lfs-release
cat > /etc/lsb-release << "EOF"
DISTRIB_ID="Linux From Scratch"
DISTRIB_RELEASE="7.3"
DISTRIB_CODENAME="<your name here>"
DISTRIB_DESCRIPTION="Linux From Scratch"
EOF
logout
umount -v $LFS/dev/pts
if [ -h $LFS/dev/shm ]; then
link=$(readlink $LFS/dev/shm)
umount -v $LFS/$link
unset link
else
umount -v $LFS/dev/shm
fi
umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys
umount -v $LFS
umount -v $LFS/usr
umount -v $LFS/home
umount -v $LFS
shutdown -r now
jika sudah selesai, maka berdoa lah semoga LFS yang anda bangun berhasil bekerja.hahaha
jujur saya membangun LFS ini berkali-kali karna sering menemukan error, hingga akhirnya
alhamdulillah berhasil.
jadi jika kalian menemukan error, jangan panik, jangan stres, langsung komen diblog ini,
insyallah jika saya paham, saya pasti akan membantu.
tapi jika saya tidak menemukan jawabannya, silahkan anda membuat pertanyaan tentang seputar
error yang anda temukan selama membangun LFS di www.linuxquestions.org.
maaf jika tutorial saya membingungkan kalian. hehehehe
untuk lebih lengkapnya tentang tutorial membangun LFS anda bisa mengunjungi situs resmi LFS
di www.linuxfromscratch.org
akhir kata dari saya, terimakasih :D

More Related Content

What's hot (20)

DOCX
Laporan praktikum elektronika
Najih Razzaaq Nur Azhiim
 
PPTX
6 wiring diagram
Simon Patabang
 
PDF
Laporan rangkaian digital clock
PT.goLom na
 
PPTX
Ohm-meter
Ghins GO
 
PDF
Transformasi laplace
dwiprananto
 
PPT
3 Vektor Posisi
Simon Patabang
 
PPTX
13 jembatan arus bolak – balik
Simon Patabang
 
PDF
Fisika 12 1c
Dedi Wahyudin
 
PDF
analisis sistem kendali 2
Rumah Belajar
 
PDF
Pengenalan multisim
eko_dp
 
DOCX
Laporan praktikum multivibrator
kukuhruyuk15
 
PPT
Sistem proteksi tenaga listrik
Politeknik Negeri Ujung Pandang
 
DOCX
Contoh soal cahaya kelas p3b
Hisbulloh Huda
 
PPT
Motor induksi
Bambang Haryono
 
DOCX
Laporan praktikum Penyearah Gelombang
ayu purwati
 
PDF
Teknik multiplex
kolodit
 
PDF
1 konsep sinyal
Simon Patabang
 
PPT
Rangkaian Listrik Resonansi
Fauzi Nugroho
 
DOC
resonansi Listrik
Alqharomi
 
PDF
Silabus mapel pre
IchsanRomdhona
 
Laporan praktikum elektronika
Najih Razzaaq Nur Azhiim
 
6 wiring diagram
Simon Patabang
 
Laporan rangkaian digital clock
PT.goLom na
 
Ohm-meter
Ghins GO
 
Transformasi laplace
dwiprananto
 
3 Vektor Posisi
Simon Patabang
 
13 jembatan arus bolak – balik
Simon Patabang
 
Fisika 12 1c
Dedi Wahyudin
 
analisis sistem kendali 2
Rumah Belajar
 
Pengenalan multisim
eko_dp
 
Laporan praktikum multivibrator
kukuhruyuk15
 
Sistem proteksi tenaga listrik
Politeknik Negeri Ujung Pandang
 
Contoh soal cahaya kelas p3b
Hisbulloh Huda
 
Motor induksi
Bambang Haryono
 
Laporan praktikum Penyearah Gelombang
ayu purwati
 
Teknik multiplex
kolodit
 
1 konsep sinyal
Simon Patabang
 
Rangkaian Listrik Resonansi
Fauzi Nugroho
 
resonansi Listrik
Alqharomi
 
Silabus mapel pre
IchsanRomdhona
 

Similar to Tutorial membangun linux from scratch dari awal (20)

PPTX
Presentation1
Novita Jamal
 
PPTX
Persentasi Sistem Operasi
Novita Jamal
 
PDF
Mengcompiledan menginstalkernellinux
vanheatsink
 
DOCX
Ms dos & linux
kristiwilsa
 
PDF
2. Pembangunan Sistem Operasi Berbasis Linux.pdf
HendroGunawan8
 
ODP
Instalasi Linux
guest73cbfd
 
PPT
Cara kompail kernel debian
AnwarMuhammad1
 
PDF
Sebastian mandai perintah2 dasar linux
Sebastian Mandai
 
DOCX
debian 3
danar_abiyoso
 
PPTX
Info nisnawaty basri tgs 1 so2
Nhycha
 
PDF
Tutorial membangun server jaringan
RhizkySpeciallist AnalystTkj
 
PDF
Perintah dasar linux
iRoot Inc.
 
DOCX
Praktikum ii linux file system
MooksHal Mhiestri
 
DOCX
Melihat isi file dari direktori aktif
Emynam Estrela Fronteiras
 
DOCX
Deb 3
Achmad Rochim
 
DOC
Instalasi debian
Riky Arjun
 
PPTX
Manajemen file
Bryan Metayiwa
 
PDF
Linux dasar
Tulisan Komputer
 
PDF
Bab 13 linux di floppy drive
Ade Tamin
 
PDF
Instalasi Free Bsd
sinta chen
 
Presentation1
Novita Jamal
 
Persentasi Sistem Operasi
Novita Jamal
 
Mengcompiledan menginstalkernellinux
vanheatsink
 
Ms dos & linux
kristiwilsa
 
2. Pembangunan Sistem Operasi Berbasis Linux.pdf
HendroGunawan8
 
Instalasi Linux
guest73cbfd
 
Cara kompail kernel debian
AnwarMuhammad1
 
Sebastian mandai perintah2 dasar linux
Sebastian Mandai
 
debian 3
danar_abiyoso
 
Info nisnawaty basri tgs 1 so2
Nhycha
 
Tutorial membangun server jaringan
RhizkySpeciallist AnalystTkj
 
Perintah dasar linux
iRoot Inc.
 
Praktikum ii linux file system
MooksHal Mhiestri
 
Melihat isi file dari direktori aktif
Emynam Estrela Fronteiras
 
Instalasi debian
Riky Arjun
 
Manajemen file
Bryan Metayiwa
 
Linux dasar
Tulisan Komputer
 
Bab 13 linux di floppy drive
Ade Tamin
 
Instalasi Free Bsd
sinta chen
 
Ad

Tutorial membangun linux from scratch dari awal

  • 1. Tutorial Membangun Linux From Scratch dari Awal (Lengkap + bahasa indonesia) 5/17/2013 05:13:00 PM lama sudah saya tidak ngepost lagi, maklum akhir-akhir ini saya sudah mulai sibuk sekali dengan tugas kuliah saya. dengan 4 matkul praktikum disemester ini dan setiap matkul mempunya modul setiap minggu yang harus dibuat laporannya dan juga setiap matkul mempunya tugas besar yang harus diselesaikan sebelum UAS. ini lah mahasiswa yang sebenarnya hahahaha :D oke kali ini saya akan mencoba memposting tentang membangun LFS (Linux From Scratch). LFS sendiri adalah sebuah sistem linux yang masih berbentuk package dan kita harus menyatukan satu demi satu package tersebut hingga terbentuk sebuah Sistem Operasi baru berbasiskan linux :D. jadi kita akan membangun Linux dari awal :D kebetulan ini adalah tugas besar yang diberikan dosen saya, dan alhamdulillah sudah selesai :D. jadi saya akan mencoba membuat tutorialnya siapa tahu akan berguna buat para pembaca. langkah-langkah yang harus kita lakukan ketika ingin membangun LFS adalah pertama, kita harus menginstal sistem operasi linux terlebih dahulu dikomputer kita, karna LFS hanya dapat dibangun di sistem operasi linux. disini saya menggunakan ubuntu 12.10. dan ini langkah selanjutnya 1. download package LFS(anda bisa cari digoogle.com :D) 2. partisi harddisk minimum 10 GB 3. masuk diterminal lalu masukkan code ini di terminal cat > version-check.sh << "EOF" #!/bin/bash
  • 2. # Simple script to list version numbers of critical development tools export LC_ALL=C bash --version | head -n1 | cut -d" " -f2-4 echo "/bin/sh -> `readlink -f /bin/sh`" echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- bison --version | head -n1 if [ -e /usr/bin/yacc ]; then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; else echo "yacc not found"; fi bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 if [ -e /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; else echo "awk not found"; fi gcc --version | head -n1 ldd --version | head -n1 | cut -d" " -f2- # glibc version grep --version | head -n1 gzip --version | head -n1 cat /proc/version m4 --version | head -n1
  • 3. make --version | head -n1 patch --version | head -n1 echo Perl `perl -V:version` sed --version | head -n1 tar --version | head -n1 echo "Texinfo: `makeinfo --version | head -n1`" xz --version | head -n1 echo 'main(){}' > dummy.c && gcc -o dummy dummy.c if [ -x dummy ] then echo "gcc compilation OK"; else echo "gcc compilation failed"; fi rm -f dummy.c dummy EOF bash version-check.sh code diatas untuk mengecek system requirmentsnya. setelah itu kalian cek dibagian bash versionnya, jika ada tulisan /bin/sh->/bin/dash maka ganti lah, karna seharunya /bin/sh -> /bin/bash dengan cara rm /bin/sh lalu ln -s /bin/bash /bin/sh 4. cocokan package anda yang nampak di terminal dengan ini. Bash-3.2 (/bin/sh should be a symbolic or hard link to bash) Binutils-2.17 (Versions greater than 2.23.1 are not recommended as they have not been tested) Bison-2.3 (/usr/bin/yacc should be a link to bison or small script that executes bison) Bzip2-1.0.4
  • 4. Coreutils-6.9 Diffutils-2.8.1 Findutils-4.2.31 Gawk-3.1.5 (/usr/bin/awk should be a link to gawk) Gcc-4.1.2 (Versions greater than 4.7.2 are not recommended as they have not been tested) Glibc-2.5.1 (Versions greater than 2.17 are not recommended as they have not been tested) Grep-2.5.1a Gzip-1.3.12 Linux Kernel-2.6.25 (having been compiled with GCC-4.1.2 or greater) M4-1.4.10 Make-3.81 Patch-2.5.4 Perl-5.8.8 Sed-4.1.5 Tar-1.18 Texinfo-4.9 Xz-5.0.0 *catatan: jika package tidak ada ditempat kalian atau versinya dibawah requiment system silahkan di upgrade atau di install(apt-get update nama package atau apt-get install nama package). 5. membuat file system di partisi masukkan code ini di terminal anda Quote: Code: mke2fs -jv /dev/sda3 (jika partisi anda sda2 maka ganti sda3 ke sda2) 6. mounting partisi baru masukkan code ini diterminal Code: export LFS=/mnt/lfs
  • 5. selanjut Quote: Code: mkdir -pv $LFS mount -v -t ext3 /dev/<xxx> $LFS (jika anda menggunakan ext4 maka rubah ext3 ke ext4. lalu ganti <xxx> ke sda3 atau nama hdd anda. kalau saya menggunakan sda3.)*untuk mengetahui lebih dalam partisi anda coba masukkan perintah ini di terminal cfdisk.7. packages dan patches ketik code ini di terminal Code: mkdir -v $LFS/sources setelah itu Code: chmod -v a+wt $LFS/sources setelah itu extract package lfs yang selesai didownload di /mnt/lfs/sources lalu Code: pushd $LFS/sources md5sum -c md5sums popd 8. Pengecekan LFS ketik Code: echo $LFS pastikan yang keluar /mnt/lfs jika tidak maka bisa ketik ini diterminal Code: export LFS=/mnt/lfs
  • 6. 9.membuat $LFS/tools ketik ini diterminal Code: mkdir -v $LFS/tools lalu Code: ln -sv $LFS/tools / 10.menambah LFS user ketik diterminal Code: groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs 8. Pengecekan LFS ketik Code: echo $LFS pastikan yang keluar /mnt/lfs jika tidak maka bisa ketik ini diterminal Code: export LFS=/mnt/lfs 9.membuat $LFS/tools ketik ini diterminal Code: mkdir -v $LFS/tools lalu Code: ln -sv $LFS/tools / 10.menambah LFS user ketik diterminal Code: groupadd lfs
  • 7. useradd -s /bin/bash -g lfs -m -k /dev/null lfs lalu Code: 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 setelah itu Code: source ~/.bash_profile nah jika anda sudah berhasil melakukan cara seperti diatas, sekarang saatnya anda melakukan penginstalan package yang terdapat di package LFS yang telah anda download. disarankan LFS versi 7.3. BAB 5 sebagai catatan, jika anda sudah melakukan penginstalan lalu mencoba untuk istirahat atau merestart komputer anda dan ketika anda ingin melanjutkan kembali membangun LFS. anda harus mengexport kembali LFS=/mnt/lfs dan mount -v -t ext3 /dev/sda3 $LFS (ikuti cara diatas)!!! oke silahkan dilanjutkan kembali proses penginstalannya. penginstalan diawal dengan binutils-2.23.1 pass 1. anda harus masuk ke direktori /mnt/lfs/sources dulu, baru anda ekstrak binutils dengan cara tar xf <nama file yg dingin diekstrak> contoh tar xf binutils-2.23.1.tar.gz setelah selesai diekstrak, masuk ke direktori yang habis diekstrak tadi. contoh cd binutils-2.23.1 setelah itu baru anda ikuti tutorial dibawah ini.
  • 8. BINUTILS-2.23.1 PASS 1 saya sangat-sangat menyarankan agar anda mengikuti instruksi yg ada pada web tersebut. jika anda sudah selesai silahkan lanjutkan penginstalan selanjutnya.  GCC-4.7.2 - Pass 1  Linux-3.8.1 API Headers  Glibc-2.17  Binutils-2.23.1 - Pass 2  GCC-4.7.2 - Pass 2  Tcl-8.6.0  Expect-5.45  DejaGNU-1.5  Check-0.9.9  Ncurses-5.9  Bash-4.2  Bzip2-1.0.6  Coreutils-8.21  Diffutils-3.2  File-5.13  Findutils-4.4.2  Gawk-4.0.2  Gettext-0.18.2  Grep-2.14  Gzip-1.5  M4-1.4.16  Make-3.82  Patch-2.7.1  Perl-5.16.2  Sed-4.2.2  Tar-1.26  Texinfo-5.0  Xz-5.0.4 jika anda sudah menyelesaikan cara diatas, anda akan memasukki tahap STRIPPING. yang harus anda lakukan adalah kembali ke direktori /mnt/lfs setelah itu masukkan perintah ini strip --strip-debug /tools/lib/* strip --strip-unneeded /tools/{,s}bin/* rm -rf /tools/{,share}/{info,man,doc} jika sudah. silahkan keluar dari pengguna LFS dengan cara ketik exit. pastikan posisi anda sekarang sebagai root bukan LFS.
  • 9. setelah itu kita masuk dibagian CHANGING OWNERSHIP. lakukan perintah ini chown -R root:root $LFS/tools jika sudah selesai sekarang kita sudah masuk dibab 6. BAB 6 sebagai root, masukkan perintah dibawah ini mkdir -v $LFS/{dev,proc,sys} mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys if [ -h $LFS/dev/shm ]; then link=$(readlink $LFS/dev/shm) mkdir -p $LFS/$link mount -vt tmpfs shm $LFS/$link unset link else mount -vt tmpfs shm $LFS/dev/shm fi jika sudah selesai, sekarang saatnya kita masuk sebagai CHROOT dengan perintah dibawah ini chroot "$LFS" /tools/bin/env -i HOME=/root TERM="$TERM" PS1='u:w$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h catatan: jika anda ingin istirahat dan mematikan laptop anda, lalu anda ingin melanjutkan kembali, anda harus melakukan perintah seperti dibawah ini. export LFS=/mnt/lfs mount -v -t ext3 /dev/<sda1,2,3 tergantung pada hdd anda> $LFS mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys if [ -h $LFS/dev/shm ]; then link=$(readlink $LFS/dev/shm) mkdir -p $LFS/$link mount -vt tmpfs shm $LFS/$link unset link else mount -vt tmpfs shm $LFS/dev/shm fi setelah itu baru anda masuk sebagai CHROOT.
  • 10. oke, jika sudah masuk sebagai chroot, sekarang saatnya anda masuk dibagian CREATING DIRECTORIES dengan mengikuti perintah dibawah ini mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt,run} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} mkdir -pv /usr/{,local/}share/{doc,info,locale,man} mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} mkdir -pv /usr/{,local/}share/man/man{1..8} for dir in /usr /usr/local; do ln -sv share/{man,doc,info} $dir done case $(uname -m) in x86_64) ln -sv lib /lib64 && ln -sv lib /usr/lib64 ;; esac mkdir -v /var/{log,mail,spool} ln -sv /run /var/run ln -sv /run/lock /var/lock mkdir -pv /var/{opt,cache,lib/{misc,locate},local} setelah itu anda masuk dibagian CREATING ESSENTIAL FILES AND SYMLINKS dengan mengikuti perintah dibawah ini ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin ln -sv /tools/bin/perl /usr/bin ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la ln -sv bash /bin/sh touch /etc/mtab cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false nobody:x:99:99:Unprivileged User:/dev/null:/bin/false EOF cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tape:x:4: tty:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: mail:x:34:
  • 11. nogroup:x:99: EOF exec /tools/bin/bash --login +h touch /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/log/lastlog chmod -v 664 /var/log/lastlog chmod -v 600 /var/log/btmp jika anda sudah mengikuti perintah diatas dengan benar, maka tulisan "I have no name" akan hilang. jika sudah selesai, maka saatnya anda melakukan penginstalan package kembali di BAB 6 ini. saya ingatkan kembali, jika anda ingin menginstal package, anda harus berada dalam direktori /mnt/lfs/sources setelah itu ekstrak package yang ingin anda instal, setelah itu masuk ke direktori yang baru saja diekstrak, lalu kerjakan perintah-perintah yang ada di web yang saya rekomendasikan.  Linux-3.8.1 API Headers  Man-pages-3.47  Glibc-2.17  Adjusting the Toolchain  Zlib-1.2.7  File-5.13  Binutils-2.23.1  GMP-5.1.1  MPFR-3.1.1  MPC-1.0.1  GCC-4.7.2  Sed-4.2.2  Bzip2-1.0.6  Pkg-config-0.28  Ncurses-5.9  Util-linux-2.22.2  Psmisc-22.20  Procps-ng-3.3.6  E2fsprogs-1.42.7  Shadow-4.1.5.1  Coreutils-8.21  Iana-Etc-2.30  M4-1.4.16  Bison-2.7  Grep-2.14  Readline-6.2  Bash-4.2  Libtool-2.4.2
  • 12.  GDBM-1.10  Inetutils-1.9.1  Perl-5.16.2  Autoconf-2.69  Automake-1.13.1  Diffutils-3.2  Gawk-4.0.2  Findutils-4.4.2  Flex-2.5.37  Gettext-0.18.2  Groff-1.22.2  Xz-5.0.4  GRUB-2.00  Less-451  Gzip-1.5  IPRoute2-3.8.0  Kbd-1.15.5  Kmod-12  Libpipeline-1.2.2  Make-3.82  Man-DB-2.6.3  Patch-2.7.1  Sysklogd-1.5  Sysvinit-2.88dsf  Tar-1.26  Texinfo-5.0  Udev-197 (Extracted from systemd-197)  Vim-7.3 jika anda sudah selesai menginstal semua package didalam bab 6, sekarang anda harus stripping lagi dengan cara mengikuti perintah dibawah ini logout chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='u:w$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin /tools/bin/bash --login /tools/bin/find /{,usr/}{bin,lib,sbin} -type f -exec /tools/bin/strip --strip-debug '{}' ';' jika sudah, saatnya CLEANING UP dengan mengikuti perintah dibawah ini chroot "$LFS" /usr/bin/env -i HOME=/root TERM="$TERM" PS1='u:w$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login ingat sebelum anda memasukkan kode diatas, anda harus sebagai root! catatan: jika anda ingin istirahat dan mematikan laptop anda, lalu anda ingin melanjutkan kembali, anda harus melakukan perintah seperti dibawah ini.
  • 13. export LFS=/mnt/lfs mount -v -t ext3 /dev/<sda1,2,3 tergantung pada hdd anda> $LFS mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys if [ -h $LFS/dev/shm ]; then link=$(readlink $LFS/dev/shm) mkdir -p $LFS/$link mount -vt tmpfs shm $LFS/$link unset link else mount -vt tmpfs shm $LFS/dev/shm fi setelah itu baru anda masuk sebagai CHROOT. BAB 7 dibagian bab 7 ini adalah bagian dimana kita mensetting network dan proses booting nantinya. ikuti langkah-langkah dibawah ini cat /etc/udev/rules.d/70-persistent-net.rules cd /etc/sysconfig/ cat > ifconfig.eth0 << "EOF" ONBOOT=yes IFACE=eth0 SERVICE=ipv4-static IP=192.168.1.1 GATEWAY=192.168.1.2 PREFIX=24 BROADCAST=192.168.1.255 EOF cat > /etc/resolv.conf << "EOF" # Begin /etc/resolv.conf domain <ganti ini dengan domain yang anda inginkan contoh: www.linuxfromscratch.org> nameserver <ganti ini dengan primary IP server contoh: 192.168.1.1> nameserver <ganti ini dengan secondary IP server contoh: 192.168.1.2> # End /etc/resolv.conf EOF cat > /etc/hosts << "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost 192.168.1.1 <ganti ini dengan HOSTNAME yang ingin anda kehendaki contoh: LFS> # End /etc/hosts (network card version) EOF jika sudah selesai, saatnya menginstal LFS BOOTSCRIPTS-20130123. masuk kedirektori /mnt/lfs/sources lalu ekstrak LFS bootscripts
  • 14. setelah itu masuk di folder LFS bootscripts. lalu ikuti perintah seperti yang terdapat pada web dibawah ini LFS-Bootscripts-20130123 jika sudah selesai, kembali lagi ke /mnt/lfs setelah itu ikuti perintah seperti dibawah ini cat > /etc/inittab << "EOF" # Begin /etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/init.d/rc S l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S016:once:/sbin/sulogin 1:2345:respawn:/sbin/agetty --noclear tty1 9600 2:2345:respawn:/sbin/agetty tty2 9600 3:2345:respawn:/sbin/agetty tty3 9600 4:2345:respawn:/sbin/agetty tty4 9600 5:2345:respawn:/sbin/agetty tty5 9600 6:2345:respawn:/sbin/agetty tty6 9600 # End /etc/inittab EOF echo "HOSTNAME=<lfs>" > /etc/sysconfig/network cat > /etc/sysconfig/clock << "EOF" # Begin /etc/sysconfig/clock UTC=1 # Set this to any options you might need to give to hwclock, # such as machine hardware clock type for Alphas. CLOCKPARAMS= # End /etc/sysconfig/clock EOF cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console KEYMAP="pl2" FONT="lat2a-16 -m 8859-2"
  • 15. # End /etc/sysconfig/console EOF cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console KEYMAP="de-latin1" KEYMAP_CORRECTIONS="euro2" FONT="lat0-16 -m 8859-15" # End /etc/sysconfig/console EOF cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="bg_bds-utf8" FONT="LatArCyrHeb-16" # End /etc/sysconfig/console EOF cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="bg_bds-utf8" FONT="cyr-sun16" # End /etc/sysconfig/console EOF cat > /etc/sysconfig/console << "EOF" # Begin /etc/sysconfig/console UNICODE="1" KEYMAP="de-latin1" KEYMAP_CORRECTIONS="euro2" LEGACY_CHARSET="iso-8859-15" FONT="LatArCyrHeb-16 -m 8859-15" # End /etc/sysconfig/console EOF SYSKLOGD_PARMS= jika sudah selesai, selanjut adalah masuk dibagian BASH SHELL STARTUP FILES dengan mengikuti seperti yang terdapat dalam link dibawah ini. The Bash Shell Startup Files jika sudah selesai, lanjutkan kembali dengan mengikuti perintah dibawah ini cat > /etc/inputrc << "EOF" # Begin /etc/inputrc
  • 16. # Modified by Chris Lynn <[email protected]> # Allow the command prompt to wrap to the next line set horizontal-scroll-mode Off # Enable 8bit input set meta-flag On set input-meta On # Turns off 8th bit stripping set convert-meta Off # Keep the 8th bit for display set output-meta On # none, visible or audible set bell-style none # All of the following map the escape sequence of the value # contained in the 1st argument to the readline specific functions "eOd": backward-word "eOc": forward-word # for linux console "e[1~": beginning-of-line "e[4~": end-of-line "e[5~": beginning-of-history "e[6~": end-of-history "e[3~": delete-char "e[2~": quoted-insert # for xterm "eOH": beginning-of-line "eOF": end-of-line # for Konsole "e[H": beginning-of-line "e[F": end-of-line # End /etc/inputrc EOF jika sudah selesai, saatnya kita masuk dibagian BAB 8 BAB 8 jika sudah masuk dibab ini, ikuti perintah dibawah ini cat > /etc/fstab << "EOF" # Begin /etc/fstab # file system mount-point type options dump fsck # order /dev/sda1,2,3 tergantung hdd anda / ext1,2,3,4 tergantung hdd anda defaults 1 1
  • 17. proc /proc proc nosuid,noexec,nodev 0 0 sysfs /sys sysfs nosuid,noexec,nodev 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /run tmpfs defaults 0 0 devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 # End /etc/fstab EOF jika sudah selesai, saatnya anda menginstal package LINUX-3.8.1 masuk ke direktori /mnt/lfs/sources, lalu ekstrak package LINUX-3.8.1 setelah itu masuk ke direktori linux-3.8.1 lalu ikuti perintah yang terdapat didalam link dibawah ini Linux-3.8.1 jika sudah selesai, lanjut ikuti perintah dibawah ini grub-install /dev/sda cat > /boot/grub/grub.cfg << "EOF" # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod ext2 tergantung hdd anda set root=(hd0,2(mengikuti ext hdd anda, jika hdd anda ext3 maka ganti angka 2 menjadi 3) menuentry "GNU/Linux, Linux 3.8.1-lfs-7.3" { linux /boot/vmlinuz-3.8.1-lfs-7.3 root=/dev/sda2 tergantung hdd anda ro } EOF jika sudah selesai, sekarang saatnya masuk di bab 9 BAB 9 Dibab ini, adalah bab terakhir, ikuti perintah dibawah ini echo 7.3 > /etc/lfs-release cat > /etc/lsb-release << "EOF" DISTRIB_ID="Linux From Scratch" DISTRIB_RELEASE="7.3" DISTRIB_CODENAME="<your name here>" DISTRIB_DESCRIPTION="Linux From Scratch" EOF logout umount -v $LFS/dev/pts if [ -h $LFS/dev/shm ]; then link=$(readlink $LFS/dev/shm)
  • 18. umount -v $LFS/$link unset link else umount -v $LFS/dev/shm fi umount -v $LFS/dev umount -v $LFS/proc umount -v $LFS/sys umount -v $LFS umount -v $LFS/usr umount -v $LFS/home umount -v $LFS shutdown -r now jika sudah selesai, maka berdoa lah semoga LFS yang anda bangun berhasil bekerja.hahaha jujur saya membangun LFS ini berkali-kali karna sering menemukan error, hingga akhirnya alhamdulillah berhasil. jadi jika kalian menemukan error, jangan panik, jangan stres, langsung komen diblog ini, insyallah jika saya paham, saya pasti akan membantu. tapi jika saya tidak menemukan jawabannya, silahkan anda membuat pertanyaan tentang seputar error yang anda temukan selama membangun LFS di www.linuxquestions.org. maaf jika tutorial saya membingungkan kalian. hehehehe untuk lebih lengkapnya tentang tutorial membangun LFS anda bisa mengunjungi situs resmi LFS di www.linuxfromscratch.org akhir kata dari saya, terimakasih :D