[Pardus-kullanicilari] mkinitramfs sorunu, xen modullerimi eklemiyor

Emre Erenoglu erenoglu at gmail.com
2 Ara 2007 Paz 02:56:18 EET


Onur Hocam selam, yanitin icin cok tesekkurler, benim yanitlarim da asagida:

On Dec 1, 2007 7:29 PM, Onur Küçük <onur at pardus.org.tr> wrote:

>
> > devel'den derledigim mkinitramfs simdi ekledigim moduleri dahil ediyor
> > initramfs dosyasina, ancak ne hikmetse bu modullerden sadece birini
> > modprobe ediyor, digerlerini etmedigi icin de disk device'larim
> > calisamiyor.
>
>  Bir modülün initramfs de yüklenmesi için ya bir başka modülün
> bağımlılığı olması (module alias) ya da sistemde bulunan bir aygıt
> listesinde tanımlı olması (örneğin kendini belli bir PCI ID sine sahip
> aygıtı çalıştırıyor olarak tanımlaması ve o PCI ID sinin açılan sanal
> ya da gerçek sistemde var olması) gerekiyor. Bunun dışında modüller
> gerekiyorsa initramfs betiğini değiştirip elle yüklüyoruz.
>

OK, benim bu modulum xen ile ilgili oldugundan (Paravirtual moduller, HVM
domain icinde calismasi icin), sanirim PCI device'i yok, haliyle de load
edilmiyor.


> > Sorunu anlayabilmis degilim. Eger su komutlari initramfs komut
> > satirinda iken elle girersem sistemim boot etmeye basliyor:
> >
> > modprobe xen-vbd
> > modprobe xen-vnif
> > mknod /dev/xvda1 b 202 1
> > mknod /dev/xvda2 b 202 2
>
>  Modüller blockdevice oluşturuyor sanırım. mknod lar gerçekten
> gerekiyor mu ? Bu işlemi normalde coolplug la yapıyoruz.
>

xen-vbd block device, xen-vnif de virtual network interface yaratiyor.
Coolplug bu xen-vbd modulunu probe etmiyor cunku bu moduller
xen-platform-pci modulune gereksinim duyuyorlar ve sanal disk olusturuyorlar
(xvda). Ilginc olan, eger normal calisan sistemde modprobe yaparsam /dev
altinda gereken device'lar yaratiliyor, sadece bu busybox ortaminda
yaratilmiyor, elle yaratmak gerekiyor /proc/partitions altina bakarak.


>
>  Modüller yüklenmeden önce ve sonra /sys/block da bir değişiklik oluyor
> mu ?
>

buna bakmam lazim dogrusu.


>
>
> > mount /dev/xvda1 /newroot
> > exec switch_root /newroot sbin/init
> >
> > xen-platform-pci modulu, bu xen-vbd ve xen-vnif tarafindan gereksinim
> > duyulan ana modul, initramfs komut satirinda lsmod diyince bu modulu
> > gorebiliyorum, ancak xen-vbd ve xen-vnif calismiyor gorunuyor. Elle
> > yukardaki komutlari girince sorun kalmiyor.
> >
> > Diger notlar:
> > - mkinitramfs'in kullandigi script'i bulmaya calistim, /lib/initramfs/
> > altinda init script'i buldum
>
>  Evet script doğru
>
> >, onu elle degistirerek yeni bir
> > probe_xenpv fonksiyonu ekledim, tekrar mkinitfamfs ile ramfs'i
> > yaptim, ancak ne hikmetse sistem acildiginda bu degistirdigim dosyayi
> > goremiyorum (initramfs prompt'ta), hep eski haliyle duruyor oluyor.
> > Ama sistemi boot edip bu ramfs dosyasini cpio ile acinca ise
> > gorunuyor, anlamadim derdi ne...
>
>  Birşeyleri gözden kaçırıyor olmayasınız ? mkinitramfs dosyalarını
> geçici bir dizinde oluşturup eski initramfs dosyalarının üzerine
> yazıyor. Karışmaması lazım.
>

Gozden kacirmisim, dogru dosyayi /root altina aciyormusum ama /boot altina
atmayi unutuyormusum. Kusura bakmayin :)


>
> > - initramfs'de iken modprobe ile xen-vbd ve xen-vnif modullerini
> > yukledigimde, soyle bir hata mesaji aliyorum, ancak modul yukleniyor
> > gene de:
> > insmod: cannot insert
> > '/lib/modules/2.6.18.8-86/xen_platform-pci.ko' : File exists (-1):
> > File exists
>
>  Bu modül zaten hafızada yüklü demek. Yukarıdaki her iki modülün de
> bağımlılığı ise birinde pci modülü yükleniyor diğerinde tekrar
> yüklenmeye çalışıyor olabilir. Busybox daki modprobe bağımlılıklar daha
> önceden yüklenmiş mi diye kontrol etmiyor olabilir.
>
> > burada modul adindaki "- ve _" lerin bir onemi var mi? yani - mi
> > olmali yoksa _ mi? burda mi sasiriyor acaba?
>
>  Normalde var ama busybox ı bu durumun üstesinden gelebilecek şekilde
> yamaladık (fancy-modprobe.patch). Bu - ve _ sorun çıkarmamalı.
>
> > - /bin/coolplug ne is yapar? init dosyasinin icinde gordum,
> > calistirinca benim xen-platform-pci modulumu yuklemeye claisiyor
> > (digerlerini yuklemeye calismiyor).
>
>  Initramfs için yazdığımız bir aygıt tanıma programı. PCI, USB, SCSI
> aygıtları tarayıp varsa ilgili kernel modüllerini yüklüyor ve device
> node larını oluşturuyor. Kaynak kodu şurada
>
>  http://svn.pardus.org.tr/uludag/trunk/comar/mudur/src/


Guzel, tabii benim derdim xen altinda oldugundan bunun icin ekstra bi
eklenti yapmaya degmez.

<http://svn.pardus.org.tr/uludag/trunk/comar/mudur/src/>
>
> --
>  Onur Küçük                                      Knowledge speaks,
>  <onur.--.-.pardus.org.tr>                       but wisdom listens
>
> _______________________________________________
> Pardus-kullanicilari e-posta listesi
> Listeden çıkmak için
> http://liste.uludag.org.tr/mailman/listinfo/pardus-kullanicilari adresini
> kullanın.
> Listeye iletmek istediğiniz soruları  Pardus-kullanicilari at pardus.org.tre-posta adresine gönderin.
> Liste mesajlarında arama yapmak için http://liste.pardus.org.tr/arama web
> sayfasına gidin.
>

yazdigim init script'i ekte gonderiyorum, esasen gerekliliginden cok emin
degilim ama su anda sistemi grub'da (root= ve xenpv=) parametleri ile PV
suruculerle ya da standard ioemu suruculeriyle acabiliyorum, istersem
dogrudan donanim ustunde de calistirabilirim sanirim.

-- 
Emre Erenoglu
erenoglu at gmail.com
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: http://liste.pardus.org.tr/pardus-kullanicilari/attachments/20071202/d81cce32/attachment-0001.htm 
-------------- sonraki bölüm --------------
Yazı olmayan bir eklenti temizlendi...
İsim: init
Tür: application/octet-stream
Boyut: 6846 bayt
Tanım: kullanılamıyor
Url: http://liste.pardus.org.tr/pardus-kullanicilari/attachments/20071202/d81cce32/attachment-0001.obj 


Pardus-kullanicilari mesaj listesiyle ilgili daha fazla bilgi