Instalasi ini dilakukan setelah saya sempat menginstall Pyramid-Linux pada Compact Flash
Pyramid Linux sebenarnya merupakan sistem operasi yang cocok jika Soekris itu hanya dipakai sebagai node wireless mesh. Namun karena saya harus menginstall banyak lagi aplikasi lain seperti apache2, MySQL, Postfix, Squirrelmail, PhpMyAdmin, Webmin, OLSRd, PhP, saya tidak bisa menggunakan sistem operasi Pyramid-Linux ini.
Pyramid-Linux ini merupakan sebuah sistem operasi embedded. Instalasi aplikasi lain sangat sulit dilakukan. Oleh karena itu, saya memilih untuk menginstall sistem operasi yang bukan embedded. Sistem operasi Ubuntu 7.10 dipilih karena sistem operasi ini sudah merakyat dan memiliki kemudahan dalam instalasi program2 di atas tersebut.
Instalasi yang dilakukan sebenarnya sama dengan instalasi Ubuntu pada sebuah Flash disk, hanya Soekris ini tidak mempunyai port untuk video dan keyboard. Oleh karena itu diperlukan sedikit modifikasi agar Ubuntu pada Soekris ini dapat dijalankan dengan semestinya. Instalasi ini juga dapat dilakukan untuk menginstall Ubuntu Server 8.04 Hardy Heron pada CF untuk Soekris.
Langkah pertama adalah mengumpulkan dulu alat dan bahan yang diperlukan:
- Komputer Host bersistem operasi Linux. Saya memakai Laptop bersistem operasi Ubuntu 7.10 Desktop
- Compact Flash (CF) berukuran seperlunya. Saya memakai CF berukuran 1 GB. Lebih besar lebih baik. Saya sarankan JANGAN memakai yang kurang dari 1 GB.
- Card Reader. Saya memakai Card Reader Apacer AP450
- ISO dari Ubuntu 7.10 Server. File bisa didapat dari http://www.ubuntu.com. File tersebut bernama “ubuntu-7.10-server-i386.iso”
Pertama, plug terlebih dahulu card reader yang telah ditancapkan CF nya ke komputer
Buat satu partisi terlebih dahulu di CF yang akan kita jadikan target. Jadikan partisi tersebut bootable.
sudo cfdisk /dev/sdc
Buat partisi ext3 di CF target
sudo mke2fs -j /dev/sdc1
Catat terlebih dahulu UUID dari CF target kita (/dev/sdc1) untuk dipakai di langkah selanjutnya
blkid
Mount CF di /mnt/target
sudo mkdir /mnt/target
sudo mount /dev/sdc1 /mnt/target
Mount file ISO Ubuntu Server di /mnt/iso
sudo mkdir /mnt/iso
sudo mount -t iso9660 -o ro,loop=/dev/loop0 /path/ke/filenya/ubuntu-7.10-server-i386.iso /mnt/iso
Lakukan debootstrap ke CF target. Jika anda belum menginstall program debootstrap, installah terlebih dahulu
sudo apt-get install debootstrap
sudo debootstrap --arch i386 feisty /mnt/target file:/mnt/iso
Nah, instalasi Ubuntu ke compact flash sebenarnya sudah beres. Namun, karena Ubuntu ini biasa diinstall di komputer yang tentu saja memiliki monitor dan keyboard, tidak seperti Soekris yang tidak memiliki port video dan port keyboard, maka sedikit modifikasi harus dilakukan agar Ubuntu ini dapat dijalankan di Soekris.
Chroot ke targetnya. Chroot ini adalah perintah untuk menjalankan shell pada direktori root yang berbeda dari root biasa
sudo chroot /mnt/target /bin/bash
Nah, sekarang kita bekerja dengan /mnt/target sebagai root kita
buat file /etc/fstab
vi /etc/fstab
Isi dari file tersebut adalah sebagai berikut
# file system mount point type options dump pass
UUID=xxxxxx-xxxx-...-xxxxxx / ext3 defaults 0 0
tmpfs /tmp tmpfs size=128m,mode=1777 0 0
proc /proc proc defaults 0 0
sys /sys sysfs defaults 0 0
UUID diisi dengan UUID dari CF kita
Mount semua filesystem
mount /proc
mount /sys
Verifikasi hasil mount. Jika perintah di bawah memperlihatkan isi direktori yang kosong, maka filesystem belum ter-mount
ls /proc
Konfigurasi keyboard. Konfigurasi ini tidak perlu dilakukan karena Soekris tidak mempunyai keyboard. Konfigurasi ini diperlukan jika Ubuntu diinstal pada flash disk untuk komputer yang memiliki keyboard
dpkg-reconfigure console-setup
Setup jaringan
vi /etc/network/interfaces
Isi file tadi sesuai dengan setting jaringan di tempat anda. File yang saya buat sih seperti ini
auto lo
iface lo inet loopback
iface eth0 inet static
address 167.205.64.106
netmask 255.255.255.192
gateway 167.205.64.65
auto eth0
Set hostname. Kita beri nama alat kita “ubuntu-soekris”
echo ubuntu-soekris > /etc/hostname
Buat sebuah nonroot user untuk login nonroot di Ubuntu nya. Set juga passwordnya. Nama user yang saya buat adalah “agungsep”
adduser agungsep
echo 'agungsep ALL=(ALL) ALL' >> /etc/sudoers
chmod 0440 /etc/sudoers
Setup /etc/apt/sources.list
vi /etc/apt/sources.list
Isi repo tergantung anda ingin repo dari mana. Saya mengambil repo dari kambing.ui.edu. Isi file tersebut milik saya adalah sebagai berikut
deb http://kambing.ui.edu/ubuntu gutsy-backports multiverse main restricted universe
deb http://kambing.ui.edu/ubuntu gutsy-proposed multiverse main restricted universe
deb http://kambing.ui.edu/ubuntu gutsy-security multiverse main restricted universe
deb http://kambing.ui.edu/ubuntu gutsy-updates multiverse main restricted universe
deb http://kambing.ui.edu/ubuntu gutsy multiverse main restricted universe
Setup /etc/hosts
vi /etc/hosts
File /etc/hosts milikku adalah sebagai berikut
127.0.0.1 localhost
127.0.1.1 ubuntu-soekris
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Setup /etc/resolv.conf
vi /etc/resolv.conf
Isi sesuai dengan DNS di jaringan anda. File /etc/resolv.conf milikku adalah sebagai berikut
search ee.itb.ac.id
nameserver 167.205.23.1
nameserver 167.205.22.123
nameserver 167.205.64.158
Buat File /etc/event.d/ttyS0
vi /etc/event.d/ttyS0
Isi file tersebut dengan script di bawah ini
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 6
respawn
exec /sbin/getty -L ttyS0 9600 vt102
Edit file /etc/initramfs-tools/modules
vi /etc/initramfs-tools/modules
Tambahkan dua baris di bawah ini pada file /etc/initramfs-tools/modules
ext3
ide_generic
Update initramfs anda
update-initramfs -u
Install kernel dan konfigurasi grub. Debootstrap tidak menginstall bootloader pada CF target. Sehingga kita harus menginstall sendiri
apt-get update
apt-get install linux-image-generic grub memtest86+
Konfigurasi grub
mkdir -p /boot/grub
cp /usr/lib/grub/i386-pc/* /boot/grub
vi /boot/grub/menu.lst
Isi file /boot/grub/menu.lst dengan script di bawah ini
default 0
timeout 5
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
title Ubuntu, kernel 2.6.22-14-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/hda1 ro console=tty0 console=ttyS0,9600n8
initrd /boot/initrd.img-2.6.22-14-generic
quiet
savedefault
title Ubuntu, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin console=tty0 console=ttyS0,9600n8
quiet
Keluar dari chroot
exit
Lakukan perintah di bawah ini di luar chroot() untuk menginstall grub nya
sudo grub-install --no-floppy --root-directory=/mnt/target /dev/sdc1
Fiuhh, selesai juga. Unmount CF anda dari komputer host. CF anda siap diboot di Soekris anda. Pastikan bitrate Soekris anda menjadi 9600. Masukkan usernamenya “agungsep” dan juga passwordnya. Lalu dari sana anda bisa masuk sebagai root
——————————–
Referensi Artikel ini
http://wiki.soekris.info/Installing_Ubuntu_7.04_Server_via_debootstrap
http://wiki.soekris.info/Menu_lst
https://wiki.ubuntu.com/Soekris