Volume 1 Nomor 1, Oktober 2016
Analisa Dan Implementasi Dalam Membangun Sistem Operasi Linux

## Menggunakan Metode LSF Dan REMASTER
Edy Budi Harjono PASCA SARJANA (S2) ILMU KOMPUTER UNIVERSITAS SUMATERA UTARA MEDAN e-mail: edybudi@gmail.com
Abstrak — Dalam  beberapa  tahun  terakhir  perangkat  lunak  Sistem  Operasi Open  Sorce menempati  posisi  diatas  yang  banyak  mengambil  perhatian  para  ahli,  Pemerintah  Organisasi, Individu,  entitas  komersial  Swasta  dan  lain-lain,  sehingga  Perusahaan-perusahaan  besar  perangkat lunak  seperti Google,  Oracle dan  lainnya  melangkah  maju  dalam  hal  mengembangkan  perangkat lunak Open  Source Khususnya  Sistem  Operasi Linux. Tulisan  ini  mengacu  pada  cara mengembangkan  perangkat  lunak  Sistem  Operasi Linux yang  bersifat Open  Source dengan menggunakan  Metode  LFS (Linux  From  Scracht), kemudian  membandingkan  dengan  metode “REMASTER” dan menentukan kekurangan dan kelebihan dari masing-masing metode.
Kata Kunci — Sistem Operasi , Linux, LFS, REMASTER

## I. PENDAHULUAN
Saat  ini,  keberadaan  Linux  di  dunia  teknologi informasi  tidak  hanya  sebagai  sistem  operasi  alternatif, tetapi  lebih  dari  itu  adalah  pemicu  revolusi  pemikiran dalam  industri  perangkat  lunak.  Sistem  operasi  Linux menjadi  sangat  penting  dalam  industri  dan  komersial dunia    karena  merupakan  sistem  operasi  open  source yang memberikan pengguna kebebasan untuk menjalankan  program  untuk  tujuan  apapun,  untuk mempelajari  dan  memodifikasi  program,  dan  kemudian untuk  mendistribusikan  salinan  baik  program  asli ataupun  mengubah  sebagian,  bahkan  seluruhnya  tanpa membayar  royalti  kepada  pengembang  sebelumnya. Linux telah tumbuh menjadi sistem operasi penuh, yang dikenal  dengan  stabilitas,  skalabilitas,  configurability dan  sebagian  besar  dari  semua  keandalan  untuk  misi pekerjaan  penting.  Hadir  dari  Linux  dibangun  dan didukung oleh banyak masyarakat internasional pengembang  dan  pengguna  yang  didedikasikan  untuk perangkat  lunak  open  source.  Sebuah  ratusan  sistem operasi  berbasis  Linux  yang  tersedia  secara  gratis  hari ini.  GNU  /  Linux  dapat  menjadi  cara  alternatif  untuk pelajar  di  negara-negara  berkembang,  karena  salah  satu kelemahan  bagi  mereka  yaitu  biaya  yang  diperlukan untuk  mendapatkan  sistem  operasi  komersial  sangat mahal.  Situasi  ini  telah  membuat  perangkat  lunak bajakan  tersebar  luas  di  negara-negara  berkembang. Kehadiran Linux diharapkan untuk menghapus ketergantungan  pada  sistem  operasi  komersial  dan
mengurangi  kesenjangan  di  bidang  teknologi  informasi antara negara berkembang dan negara maju.

## A.  Latar Belakang Masalah
Linux  adalah  sistem  operasi  berbasis  GNU/Linux yang  bersifat  Open  Source  dan  memiliki  banyak  varian seperti  Debian,  Slackware,  Open  Suse,  Archlinux, Redhat dan sebagainya. Walaupun sangat banyak varian GNU/Linux  hanya  menyediakan  aplikasi  yang  sudah ditentukan yang  mungkin  kurang  bermanfaat  oleh pengguna  sehingga  hal  ini  mengakibatkan  banyak pengguna  yang  melakukan remastering untuk memenuhi  kebutuhannya. Remastering adalah  proses membuat  sistem  operasi  baru  dengan  mengurangi  atau menambahkan  fitur-fiturnya  dari  distro  GNU/Linux yang telah ada.
Ada  beberapa  GNU/Linux  hasil remaster dikhususkan untuk  kebutuhan  tertentu  diantaranya  seperti  Ubuntu studio  yang  dibuat  untuk  keperluan  multimedia. GNU/Linux sabily  yang dibuat untuk  umat  muslim dan Backtrack/Kali  untuk  kebutuhan penetration  testing . tujuannya untuk mempermudah, mempercepat pemasangan  karena  kendala  keterbatasan  koneksi internet  dan  konfigurasi  kebutuhan  pemrograman  pada GNU/Linux,

