Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

By. Fauzi Dwi Susanto Pengantar LFS (Linux From Scratch) Praktikum Sistem Operasi Tahun 2012 Teknik Informatika - D.

Presentasi serupa


Presentasi berjudul: "By. Fauzi Dwi Susanto Pengantar LFS (Linux From Scratch) Praktikum Sistem Operasi Tahun 2012 Teknik Informatika - D."— Transcript presentasi:

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

36

37

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 !!!!


Download ppt "By. Fauzi Dwi Susanto Pengantar LFS (Linux From Scratch) Praktikum Sistem Operasi Tahun 2012 Teknik Informatika - D."

Presentasi serupa


Iklan oleh Google