BlankOn

Page 1

BlanKonf 2010 1 Agustus oleh: Dwi Sasongko S <ruckuus@gmail.com>


Pengertian Umum

Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi.

Perangkat ini yang menjadi penghubung antara perangkat keras dan aplikasi pengguna.


Compiler

gcc --version

Linker

binutils

Ld -v

Make

Make

Make --version


sudo apt-get install kernel-package

sudo apt-cache show kernel-package


Kode sumber

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.x.x.*

Patch

kernel.org

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/patch2.6.x.x.*

Situs lain

Platform specific

Hacking/devel version


Apa itu?

penambahan/pengurangan kode sumber

HOWTO:

patch -p1 窶電ry-run < ../file-patch.patch

patch -p1 < ../file-patch.patch

git apply file-patch.patch


Debian

$ make-kpkg clean

$ fakeroot make-kpkg –initrd –apend-to-version=-label_string kernel_image kernel_header

LABEL_STRING: Penanda versi rilis

NOTE:

Initramfs tidak terbentuk sejak rilis Lucid sudo mkinitramfs -k -o initrd.img-2.6.3215+drm33.5-no-custom 2.6.32.15+drm33.5no-custom


Debian

$ dpkg -i linux-image*

$ dpkg -i linux-headers*

$ sudo update-grub2


Configuration Tools

Kconfig – menuconfig, xconfig, gconfig


y: untuk menjawab iya; fitur akan dikompile secara built-in

n: untuk menolak; fitur tidak akan dikompile

m: module, fitur akan dikompile sebagai kernel module, nantinya akan dipasang ke kernel pada waktu runtime

?: untuk melihat keterangan pada fitur


Develop Kernel

Untouchable Codes?

Sulit?


!

Gunakan Linux

BlankOn-Dev, Pengembang BlankOn

LDD – Linux Device Driver

Hello World Device Driver ;-)


∀ ∀ #∃ %

hello.c

Makefile


∀ ∀ #∃ % static int __init device_init(void) { int ret; printk(KERN_INFO "Hello World"); return SUCCESS; } module_init(device_init);


∀ ∀ #∃ % & obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean rm -f *.c~ Makefile~ *.symvers


∀ #∋( # sudo insmod hello.ko # dmesg | tail



! ∀ ∀ # ∃ %


& ∋ % &


( ∃ &

) ) ∗) +)


,


− . /


,


0 0 ∗ 0 ∗ ∃ ∗ . /



, , , , ,


,


. 12#34 + /


,



& 0 0 )



− . /





− &


5 ))


&


− &/



,


4 6 7 ∗ %∗ & 4


∗ 8

&33 ∗ ) 3 ∀ ∀3∀93 :3 0 ∗ 0∗ 3


3;∗ ∗ ∗ < . )))/ 0




& ) ) ) 7 ) ) 7 ) ∗


3∗ & 0


3∗ % ∗ & ∗

% ∗ &

& & ∋ % = > +) ? 0 & .?≅ Α/ ∗ Î’)90 ∃ Î’)90 ∃ % 0Χ & )Α) 5 &

&33 )∗ ) ) ) 3∗ 3

∗ & ∗

( ∗ ∗ & & ∆; & < ∗ & ∗


,


≅ ∗


∗



∗ −



& ∗ .∗/ 0 3 . 0 /


0 0 3∗ ∗


− ∗


∗ ∃


8 & − − − 3 3


& 0 0 0 ∗ .# / 0 Ε 7 . / 0 Φ9 Î’Φ ! ∀ #

∃ %

&

∋( )



∗ ) 7


.3 ∗3 ∗ ∆;5 Γ<3) ∗/

− ∗ − ∗


;∗ <


0 Η 0 ΗΗ Ι 1 .,/ 0 ∗ 3 ∗ 0 .∗/ ΗΗΗ 0 & ∗ 3

Η ) ∗ ΗΗ − ∋ ) % − ϑ ΗΗΗ 0 ∃ ∗ 0


3 ∗3 3 ∗ ) &

&33 3 + ∗ + 0 ∗