## B.   Rumusan Masalah
Berdasarkan  latar  belakang  masalah  diatas  penulis merumuskan beberapa masalah sebagai berikut:
Volume 1 Nomor 1, Oktober 2016
1. Bgaimana membangun sebuah Sistem  Operasi yang sesuai  dengan  kebutuhan  baik  individual  maupun yang tidak individual.
2. Bagaimana  membangun  Sistem  Operasi  agar  tidak terlalu besar dalam menggunakan resource komputer.
3. Menciptakan  alternatif  Sistem  Operasi  Komersial yang hampir dapat dikatakatan tidak memiki biaya.
4. Mengurangi Tingkat pembajakan Software khususnya Sistem Operasi.

## II. TINJAUAN PUSTAKA

## A,  GNU/LINUX
GNU merupakan singkatan rekursif dari “GNU's Not Unix”  (GNU bukan  Unix)  serta  dilafalkan ge-nuu . Proyek GNU diluncurkan  pada  tahun  1984  untuk mengembangkan -sebuah sistem operasi lengkap serupa Unix  yang  berbasis perangkat  lunak  bebas   yaitu sistem GNU.  Kernel  GNU  tidak  pernah  rampung, sehingga  GNU  menggunakan  kernel  Linux.  Kombinasi GNU dan Linux merupakan sistem operasi GNU/Linux, yang  kini  digunakan  secara  meluas. Proyek  GNU  telah mengembangkan  sebuah  sistem  perangkat  lunak  bebas lengkap  yaitu  ``GNU''  (GNU's  Not  Unix,  GNU  bukan Unix) yang kompatibel dengan
Unix. Richard
Stallman menulis  dokumen  pertama  dari  proyek  ini yaitu Manifesto GNU (31k huruf), yang telah diterjemahkan  ke berbagai  bahasa  lain. Pengumuman pertama perihal proyek ini ditulis pada tahun 1983. Kata ``bebas''  di  atas  menyangkut  pengertian kebebasan,  dan bukan bebas tidak membayar. Anda mungkin perlu atau pun  tidak  perlu  membayar,  untuk  mendapatkan perangkat  lunak  GNU.  Dengan  cara  yang  mana  pun, setelah  memiliki  perangkat  lunak  tersebut,  anda mendapatkan tiga jenis "kebebasan" dalam menggunakannya. Pertama, kebebasan untuk menggandakan  program  tersebut  serta  memberikannya ke  teman  atau  sejawat  anda.  Kedua,  kebebasan  untuk merubah source  code program  sesuai  dengan  keinginan anda.  Ketiga,  kebebasan  untuk  mendistribusikan  dan versi perbaikan, sehingga ikut  membantu pembangunan masyarakat  (Jika  anda  kita  mendistribusikan  ulang perangkat  lunak  GNU,  anda  dapat  meminta  biaya duplikasi,  atau  juga  dapat  memberikan  secara  cuma- cuma).

## B. Sistem Operasi Berbasis Linux
Linux  adalah  sebuah  aplikasi  atau  program  yang menggunakan  kernel  sebagai  sistem  operasi.  Script pertama  Linux  dirancang  dan  ditulis  oleh  seorang mahasiswa  dari  Finlandia  bernama  "Linus  Torvalds" untuk Intel 80386 arsitektur. Script lain dari Linux yang tersedia di Internet pada tahun 1991. Setelah itu, banyak
orang  bermain  peran  penting  dalam  mengembangkan dan  memperluas  Linux  di  berbagai  belahan  dunia. Sistemnya, peralatan  sistem dan  pustakanya umumnya berasal  dari sistem  operasi  GNU,  yang  diumumkan tahun  1983  oleh Richard  Stallman.  Kontribusi  GNU adalah dasar dari munculnya nama alternatif GNU/Linux .  Dia  menggunakan  alat  proyek GNU dan dengan demikian sistem operasi dikembangkan melalui proyek GNU / Linux.

