-

Kamis, 12 April 2012

Remastering Melalui Terminal Linux

,
Jika anda mengetahui tentang jenis jenis distro linux maka anda akan mengenali bebrapa jenis linux, namun tetapi masih tetap pengembangan dari linux sebelumnya, itulah yang disebut dengan Remastering, Remastering memiliki banyak cara, salah satunya adalah Remastering Melalui Terminal Linux, Berikut ini langkah Remastering Melalui Terminal Linux : mencari uang online

A.menyiapkan wadah untuk filesystem baru


1.set beberapa variabel


export WORK=~/work

export CD=~/cd

export FORMAT=squashfs

export FS_DIR=casper





~/work dan ~/cd bisa diganti menurut selera


2.membuat struktur direktori CD dan WORK




sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs




3.install paket kedalam source sistem




sudo apt-get update



dan install paket penunjang untuk pembuatan remastering



sudo apt-get install mkisofs grub squashfs-tools linux-ubuntu-modules-$(uname -r) qemu



linux-ubuntu-modules-$(uname-r) hanya digunakan untuk gutsy dan lebih rendah. jika

menggunakan ubuntu yang versi terbaru dari gutsy paket ini sudan menjadi satu bagian dalam kernel


qemu juga optional untuk testing iso sebelum kita bakar kedalam cd


B.copy seluruh filesystem yang sudah dimodifikasi kedalam wadah filesystem baru



sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/*\

--exclude=/sys/* --exclude=/tmp/* --exclude=/home/*\

--exclude=/lost+found / ${WORK}/rootfs


note : rsync sama halnya dengan copy tapi dengan kelebihan opsi --one-file-system

dan --exclude


jika memiliki boot partisi yang terpisah harus dicopy sekalian dengan menggunakan perintah



sudo cp -av /boot/* ${WORK}/rootfs/boot


(optional) copy setting dari home dir

jika ingin mengkopi seluruh user account setting dari home dapat dikopi

ke ${WORK}/rootfs/etc/skel/

tapi sebelumnya  harus mendefinisakn file apa yang akan dikopi contohnya  menggunakan

xcfe4 sebagai desktop environtment dan menyimpan seluruh setting kedalam .config di home dir

jadi saya akan menambahkan .config kedalam variable


CONFIG='.config .bashrc'

---------------------------------------------


sekarang copy CONFIG file menggunakan perintah


---------------------------------------------

cd ~ && for i in $CONFIG

do

sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel

done

---------------------------------------------


C. chroot kedalam system yang baru dan lakukan modfikasi didalamnya


1. chroot kedalam system yang sudah dikopi setelah kita mount proc dan dev


---------------------------------------------

sudo mount -o bind /dev/ ${WORK}/rootfs/dev

---------------------------------------------


---------------------------------------------

sudo mount -t proc proc ${WORK}/rootfs/proc

---------------------------------------------


---------------------------------------------

sudo chroot ${WORK}/rootfs /bin/bash

---------------------------------------------


sekarang duah berada dalam lingkungan chroot

ketik perintah sbb


---------------------------------------------

LANG=

---------------------------------------------


install essential paket untuk live cd


---------------------------------------------

apt-get update

---------------------------------------------


apt-get install casper discover1 xresprobe

---------------------------------------------

casper mengandung live cd script

discover1 dan xresprobe digunakan untuk autodetect hardware pada saat startup


(optional) jika ingin live cd kita memiliki installer kita harus menambahkan ubuntu installer


---------------------------------------------

apt-get install ubiquity

---------------------------------------------


sekarang anda bisa menginstall aplikasi apa saja yang akan dimasukkan ke dalam cd...


4. update initramsfs


pertama update modules.dep:


---------------------------------------------

depmod -a $(uname -r)

---------------------------------------------


---------------------------------------------

update-initramfs -u -k $(uname -r)

---------------------------------------------

initramfs digunakan untuk persiapan pada saat booting cd/dvd. update initramfs yang baru

di dalamnya terdapat live scripts


5.hapus non system user


---------------------------------------------

for i in `cat /etc/passwd | awk -F":" '{print $1}'`

do

uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`

[ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null

done

----------------------------------------------


6.hapus file ini


----------------------------------------------

for i in "/etc/hosts /etc/hostname /etc/resolv.conf /etc/timezone /etc/fstab /etc/mtab /etc/shadow /etc/shadow- /etc/gshadow  /etc/gshadow- /etc/gdm/gdm-cdd.conf /etc/gdm/gdm.conf-custom /etc/X11/xorg.conf /boot/grub/menu.lst /boot/grub/device.map"

do

rm $i

done 2>/dev/null

----------------------------------------------

file diatas tidak dibutuhkan di dalam cd/dvd beberapa dapat menganggu pada saat booting cd/dvd

(seperti shadow dan gdm.conf-custom dapat menggangu auto login)


7.bersihkan lingkungan chroot dari file2 yang tidak diperlukan


----------------------------------------------

apt-get clean

----------------------------------------------


----------------------------------------------

find /var/run /var/log /var/mail /var/spool /var/lock /var/backups /var/tmp -type f -exec rm {} \;

----------------------------------------------


----------------------------------------------

rm -r /tmp/* /root/* 2>/dev/null

----------------------------------------------


8.jika menggunakan gdm recreate config filenya tapi jika tidak ingin dirubah maka skip langkah

ini


-----------------------------------------------

[ -f "/etc/gdm/factory-gdm.conf" ] && cp -f /etc/gdm/factory-gdm.conf /etc/gdm/gdm.conf 2>/dev/null

-----------------------------------------------


9.buat beberapa file di /var/log:


-----------------------------------------------

for i in dpkg.log lastlog mail.log syslog auth.log daemon.log faillog lpr.log mail.warn user.log boot debug mail.err messages wtmp bootstrap.log dmesg kern.log mail.info

do

touch /var/log/${i}

done

-----------------------------------------------

beberapa file ini adalah log yang udah dihapus di step 7. kita buat file kosong

untuk mencegah system dari complaining pada saat boot


10.kluar dari chroot


-----------------------------------------------

exit

-----------------------------------------------


D.Langkah selanjutya Remastering Melalui Terminal Linux mempersiapkan cd directory tree


1.copy kernel initrd dan memtest yang sudah disiapkan dari chroot


-----------------------------------------------

sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-$(uname -r) ${CD}/boot/vmlinuz

-----------------------------------------------


-----------------------------------------------

sudo cp -vp ${WORK}/rootfs/boot/initrd.img-$(uname -r) ${CD}/boot/initrd.gz

-----------------------------------------------


-----------------------------------------------

sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot

-----------------------------------------------


2.(optonal) generate manifest

dibutuhkan jika mengsinstall ubiquity


-----------------------------------------------

sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest

-----------------------------------------------


-----------------------------------------------

sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}

-----------------------------------------------


-----------------------------------------------

REMOVE='ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'

-----------------------------------------------


-----------------------------------------------

for i in $REMOVE

do

sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop

done

------------------------------------------------


3.unmount bin direktori


------------------------------------------------

sudo umount ${WORK}/rootfs/dev ${WORK}/rootfs/proc

------------------------------------------------


4.convert the directory tree kedalam squashfs


------------------------------------------------

sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}

------------------------------------------------


5.langkah selanjutnya Remastering Melalui Terminal Linux buat grub loader untuk cd


------------------------------------------------

sudo find /boot /usr/lib/grub/ -iname 'stage2_eltorito' -exec cp -v {} ${CD}/boot/grub \;

------------------------------------------------


buat menu.list


------------------------------------------------

sudo nano ${CD}/boot/grub/menu.lst

------------------------------------------------


copy text dibawah ini dan save kedalam menu.list


------------------------------------------------

# By default, boot the first entry.

default 0


# Boot automatically after 30 secs.

timeout 30


color cyan/blue white/blue



title                Start Linux in Graphical Mode

kernel                /boot/vmlinuz BOOT=casper boot=casper nopersistent rw quiet splash

initrd                /boot/initrd.gz


title                Start Linux in Safe Graphical Mode

kernel                /boot/vmlinuz BOOT=casper boot=casper xforcevesa rw quiet splash

initrd                /boot/initrd.gz


title                Start Linux in Text Mode

kernel                /boot/vmlinuz BOOT=casper boot=casper nopersistent textonly rw quiet

initrd                /boot/initrd.gz


title                Start Presistent Live CD

kernel                /boot/vmlinuz BOOT=casper boot=casper persistent rw quiet splash

initrd                /boot/initrd.gz


title                Start Linux Graphical Mode from RAM

kernel                /boot/vmlinuz BOOT=casper boot=casper toram nopersistent rw quiet splash

initrd                /boot/initrd.gz


title                Memory Test

kernel                /boot/memtest86+.bin


title                Boot the First Hard Disk

root                (hd0)

chainloader +1

------------------------------------------------


6.calculate md5


------------------------------------------------

cd $CD && find . -type f -print0 | xargs -0 sudo md5sum | sudo tee ${CD}/md5sum.txt

------------------------------------------------


E. build the cd


1.buat file isonya


------------------------------------------------

sudo mkisofs -b boot/grub/stage2_eltorito \

-no-emul-boot -boot-load-size 4 -boot-info-table \

-V "Custom Live CD" -cache-inodes -r -J -l \

-o ~/live-cd.iso $CD

------------------------------------------------


sekarang tinggal menunggu sampai file isonya jadi dan sudah siap untuk di test lewat qemu atau virtualbox


2.(optional) hapus workspace yang telah dibuat


------------------------------------------------

[ -d "$WORK" ] && rm -r $WORK $CD

------------------------------------------------
referer by kolu.web.id







3 komentar to “Remastering Melalui Terminal Linux”

  • 1 Agustus 2012 pukul 07.24
    Dabob99 says:

    ga ngerti bro...
    saran aj sih
    coba ganti bahasanya yang lebih dimengerti
    kalo ga tampilannya yang enak dilihat
    moga sukses blognya... :)

    delete
  • 21 Oktober 2013 pukul 21.37
    Unknown says:

    ente bikinnya di ubuntu yah...???

    delete
  • 26 Mei 2014 pukul 21.17
    Unknown says:

    ora ngerti

    delete

Posting Komentar

klik iklan

 

dzoelfieyes Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger