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
ga ngerti bro...
saran aj sih
coba ganti bahasanya yang lebih dimengerti
kalo ga tampilannya yang enak dilihat
moga sukses blognya... :)
ente bikinnya di ubuntu yah...???
ora ngerti