## C. Struktur Sistem Operasi Berbasis Linux
Seperti  disebutkan  dalam  bagian  sebelumnya, meskipun  linux  merupakan  gagasan  dari  orang  banyak maupun spesialis, namun Linux bukanlah sistem operasi yang terurai.
Meskipun  bagian  yang  paling  penting  dari  sebuah sistem  operasi  adalah  kernel,  tetapi  kernel  bukan  satu- satunya  bagian  yang  tersedia.  Sistem  operasi  berbasis Linux  dapat  dirancang  dan  dilaksanakan  melalui menggabungkan  Linux  (sebagai  kernel  dari  sistem operasi)  dan  alat-alat  lain  seperti  kompiler,  konektor, perakit,  dan  alat-alat  tingkat  yang  lebih  tinggi  seperti editor teks dan intermediet grafis.
Gambar  1  menunjukkan  skema  sederhana  dan  umum dari sistem operasi berbasis Linux. Seperti dapat dilihat, kernel  disatukan  dengan  aplikasi  yang  memiliki program  agar  dapat  menciptakan  Distribusi  Linux.  Apa yang  membuat  distribusi  dan    variabel  berbeda  adalah manajemen struktur dan aplikasi di setiap bagian .

## Gambar 1. Skema kernel linux

## D.  Metode untuk mengembangkan Sistem operasi berbasis Linux
Secara  umum,  ada  tiga  (3)  metode  untuk mengembangkan sistem operasi berbasis linux yaitu:
-   LFS  (Linux  From  Scratch),  yaitu  pembuatan  linux dari nol secara manual.
-   Turunan, yaitu teknik untuk membuat turunan linux dari  linux  yang  sudah  ada  sebagai      acuan, dan  didalamnya  terdapat  paket  aplikasi  khusus  dari linux.
-   Remastering, mengubah linux yang sudah ada dengan menggunakan Software.

## 1.  Remaster
Secara  singkat  remastering  dapat  di  artikan  dengan suatu  proses  pembuatan  ulang,  pemaketan  ulang  sistem operasi dan aplikasi dari sistem  yang sebelumnya, pada proses  ini  anda  dapat  menambahkan  atau  menguragi aplikasi  yang  ada.  Sedangkan  software  remastering adalah software yang digunakan untuk pemaketan ulang dari sistem operasi mulai dari system, aplikasi, dan style atau tema

## a)  Alasan melakukan Remaster
Metode  ini  digunakan  untuk  mempersingkat  waktu, memfasilitasi  keperluan  pengguna.  Linux  induk  yang ada  belum  bisa  memenuhi  kebutuhan  penggunanya. Jikalau  bisa  memenuhi,  diperlukan  suatu  proses  atau usaha  misalkan  menginstall  aplikasi-aplikasi  yang diperlukan.  Hal  ini  penting  untuk  dicatat  bahwa  tidak ada  kebutuhan,  dalam  mengembangkan  distribusi dengan  metode  ini,  untuk  memiliki  khusus  atau informasi tentang pemrograman komputer dan pengetahuan bekerja dengan terminal Linux.
b )  Software Remastering
Sedangkan  software  remastering  adalah  software yang  digunakan  untuk  pemaketan  ulang  dari  sistem operasi mulai dari system, aplikasi, dan style atau tema. Ada beberapa pengembang yang menyediakan perangkat lunak Remastering antara lain:
- Mylivecd  untuk PCLinuxOS dan turunannya
- Remastersys  untuk Debian dan turunannya
- Reconstructor  untuk Debian dan turunannya
- Mklivecd  untuk semua distribusi Linux
- Ubuntu Customization Kit Ubuntu family
- Suse Stodio  Untuk Open Suse
c). Prosedur Remastering
1.  Instalasi distribusi
2.  Instalasi software Remastering diinginkan
3.    Memperkenalkan  CD  berdasarkan  script  mana  yang akan dikembangkan, direkomendasikan.
4. Menambahkan paket  yang diinginkan (sesuai dengan kebutuhan user).
5.  Menghapus  paket  tambahan  dari  CD  (seperti password).
6. memilih  pengaturan yang  diinginkan untuk menjalankan sistem. 7.  Mengembangkan citra virtual Script direkomendasikan. 8.   Menyalin script direkomendasikan. 9.  Menyediakan memori eksternal untuk
mengembangkan  script  yang  digunakan  oleh  USB. Hal  ini  dimungkinkan  pada  langkah  keenam  untuk menentukan  grafik  atau  teks  pada  sistem  yang berjalan,  password  untuk  root  administrator  dan pengaturan hardware.

