Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehYanuar Sleepers Telah diubah "10 tahun yang lalu
1
By. Fauzi Dwi Susanto Pengantar LFS (Linux From Scratch) Praktikum Sistem Operasi Tahun 2012 Teknik Informatika - D
2
Tentukan versi Linux Ubuntu yang dipakai. Karena versi ubuntu yang dipakai adalah versi 11.10, maka panduan LFS yang dipakai adalah : LFS-BOOK 7.1 Panduan LFS
3
Install Linux Ubuntu 11.10 pada VB anda Membuat partisi baru dengan ketentuan : A.Partisi root yang diberi mount point / dan tipe file ext3 dengan kapasitas sesuai kebutuhan anda. B.Partisi swap yang diberi mount point /swap dan tipe file swap dengan kapasitas sesuai kebutuhan anda. Siapkan kopi dan sedikit hiburan agar tidak bosan serta ajak curhat teman disampingmu…! Persiapan Awal
4
Setelah partisi baru telah dibuat, maka langkah selanjutnya adalah mengkopi file LFS ke sistem operasi Linux (paket-paket dan data-data LFS yang diperlukan). Setelah dikopi, lakukan proses version-check untuk melihat versi sistem host nya, jika ada paket yang butuh diinstal dahulu maka install paket2 tersebut. LFS-BOOK 7.1 hal. -- Merujuk LFS-BOOK 7.1 hal.xvii--
5
Masuk root dahulu mke2fs -jv /dev/ Inisialisasi partisi swap cd /tmp rm -rfv e2fsprogs-1.42 mkswap /dev/ Mounting partisi baru export LFS=/mnt/lfs mkdir -pv $LFS mount -v -t ext3 /dev/ $LFS LFS-BOOK 7.1 hal. -- Merujuk LFS-BOOK 7.1 hal.12,13 dan 14-- Persiapan Partisi Baru (Chap.2)
6
Buat directory untuk tempat LFS anda, dan masuk sebagai root mkdir -v $LFS/sources chmod -v a+wt $LFS/sources Setelah itu pindahkan paket-paket LFS anda pada directory tersebut melalui terminal atau secara manual. LFS-BOOK 7.1 hal. -- Merujuk LFS-BOOK 7.1 hal.15-23 -- Packages and Patches (Chap.3)
7
Mengecek apakah variabel LFS sudah sesuai ketentuan dengan cara mengetikkan perintah seperti di bawah ini : echo $LFS Mengeset path dari variabel LFS dengan cara mengetikkan perintah seperti di bawah ini : export LFS=/mnt/lfs Langkah selanjutnya yang dilakukan adalah membuat direktori LFS/tools dengan cara menggunakan perintah seperti di bawah ini : mkdir -v $LFS/tools Langkah selanjutnya adalah dengan membuat simlink /tools ke host system dengan cara menggunakan perintah seperti di bawah ini : ln -sv $LFS/tools / Persiapan Final (Chap.4)
8
Langkah selanjutnya yang dilakukan adalah menambahkan user baru untuk LFS dengan cara menggunakan perintah seperti di bawah ini : groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs Untuk mengganti password dilakukan dengan menggunakan perintah seperti di bawah ini : passwd lfs Setelah itu diberikan full akses ke user baru tersebut dengan menggunakan perintah seperti di bawah ini : chown -v lfs $LFS/tools chown -v lfs $LFS/sources Kemudian login sebagai user baru tersebut dengan menggunakan perintah seperti di bawah ini : su – lfs Persiapan Final (Chap.4)
9
Membuat profil bash baru dengan cara menggunakan perintah di bawah ini : cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash EOF Membuat Bashrc file dengan cara menggunakan perintah di bawah ini : cat > ~/.bashrc << "EOF" set +h umask 022....................................... Membuat user profil dengan cara menggunakan perintah seperti di bawah ini : source ~/.bash_profile Setting Environment
10
Binutils-2.22 – Instalisasi Tahap 1 1.Buat folder untuk build mkdir -v../binutils-build cd../binutils-build 2.Persiapkan Binutils untuk dikompilasi../binutils-2.22/configure \ --target=$LFS_TGT --prefix=/tools \ --disable-nls --disable-werror lalu make 3.Jika akan di build untuk x86_64, buat symlink ke tool chain case $(uname -m) in x86_64) mkdir -v /tools/lib &&ln -sv lib /tools/lib64 ;; esac 4.Install paket make install Constructing a Temporary System (Chap.5)
11
GCC-4.6.2 – Instalasi tahap 1 Linux-3.2.6 API Headers Glibc-2.14.1 Constructing a Temporary System (Chap.5)
12
SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs $LFS_TGT-gcc -dumpspecs | sed \ -e 's@/lib\(64\)\?/ld@/tools&@g' \ -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS echo "New specs file is: $SPECS" unset SPECS Binutils-2.22 - Pass 2 GCC-4.6.2 - Pass 2 Tcl-8.5.11 Expect-5.45 Dan seterusnya..,,,,Lakukan compile dan install paket secara urut, jangan sampai ada yang terlewatkan. Adjusting the Toolchain
13
Remove symbols : strip --strip-debug /tools/lib/* strip --strip-unneeded /tools/{,s}bin/* Remove the documentation rm -rf /tools/{,share}/{info,man,doc} -- Next slide to Chapter 6 -- Stripping
14
Creating directories onto which the file systems will be mounted mkdir -v $LFS/{dev,proc,sys} Creating Initial Device Nodes mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 Mounting and Populating /dev mount -v --bind /dev $LFS/dev Mounting Virtual Kernel File Systems mount -vt devpts devpts $LFS/dev/pts mount -vt tmpfs shm $LFS/dev/shm mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys Installing Basic System Software (Chap. 6)
15
Entering the Chroot Environment 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 Creating Directories 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} Installing Basic System Software (Chap. 6)
16
Creating Essential Files and Symlinks 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 Presence of /etc/mtab touch /etc/mtab LFS-BOOK 7.1 Create the /etc/passwd --- merujuk LFS-BOOK 7.1 hal 80 --- LFS-BOOK 7.1 Create the /etc/group --- merujuk LFS-BOOK 7.1 hal 81 --- Installing Basic System Software (Chap. 6)
17
To work user name and group name exec /tools/bin/bash --login +h Initialize the log files and give them proper permissions touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog chmod -v 600 /var/log/btmp Next, Linux-3.2.6 API Headers Man-pages-3.35 Glibc-2.14.1 Installing Basic System Software (Chap. 6)
18
Create link to its counterpart in / tools/ $ (gcc - dumpmachine)/ bin mv -v /tools/bin/{ld,ld-old} mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} mv -v /tools/bin/{ld-new,ld} ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld A sed command gcc -dumpspecs | sed -e 's@/tools@@g' \ -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \ -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \ `dirname $(gcc --print-libgcc-file-name)`/specs Re-adjusting the Toolchain
19
Sanity checks echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib‘ Make sure that we're setup to use the correct startfiles dll grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log grep -B1 '^ /usr/include' dummy.log grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g‘ grep "/lib.*/libc.so.6 " dummy.log grep found dummy.log Clean up the test files rm -v dummy.c a.out dummy.log Re-adjusting the Toolchain
20
Zlib-1.2.6 File-5.10 Binutils-2.22 GMP-5.0.4 MPFR-3.1.0 MPC-0.9 GCC-4.6.2 Sed-4.2.1 Bzip2-1.0.6 Ncurses-5.9 …………............…catat paket yg sudah terinstall bila perlu Vim-7.3 Next Install Paket
21
Exit from chroot logout Entering the Chroot Environment chroot $LFS /tools/bin/env -i \ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /tools/bin/bash –login The binaries and libraries can be safely stripped /tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ -exec /tools/bin/strip --strip-debug '{}' ';' Stripping Again
22
When reentering the chroot environment after exiting, use the following modified chroot command chroot "$LFS" /usr/bin/env -i \ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash –login Cleaning Up
23
Creating stable names for network interfaces for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done cat /etc/udev/rules.d/70-persistent-net.rules Creating Network Interface Configuration Files cd /etc/sysconfig/ cat > ifconfig.eth0 << "EOF" ONBOOT=yes IFACE=eth0 …………… Setting Up System Bootscripts (Chap. 7)
24
Creating the /etc/resolv.conf File cat > /etc/resolv.conf << "EOF" # Begin /etc/resolv.conf domain nameserver # End /etc/resolv.conf EOF Create the /etc/hosts cat > /etc/hosts << "EOF" # Begin /etc/hosts (no network card version) 127.0.0.1 localhost # End /etc/hosts (no network card version) EOF Setting Up System Bootscripts (Chap. 7)
25
CD-ROM symlinks udevadm test /sys/block/hdd sed -i -e 's/"write_cd_rules"/"write_cd_rules mode"/' \ /lib/udev/rules.d/75-cd-aliases-generator.rules Dealing with duplicate devices udevadm info -a -p /sys/class/video4linux/video0 Creating Custom Symlinks to Devices
26
Install LFS-Bootscripts-20120229 Configuring the setclock Script 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 Setting Up System Bootscripts (Chap. 7)
27
Configuring the Linux Console 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 Setting Up System Bootscripts (Chap. 7)
28
List of all locales supported by Glibc locale –a This results in a final locale setting of “en_GB.ISO-8859-1” LC_ALL= locale charmap LC_ALL= locale language LC_ALL= locale charmap LC_ALL= locale int_curr_symbol LC_ALL= locale int_prefix Once the proper locale settings have been determined, create the / etc/ profile file : -- merujuk hal 215 – Creating the /etc/inputrc File : -- merujuk hal 216 – The Bash Shell Startup Files
29
Making the LFS System Bootable (Chap. 8) Creating the /etc/fstab File Isi file system dan type sesuai dengan partisi laptop anda. hdparm -I /dev/sda | grep NCQ
30
Linux-3.2.6 (Kernel) make mrproper make LANG= LC_ALL= menuconfig make make modules_install cp -v arch/x86/boot/bzImage /boot/vmlinuz-3.2.6- lfs-7.1 cp -v System.map /boot/System.map-3.2.6 cp -v.config /boot/config-3.2.6 install -d /usr/share/doc/linux-3.2.6 cp -r Documentation/* /usr/share/doc/linux-3.2.6 Making the LFS System Bootable (Chap. 8)
31
Creating a GRUB boot floppy diskette as a backup cd /tmp && grub-mkrescue --output=grub-img.iso && xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso GRUB Naming Conventions grub-mkdevicemap --device-map=device.map cat device.map Using GRUB to Set Up the Boot Process
32
Install the GRUB files into / boot/ grub: grub-install /dev/sda Creating the Configuration File cat > /boot/grub/grub.cfg << "EOF" # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod ext2 set root=(hd0,2) menuentry "GNU/Linux, Linux 3.2.6-lfs-7.1" { linux /boot/vmlinuz-3.2.6-lfs-7.1 root=/dev/sda2 ro } EOF Setting Up the Configuration
33
WARNING…!!!!!!!!!!!!!! Hati – hati pada saat akan tahap reboot..!!! Rebooting the System logout Then unmount the virtual file systems umount -v $LFS/dev/pts umount -v $LFS/dev/shm umount -v $LFS/dev umount -v $LFS/proc umount -v $LFS/sys The End (Chap. 9)
34
Unmount the LFS file system itself : umount -v $LFS If multiple partitions were created, unmount the other partitions before unmounting the main one, like this umount -v $LFS/usr umount -v $LFS/home umount -v $LFS Now, reboot the system with : shutdown -r now The End (Chap. 9)
35
Contoh Hasil Grub After Reboot
38
Dear Praktikan SO TIF-D : 1.Project LFS ini waktu pengumpulannya diperpanjang sampai dengan akhir UAS 2.Hasil akhir project LFS ini didemokan setelah UAS secara kelompok ke masing-masing dosen pengampu 3.Untuk dokumentasinya adalah masing-masing anggota kelompok (individu) 4.Sebelum demo ke dosen kpp harus sudah di ttd oleh koas SO dan laporan lengkap yang sudah disusun secara urut sesuai dengan ketentuan penjilidan 5.Ketentuan dan format penjilidan akan diupload minggu depan Mohon Diperhatikan..!!!!
39
Terima Kasih …. Selamat Mengerjakan !!!!
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.