Home Map Index Search News Archives Links About LF
[Top Bar]
[BottomBar]
Yararl� bir Linux s�r�m� yarat�m�
[no author]
Mooneer Salem
<mooneer(at)earthlink.net>

T�rk�eye �eviren :
Erdal Mutlu
<erdal(at)linuxfocus.org>


��erik:

 

Yararl� bir Linux s�r�m� yarat�m�

[Illustration]

�zet:

E�er, Linux i�letim sistemininde kendi a��l��/k�k (boot/root) disketlerinizi olu�turmak istiyorsan�z bu yaz�y� okuman�z� �neririm. Ayr�ca, Linux sisteminizin bak�m�n� yapabilmek i�in gerekli ara�larla ana diskinizi yap�land�rabilirsiniz!

_________________ _________________ _________________

 

Giri�

Bir veya iki disketlik Linux s�r�mleri s�z�n� veren sanaldoku sayfalar�n� hi� g�rd�n�z m�? Bunlar genelde az say�da program i�ermekte veya baz� �zellikleri desteklemektedir. Ben size gerekli olacak veya kullanaca��n�z her�eyi i�erecek a��l��/k�k (boot/root) disketinin nas�l olu�turabilece�inizi g�sterece�im.

�lk �nce, kendi Linux s�r�m�n�ze ne kadar yaz�l�m y�kleyece�inize ba�l� olarak bir veya iki adet bo� diskete gereksinim duyacaks�n�z. K�sacas�, sizin Linux s�r�m�n�z, a��l��/k�k (boot/root) veya belkide bir ek uygulamalar disketinden olu�acakt�r. E�er, yukar�da s�z� edilen terimleri bilmiyorsan�z, ilk �nce Bootdisk-HOWTO (A��l�� diski NASIl belgesi) ikinci b�l�m�ne ba�vurman�z� �neririm.

�imdi isterseniz art�k ba�layabiliriz. Disket/disk s�r�m� Linux'unuzu olu�turmak i�in uygulaman�z gereken ad�mlar a�a��da basit�e verilmektedir:

  1. Size �zel sade bir �ekirde�in derlenmesi.
  2. Diskiniz i�in bir dosya sistemi yarat�lmas�.
  3. Her�eyi disketinize veya disketlerinize kopyalanmas�.
 

�ekirde�in derlenmesi

Disketinizin toplan 1.44 MB'l�k (1440 KB) s��as� oldu�undan, as�l �ekirde�inizi diskete kopyalamak uygun olmamaktad�r. Yapman�z gereken yeni bir �ekirdek derlemektir. Bunun i�in �ekirdek kaynak dosyalar�n� /usr/src/linuz dizini alt�na yerle�tirmek ve bu dizin i�erisindeyken a�a��daki komutu �al��t�rmakt�r:

make config

Burada size sorulan sorulara, sadece ger�ekten gereksinim duydu�unuz destekleri verecek �ekilde cevaplay�n�z. S�zgelimi, ben sadece ext2, disket s�r�c�s� ve PPP deste�ini se�mekteyim. Sizin se�tikleriniz, yap�land�rmak istedi�iniz sisteme g�re farkl�l�k g�sterebilir. Sonra, a�a��daki komutu �al��t�r�n:

make dep; make clean; make zImage

make zImage komutu �ok �nemlidir! Bu komut elde edilecek �ekirde�i s�k��t�rmaktad�r. Komutun i�levi sona erdi�inde �ekirde�inizi, /usr/src/linux/arch/i386/boot dizininde zImage ad� alt�nda bulacaks�n�z.

 

Dosya sistemi: Sadece eski dosyalar de�il

�imdi diskimiz i�in bir dosya sistemi yaratmam�z grekecektir. T�m gerekli programlar� do�rudan diskete kopyalamak yerine, hepsini s�k��t�rarak kopyalayaca��z. B�ylce, kal�c� olarak bir �eyleri de�i�tirmek g�receli olarak daha zor olacakt�r. �lk �nce a�a��daki komutu �al��t�r�yoruz:

dd if=/dev/zero of=DEVICE bs=1k count=3000

Buradaki DEVICE, dosya sisteminizi s�k��t�r�lmam�� durumunda, diskte saklayaca��n�z yeri belirtmektedir. Daha sonra, a�a��daki komutu �al��t�rman�z gerekiyor. Yine buradaki DEVICE, bir �nceki komutta verilen yer olmal�d�r:

mke2fs -m 0 DEVICE

E�er, make2fs komutu size, bu i�i ger�ekten yapmak isteyip istemedi�inizi sorarsa, evet (yes) yaz�n.

Daha sonra yeni yarat�lm�� dosya sistemini sisteme ba�laman�z gerekiyor. Yeni yarat�lm�� dosya sistemi s�radan bir dosya i�erisinde oldu�undan, sisteme ba�layabilmek i�in �ekirde�inizin "loopback device" ayg�t� deste�i ile derlenmi� olmas� gerekmektedir. E�er, �ekirde�inizde (Sistemdeki �ekirdek, sizin disketler i�in yaratt���n�z �ekirdek de�il.) bu destek yoksa, onu yeniden derlemeniz gerekecektir. �ekirde�i yap�land�rma s�ras�nda kar��n�za gelecek a�a��daki soruya Y(yes evet i�in) veya M(module i�in) cevab�n� vermeniz gerekecektir.

Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?]

