Install Ubuntu Server 7.10 Gutsy Gibbon pada Compact Flash untuk Soekris net4801

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:

  1. Komputer Host bersistem operasi Linux. Saya memakai Laptop bersistem operasi Ubuntu 7.10 Desktop
  2. Compact Flash (CF) berukuran seperlunya. Saya memakai CF berukuran 1 GB. Lebih besar lebih baik. Saya sarankan JANGAN memakai yang kurang dari 1 GB.
  3. Card Reader. Saya memakai Card Reader Apacer AP450
  4. 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

10 comments

  1. bung gung, nanya dunk…
    bagian akhir pas mau install grubnya kok error ya ?
    “The file /mnt/target/boot/grub/stage1 not read correctly”
    masalah dimana y?? blom gw coba ulang lg se, tapi error disitu barusan… ada pendapat bro ?
    tx

  2. @Eddy
    Dul pas kerjaan TA gw udah kelar sebelum sidang, gw sempet iseng nginstall Ubuntu di CF yang lain. Klo ga salah gw coba instalnya di CF yang 1GB. Tapi dulu tuh ada error.. Lupa gw error nya knapa..
    Waktu itu gw mikir, “kayanya kalo CF nya beda tipe, ada error deh,,”Padahal gw nginstal di CF gw yang 2GB berapa kalipun ngga ada masalah..
    Jujur gw jg ga tau knapa dulu kalo nginstal di tipe CF yang beda, jadi ga bisa..

    CF punya lo ama CF yang gw install, merk ma tipe ma ukurannya sama ga?

    Gw ga tau apa ada konfigurasi yang harus diubah kalo di merk ma tipe CF yang lain.. Gw jg ga tau kalo itumah..

  3. Eh, gw lupa, gw kan di blog ini nginstallnya di yang 1GB yup hehe,
    Nah, trus saya coba diinstal di CF yang ukurannya lain, kalo ga salah 2GB..malah ga bisa.. gituu.. kebalik hehe.. maap..

  4. tadi si gw coba di vgen 2GB… ada satu CF lagi sih, sandisk 2GB tapi blum coba kalo yg di sandisk… besok gw coba install dari awal lg d…
    tunggu besok lg kalau begitu 😀

  5. @Eddy
    Just FYI, Sandisk pun ada macem2 tipenya: ada yang murahan, sedeng, ama yang mahal (kalo ga salah tipe Extreme), Kalo ga salah, gw yang tipe sedeng

  6. wah… masih gagal jg ternyata…
    pas gw cek di grub-install –recheck /dev/sdb1
    dia blg uda keinstall… tapi masih error seperti yg diatas…
    soekris uda dtng n bisa dipake lagi, tapi versinya lebih rendah daripada yg 4801 😦
    yg baru net4511… begitu dcoba, pake CF temen yg jalanin AODV, ternyata ga kedetect gitu partisinya… pas pake CF dari TA bro gung, bisa kedetect tapi ath0 nya error dan untuk kehubung ke lan kampus jg ga konek… mesti lembur lagi d ini 😦
    ada usul url lain yg bisa diinstall bro gung??
    dan nanya satu lg, pas install utk wireless driver soekrisnya dulu bro gung lgs di soekris bkn ??

Tinggalkan Balasan ke agungsep Batalkan balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.