4 04


) ) ∗

) 9) Κ) − ∗


)


. / ∆ ) ∗ + Γ Λ#442( Γ≅Μ∋ % Μ + Γ Γ (∋4≅Μ > +) Μ + Γ ∋Ν Ο≅Μ∃ Μ + (Ν5≅Μ3 3 ∗ 3 &3 3 &3 &∆5 Γ3 3 ∃3 ∗ Μ

∆ ∗ ) ∗ 8(Ν(Ν(2& ) ∗ ) Π &/


. / ∆ 0 0

∗ & . / %( Γ . / . / %( . / .Κ/ Ο%( . / Θ ∗ , %( ∃ ∀ 9 ) Γ410Γ ∀ 9 9∀:Φ )


. / 6 7 , . ∀9Β/ Ο Ε 7 ∀9Β

∗ ∃ ) ∀ ≅ + = ? ≅ + = ? ≅ + = ? ≅ + = ? ≅ + ∃ , .∀/ + ∀ ! ∀ ∀Β& ∀& 9 ( #Ν8 ∋ ∗ ∗ , . 32/


.9/ Θ ∋ Ρ ∗ ∗

∋ Ο 2 8 Γ ( & Μ5 ∗ 5 . ∗ / = ∗ > ) ?Μ Ο & ∋ % Γ & > +) 8 & Θ ∗ #%ΓΟ0∋ & Μ∋ % . / = > +) ?Μ 8 .2/ .8/ .Γ/ . / 3.Σ/ ,


.Κ/ 6 ) ∋ ∗ . ∃ 7 / Ρ ∃

∗ ∗ ) )ΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤ)ΤΤΤΤΤΤΤΤΤΤ)))ΤΤΤΤΤ)ΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤ)ΤΤΤΤΤ)ΤΤΤΤΤΤΤΤΤ Τ))ΤΤΤΤΤΤΤΤΤΤΤ ΤΤΤΤΤΤΤΤΤ))ΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤ)ΤΤΤΤΤΤΤΤΤΤ)))ΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤΤ)ΤΤΤΤΤΤ ΤΤΤΤΤΤΤΤΤΤΤΤΤΤ ?ΤΤΤΤΤ))ΤΤΤΤΤ?)ΤΤΤΤΤ)))))ΤΤΤΤΤΥΥΥ & ςςςςςςςς ∗ ∗ ∗ )


.Φ/ & ∗ ∗ & . / ∗ . / 1 & & ∀ ∃ & & ∀ & ∀0 ∀Ε ∀ ∀ ∀ & + ∗ ∗ ∀ 0∀ 0∀ ∀ 9ς3ςςςςςςςς ∀ ∀0∀ 0∀Β Ω + & ∀ 0∀ 0∀ Ξ ≅ ΚςΑ∀ : ςΚ ΑΚΦ( ςςςς 9 Φ9 Β Φ9 ΦςΒΑ ς ς ς ΦΒΒΑ ∋ % . / = > +) ? ∀9Β+39ςςς :Κ9 ∀ ∀0∀ 0∀Β Ω + & ∀ 0∀ 0∀ Ξ


.Α/ ∆ ∃ ) ∗ ∋ΟΟ Ο%∋ΝΓ≅

&33 ∗ 3 3 Γ Ν%ΝΟ( ≅Μ Μ ∋%ΝΟ∋ #Ν∋ 2≅Μ Μ 8 2Γ2Ν%≅Μ + ∗ + 0 ∗ Μ (#Ν Π Γ %∋12≅ ( Ν8(85Γ≅∆5 Γ3 0 ∃3 3∗ ∗ 3 #∋4 4(8Γ≅∆5 Γ3 0 ∃3 3 3 #∋4 ΟΓ%#4Ν≅∆5 Γ3 0 ∃3 3 3 ∋2 #2Ν%≅∆5 Γ3 0 ∃3 3 3 5 ∋Ο≅∆5 Γ3 0 ∃3 3 3


.Β/ &

∆ 0 3 3 3 3∃ 3 3

0 & ∆ 0 ∆5 Γ3 0 ∃3 3; ∗ ∗ < ∆ ∆5 Γ3 0 ∃3; < & − Ο( 9 1 ∗ − ∆ 0 ∆ #∋4 4(8Γ


∗

∆ ∗ 5 & 3∃ 3∗ ∗ 3 3 ) 7


Ψ âˆ— Ψ& ) − .∗/ ) Η ) ) − 9) ) 7

