blog.ub.ac.idblog.ub.ac.id/nggimoshi1/files/2012/01/prak4-sisop.docx · Web viewMembuat hello...
Transcript of blog.ub.ac.idblog.ub.ac.id/nggimoshi1/files/2012/01/prak4-sisop.docx · Web viewMembuat hello...
TUGAS : TUGAS PRAKTIKUM 4 SISTEM OPERASI
NAMA : ANGGI GUSTININGSIH HAPSANI
NIM : 105060801111009
KELAS : C
ASISTEN : AULIA MEITIKA KUSUMAWARDHANI
1. Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. Tujuan dibuat sebuah modul kernel adalah untuk menyediakan fungsi-fungsi yang tidak disediakan secara default oleh kernel. Modul ini biasanya digunakan sebagai device driver.Program
2. Membuat custom kernel
1. Download kernel linuxversi 2.6.32, nama file: linux-2.6.32.tar.gz2. Copy download kedirektori /usr/src, laluxtractmenggunakanperintah
sudo tar zxf linux-2.6.32.tar.gz
3. Masukdirektori /usr/src/linux-2.6.32. Lalukonfigurasi kernel, samakankonfigurasidengankonfigurasi kernel andasaatini
4. Supayadalammengkompilasi kernel, yang dikompilasihanyamodul yang dibutuhkan system anda:
5. Untukmembuat clean build:
6. Kompilesemua source code menggunakanperintahsudo make all:
Proses compile
7. Setelahselesaikompilasi, masukkanperintah :
8. Sekarangmasukdirektori /usr/src. Instal kernel menggunakanperintah
9. Masukdirektori /boot, buatinitrd image
10. Update grub, supaya kernel yang barumunculpada boot
11. Instalasi selesai sekaran restart dan coba boot dengan kernel yang baru yaitu “Ubuntu, Linux 2.6.32-custom”
3. Membuat hello world module1. Buat program dengan nama hello2.c
2. Buat file Makefile lalu isi seperti dibawah ini
3. Compile dengan perintah make
4. Periksa informasi dengan perintah modinfo
5. Ketikkan perintah sudo insmod hello2.ko
Ketikkan perintah sudo lsmod | grep hello2
Masuk ke directory /var/log
Kemudian ketikkan perinta cat syslog
4. Menambahkan system call dalam kernel
1. Kita akanmembuat system call dengannamafungsimysyscall, untukitubuat folder mysyscallpada /usr/src/linux-2.6.32
2. Edit file syscall_table_32.S
tambahkanpadaakhir file:
3. Edit file unistd_32.h
Tambahkan #define __NR_mysyscall 337, setelahbaris #define __NR_perf_event_open 336. Janganlupamerubahbarisdibawahnyamenjadi #define NR_syscalls 338
4. Edit file syscalls.h
Tambahkankodeberikutsetelahbaris 881
5. Edit file Makefile
caribarisdengan text “core-y +=” (jarakantara ‘y’ dan ‘+’ 2 tab), danubahmenjadi:
6. Buat file mysyscall.cpadadirektori /usr/src/linux-2.6.32/mysyscall:
isikan source code system call baru yang akanditambahkansebagaiberikut:
7. Buat file Makefilepadadirektori /usr/src/linux-2.6.32/mysyscall:
isikan file sepertiberikut:
8. Untukmencobamenjalankan system call yang baruandadapatmembuat program kecilsepertidibawahini:
Program c.h
Program c.c
Compile program c.c,lalueksekusi
1.