## d)  Impelemntasi Remastering Linux
Lakukan instalasi software remastering sesuai dengan Sistem operasi  linux yang digunakan untuk Ubuntu dapat menggunakan software remastersys.

## Gambar 2. Instalasi software remastering
Setelah instalasi selesai selanjutnya melaksanakan proses remastering sistem operasi. Proses remastering ini memiliki beberapa pilihan proses antara lain :
- Backup, meremastering system linux ubuntu yang terinstall  secara  keseluruhan  termasuk  data- datanya.
- Dist, Meremaster  system  ubuntu  yang  terinstall dengan  memasukkan  beberapa  customisasi  yang sudah ada seperti theme,icon
- Modify,  Remastering yang dilakukan hanya pada perubahan filesystem.
- Clean , Membersihkan file-file singgahan
- Info  :  Menampilkan  Informasi  data-data  apa  saja yang disertakan
Volume 1 Nomor 1, Oktober 2016

## Gambar 3. Pilihan pada saat proses remastering

## Melaksanakan proses remastering dengan pilihan backup.
Gambar 4. Informasi linux dalam bentuk live cd

## Gambar 5. Proses remastering sedang berlangsung
Jika  seluruh  proses  berjalan  tanpa  adanya  kesalahan maka  proses  remastering  sistem  operasi  linux  akan tersimpan pada direktori mnt//shares/remastersys, dengan  tipe  data  iso.  Dengan  demikian  sistem  operasi Linux  yang  sudah  dirubah  dapat  dilakukan  pengetesan (instalasi).

## Gambar 6. Sistem Operasi Linux Remastering

## 2    LFS (Linux From Scratch)
Linux  From  Scratch adalah  metode  yang  digunakan dalam  membangun Linux sekaligus  nama  dari  buku panduan  yang  disusun  antara  lain  oleh Gerard Beekmans. Buku LFS menjadi panduan bagi penggunanya  untuk  membangun  sistem  GNU/Linux dari kode sumber.

## a)  Keuntungan dari LFS
Keuntungan dari metode LFS dapat digambarkan sebagai berikut:
- LFS  mengajarkan  orang  bagaimana  sebuah  sistem Linux  bekerja  secara  internal.  Bangunan  LFS mengajarkan  Anda    semua    tentang  membuat  Linux menjadi hidup, bagaimana segala sesuatu bekerja sama dan saling bergantung satu sama lain. Dan yang paling penting,  bagaimana  untuk  menyesuaikan  linux  untuk selera dan kebutuhan Anda sendiri.
- Membangun  LFS  menghasilkan  sebuah  sistem  Linux yang  sangat  kompak.  Ketika  anda  menginstal distribusi  biasa,  akhirnya  anda  menginstal  banyak program  yang  akan  Anda  mungkin  belum  pernah digunakan.  Program-program  itu  hanya  ada  di  sana memenuhi disk space. Tidak sulit untu kmendapatkan sistem LFS dipasang di bawah 100 MB. Apakah yang masih  terdengar  banyak?    Beberapa  developer  telah bekerja  pada  menciptakan  sistem  LFS  yang  sangat kecil.  Mereka  membuat  sistem  yang  cuku  puntuk menjalankan  server  web  Apache;  total  penggunaan kapasitas disk adalah sekitar 8 MB. Dengan perlucutan yang  lebih lanjut,  yang dapat  mencapai  sampai 5 MB atau kurang.
- LFS sangat fleksibel. Bangunan LFS bisa dibandingkan dengan bangunan rumah jadi. LFS akan memberikan  kerangka  dari  sebuah  rumah,    tetapi terserah  pada  Anda  untuk  menginstal  pemipaan, saluranlistrik,    dapur,    kamarmandi,  wallpaper,  dll Anda  memiliki  kemampuan  untuk  mengubahnya menjadi    jenis  sistem  apapun  yang    Anda  butuhkan, disesuaikan sepenuhnya oleh Anda.
- LFS  menawarkan  keamanan  tambahan.  Anda  akan mengkompilasi  seluruh  sistem  dari  source,  sehingga memungkinkan Anda untuk mengaudit semuanya, jika Anda  ingin  melakukannya,  dan  menerapkan  semua patch  keamanan    yang    Anda  inginkan.    Anda  tidak harus  menunggu  orang  lain  untuk  menyediakan sebuah  paket    biner    baru    yang    (semoga) memperbaiki  lubang  keamanan.    Seringkali,  Anda tidak  pernah  benar-benar  tahu  apakah  lubang
keamanan  itu  ada,  kecuali  jika  Anda  melakukannya sendiri.