�nemle �zerinde durman�z gereken konu, derlemekte oldu�unuz �ekirde�in, sizin sistem �ekirde�i oldu�udur. Yani disketler i�in haz�rlad���n�z �ekirdek de�il. Dolay�s�yla, sisteminiz i�in gerekli t�m ayg�t ve ayg�t s�r�c�lerini se�meniz gerekecektir. E�er, loopback ayg�t�n� mod�l olarak derlediyseniz, onu modprobe loop komutuyla etkin duruma getirmeyi unutmay�n�z.

mount -t ext2 DEVICE /mnt
E�er, mount komutu hata verirse, a�a��daki komutu deneyin:
mount -o loop -t ext2 DEVICE /mnt

�imdi gereksinim duyaca��n�z t�m dosyalar� yeni yarat�lan dosya sistemine kopyalaman�z gerekecektir. �lk �nce /mnt dizinine ge�erek a�a��daki dizinleri yarat�n:

/dev
/proc
/etc
/bin
/lib
/mnt
/usr

/dev dizinindeki dosyalar� a�a��daki komutla kopyalayabilirsiniz:

cp -dpR /dev /mnt/dev

E�er, inode say�s� yeterli olmazsa, /mnt/dev dizininde yer alan ve gereksinim duymayaca��n�z ayg�t dosyalar�n� silebilirsiniz. /dev dizini i�in gerekli dosyalar� kopyalad�ktan sonra, /etc dizinine ge�elim. E�er, kendinizi sa�lama almak istiyorsan�z, /etc dizinindeki t�m dosyalar�, /mnt/etc alt�na kopyalay�n�z:

cp -dpR /etc /mnt/etc

Daha sonra /lib dizinini /mnt alt�na kopyalay�n�z:

cp -dpR /lib /mnt/lib

/bin dizinine gelince, sadece gerekli g�rd���n�z dosylar� /mnt dizinine kopyalam�n�zda yarar vard�r.

 

Her�eyi disketinize kopyalamak

�imdi, her�eyi disketinize veya disketlerinize kopyalaman�z gerekmektedir. Kopyalama i�leminden �nce, t�m dosya sistemini s�k��t�raca��z:

cd /
umount /mnt
dd if=DEVICE bs=1k | gzip -9 > rootfs.gz

Bu a�amada �nemli olan �ekirde�inizin b�y�kl���n� denetlemektir. /usr/src/linux/arch/i386/boot dizinine ge�in ve ls -l komutunu �al��t�r�n. Dosya b�y�kl��� olarak g�rd���n�z de�eri 1024'e b�lmeniz gerekecektir. S�zgelimi, �ekirde�inizin b�y�kl��� 250000 byte ise, yukar�daki hesaba g�re KB cinsinden bu 245 olur. Daha �nceleri, ROOTBEGIN diye bir iletiden �nce verilen KB cinsinden olan say�y� kullan�n. �imdi, �ekirde�inizi diskete a�a��daki komutu kullanarak kopyalayabilirsiniz:

dd if=zImage of=/dev/fd0

Yukar�daki komut, �ekirde�inizi diskete yerle�tirecektir. Daha sonra, �ekirde�inizin k�k dosya sistemini diskette bulmas� i�in a�a��daki komutu �al��t�r�n�z:

rdev /dev/fd0 /dev/fd0

�imdi onalt�l�k taban (hex) aritmeti�i yapman�z gerekecek. ROOTBEGIN'de elde etti�iniz say�ya onalt�l�k tabana �evirdikten sonra 4000 ekleyin (�rne�imizde bu F5 dir.). Sonucu, onluk tabana �evirin ve a�a��daki komutu 16629 say�s� yerine elde etti�iniz say�y� yazarak �al��t�r�n:

rdev -r /dev/fd0 16629

Son olarak a�a��daki komutu �al��t�rarak, dosya sisteminizi disketenize kopyalay�n:

dd if=rootfs.gz of=/dev/fd0 bs=1k seek=ROOTBEGIN

Root dosya sisteminiz disketinize, �ekirdekten hemen sonra kopyalanm�� olacakt�r. ��te bu kadar! �kinci disket i�in olan s�re� daha basittir. Diskette yer almas�n� istedi�iniz dosyalar� kopyalamak yeterli olacakt�r. Ancak, ikinci disketteki dosyalar� kullanabilmek i�in, birinci disketle sistemi a�arken, a�a��daki komutu vermeniz gerekecektir:

mount /dev/fd0 /usr

Son bir a��klama: E�er, biraz daha u�ra��rsan�z, olu�turdu�unuz Linux s�r�m�n� yeni bir "Linux da��t�m�" olarak toplulu�a sunabilirsiniz. Sadece bir d���nceydi :)


Daha fazla bilgi i�in:

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r.
© Mooneer Salem, FDL
LinuxFocus.org
�eviri bilgisi:
en --> -- : Mooneer Salem <mooneer(at)earthlink.net>
en --> tr : Erdal Mutlu <erdal(at)linuxfocus.org>

2002-11-02, generated by lfparser version 2.34