Η ∃)∗ ∗ )


0 Ν 3 − & ( 8 Γ . Β / ∋ Ζ


8 Ζ3 3 + 00 ) 8 ∗ ∗ 0∗ ) ∀∀Κ ∀∀Α ! ∗ # 0 ∗ Μ∋ Ε Μ 1 ∆. 3 3 3Η) [ 0 ∴ )Η3 Ρ Π)Η ∴ /Ρ 0 0 00 ∗ 0 Μ∆ 1Μ [[ 0 ∃ 0 Μ∆ 1Μ [[ ∗

0 3 3 3Η) )))


∆ 0 ∗ Η . Η;) ) ) 7 ) ) 7 ) ∗</ ∗ & − 0 ∗ 0+ ) ∗ #Ο43 ) ∗ − Ψ 0% 0 Ψ

Η 0 ∗ ∗ )


ΠΗ 3 ∗ 0% 0 ) ∗

Η 3


∆ ) ∗

− & ) 7 ∆ #∋4 4(8Γ ∗

5 ∆ #∋4 ΟΓ%#4Ν 8


! ∗ 3

0 3∗ ∗ , ∃ ∆; & < Ρ/


! ∃ ∃ ∆ #∋4 4(8Γ ∆5 ∋Ο . / 5(4 Ε + ∗ ∃


# ∆ #∋4 4(8Γ ∆( Ν8(85Γ& ∆ ∗


− −


#− ∗

& 0 ) 3 ) &


∗

# ∗ . ∃ / &/


, − 3 3))) ))) Θ 0 3 0 3


8 08

3 3 3 ∗3 3 + 3


Î’


#Ο4

&33 +) 3 ∃ Π

&33 ) )− 3Ι ∗ 3 3 0 ∗3

&33 ) )∗ 3 ∗ 3Ν 34 3 ∀∀:0∀Φ0 Κ


,

, ,


4 8 ∃ 8 (

0% ( .880 Θ0%(/ )∀ ∗ ∗ #Ο40


% > +) > ) ∗)



! ∀ # ∃

%

& ∋ & ( (


! ) ( ∗ ( ∗ ) % ( + ) & ,− . ) & ,− . /0


− & 1 2 3 454 1 67/ /0 . − ( 1 ∗ . 8 ( 1 67/ 7 /0 9


! ∀ # ∃%

( # . ((

67/

− . . +

% # . .

: 1 ; < % # < = # < % < > < < < ? < ∋ +


& ∋ ( ∃


)! ∗ + ! # % %

( # . (( % < 1 < ( <

67/

> .


∗

( # .

67/

≅ . ( ( ( (

∋ . . . . (


) &

∋ & Α ∋ ! ∗ ∀ =< 8 > < Î’ Χ( < ∆&∆ ∗ 8 ( & ∗ & Α ∋ .

Α ∋ =

Α ∋


) &

∋ Α ∋ & Α ∋ ≅ Α ∋ 3 ≅ Α ∋ −


)


+ ! !

( ∗ ( ∗ 1 . # . ( (

% +

% (( . ∗ . ∗.

% . ∗ /0 . ∗. /0

> &


&

& ( ! . (( Ε

. (

3 +

>

&

%

≅−Φ


&

% (

& − ( Γ


! − & 1 Η 3 455 1 67/ /0 . − ( 1 ∗ . 8 ( 1 67/ /0


) ∗ !

% ( Α Ι Α &


, ! − ! − !

& (( . ( + ( . ( ( < (( . (( ,− (


) & ,

% ∋ < ( ( # ( . ∗


! !∋

+ . # < ( 1 ∗ < ( (< %− < ( ∀ . ( ∃


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.