## b)  LFS (Linux From Scratch)
Beberapa  persyaratan  utama  yang  harus  dipenuhi untuk  mengembangkan  Sistem  operasi  berbasis  Linux melalui  LFS.  Persyaratan  dibagi  menjadi  software  dan hardware.  Pada  bagian    sumber  daya  perangkat  keras, kita  perlu  sistem  untuk  bertindak  sebagai  host.  Titik signifikan tentang host adalah bahwa arsitektur prosesor menentukan  arsitektur  sistem  operasi  yang  kita kembangkan.  Distribusi  Linux  harus  diinstal  pada sistem  host.  Sumber  daya  perangkat  lunak  mencakup beberapa paket perangkat lunak, jumlah patch perangkat lunak dan kernel sistem operasi Linux .

## c) Implementasi Algoritma Metode LFS
Gambar 7, menunjukkan prosedur mengembangkan sistem operasi berbasis linux.

## Gambar 7. Flowchart pengembangan sistem operasi Linux
Seperti  sistem  operasi  pada  umumnya  LFS  juga  di install  pada  partisi  tertentu  yang  telah  kita  persiapkan terlebih  dahulu.  Kapasitas  minimal  untuk  melakukan semua  proses  pembangunan  LFS  sebesar  2  gb. Sedangkan  untuk  proses  kompilasi  dll,  kita  mungkin membutuhkan swap Dengan kapasitas yang cukup untuk bisa di gunakan oleh kernel untuk menyimpan data yang jarang  di  gunakan.  Dalam  membuat  partisi  baru  anda bisa  menggunakan  program  cfdisk  atau  fdisk.  Minimal anda harus mempersiapkan partisi yang nantinya akan di jadikan sebagai partisi root (/),dan swap. Setelah partisi dibuat, kemudian kita membuat filesystem linux : dengan perintah :
make2fs -jv /dev/<sda3>
Setelah partisi kita buat, partisi tersebut kemudian kita mounting, dengan perintah :
[root@localhost ~]# export LFS=/mnt/lfs
Setelah  kita  mounting  kemudian  kita  siapkan  direktori yang  akan  kita  pergunakan  untuk  melakukan  building, dan kompilasi.
[root@localhost ~]# mkdir -v $LFS/sources mkdir: created directory `/mnt/lfs/sources' [root@localhost ~]# chmod -v a+wt $LFS/sources mode of `/mnt/lfs/sources' changed to 1777 (rwxrwxrwt) kemudian  paket  linux  from  scracht    kita  letakkan  pada direktori  ”  /mnt/lfs/source/  “  Kemudian  membuat direktori tools dalam $LFS, kemudian kita symlink kan ke /tools [root@localhost sources]# mkdir -v $LFS/tools Membuat  user  baru  untuk  LFS  hal  ini  untuk  mencegah terjadinya  kerusakan  pada  system  kita  (yg  sedang running) apabila suatu saat terjadi kesalahan.
# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
Setelah itu berikan sebuah password dengan perintah :
# passwd lfs
Kemudian kita rubah kepemilikan dari direktori LFS nya :
[root@localhost sources]# chown -v lfs $LFS/tools changed ownership of `/mnt/lfs/tools' to lfs [root@localhost sources]# chown -v lfs $LFS/sources changed ownership of /mnt/lfs/sources' to lfs [root@localhost sources]# su -lfs -bash
Binutils  haruslah  di  install/di  kompile  pertama  kali, karena  digunakan  oleh  glibc  dan  gcc  untuk  melakukan proses  test  pada  saat  linker  dan  assembly,  untuk menentukan fitur mana saja yang akan diaktifkan. Untuk melakukan kompilasi, buat direktori lain, misalnya : Binutils-build,  kemudian  masuk  ke  direktori  tsb,  dan lakukan  tahapan  dari  proses  building  dan  kompilasi, dengan script :
# mkdir -v ../binutils-build
# cd../binutils-build
../binutils-2.22/configure \ --target=$LFS_TGT --prefix=/tools \ --disable-nls --disable-werror
Instalasi Paket Sebelum installasi paket gcc, kita harus mengekstrak paket :
mpfr gmp mpc PEMARTISIAN INPUT KERNEL BARU MENGGANTI ROOT MENAMBAH PAKET INSTALL SHELL HASIL
mengekstrak source dari gcc nya, dan membuat direktori untuk building, contoh: gcc-build :
$ mkdir gcc-build $ tar jxvf gcc-4.6.2.tar.bz2 kemudian  extract  ketiga  paket  tsb  ke  dalam  direktori hasil  extract-an  gcc-4.6.2  tadi,  dan  rename  menjadi nama yg singkat :
Instalasi  Kernel  Lakukan    untuk  kompilasi  dengan menjalankan perintah berikut:
“make  mrproper  “pastikan  pada  saat  di  konfigurasi memilih :
- Device Drivers
- Generic Driver Options
Maintain a devtmpfs filesystem to mount at /dev Tahap akhir ini mungkin ide yang baik untuk membuat / etc  /  lfs-release  file.  Dengan  memiliki  file  ini,  sangat mudah  bagi  Anda  untuk  mengetahui  LFS  versi  diinstal pada sistem. Buat file ini dengan menjalankan: echo 7.1 > /etc/lfs-release

