[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