## III. KESIMPULAN
Dalam  dunia  ini,  yang  disebut  "era  komunikasi", keamanan  informasi  tidak  diragukan  lagi  salah  satu prinsip yang paling penting dalam komunikasi di semua tingkatan.  Satu-satunya  cara  untuk  mencapai  tujuan  ini adalah  kebebasan  perangkat  lunak  dari  sebuah  negara, organisasi,  keamanan,  dan  bahkan  lembaga  usaha  kecil dan  besar.  Namun  hal  yang  paling  utama  beberapa infrastruktur  harus  disediakan  untuk  mewujudkan kebebasan  ini.  Sistem  operasi  merupakan  salah  satu komponen  yang  paling  signifikan  dari  infrastruktur
komunikasi  sebagai  perangkat  lunak  yang  paling penting  untuk  setiap  komputer.  Telah  dilakukan percobaan  desain  dan  mengembangkan  sistem  lokal melalui  LFS  dan  mengambil  beberapa  langkah  menuju tujuan besar  dengan menjaga keuntungan Remastering. Tentu  saja,  sistem  yang  dikembangkan  masih  dalam langkah pertama dan
harus  melewati  jalan  panjang  untuk  diselesaikan  dan menjadi tepat untuk penggunaan publik.

## REFERENSI
[1]   Beekmans, G.. Linux From Scratch. http://www.linuxfromscratch.org/lfs/downloads/7.2/LFS-BOOK- 7.2.pdf (12 November 2012).
[2]      Esteve,  J.J.  &  Boldrito,  R.S.  GNU/Linux  Advanced Administration.
Eureca Media, SL (2009).
[3]      Hicks,  A..  Slackware  Linux  Essentials.  Slackware  Linux,  Inc. (2005).
[4]   Masrurkhah, A. A., Danesh, A. S. & Taklimi, S. N. G. A Survey on
Implementation of A Linuxbased Operating System Using LFS Method. International Journal of Computer Science Issues 9, 170- 174 (2012).
[5]   Silberschatz, A., Galvin, P.B., & Gagne, G. Operating System Concepts Essentials. John Wiley & Sons Inc. (2011).
[6]   Stalling, W.. Operating System : Internals and Design Principles. Prentice Hall (2012).
[7]   Stallman, R. M.. Free Software, Free Society : Selected Essays of Richard M. Stallman. GNU Press (2002).
[8]      Tanenbaum,  A.S.  Operating  Systems  :  Design  and Implementation.
Prentice Hall (2006).