Şirketimize kurulacak erp sistemi için yeni aldığımız HP DL380 Gen9 Server’e Debian 7.8.0 (Wheezy) işletim sistemi kurulması istendi.
Problem:
HP DL380 Gen9 Serverdeki P440ar RAID controller Debian 7 (Wheezy) tarafından tanınamıyor.
Şimdi bu yazıyı okuyor olduğunuza göre büyük ihtimalle bir HP Gen9 Sunucuya Debian kurmaya çalışıyorsunuz..
Çözüm:
Çok kolay değil fakat imkansız da değil.
Burada Anlatılan çözüm yol gösterici olacaktır. (muhtemelen aramanızda siz de bu makaleye denk gelmişsinizdir, incelemenizde fayda vardır, zira konu ile ilgili nerdeyse tek referans bugüne kadar sadece buradaki anlatım idi.)
Çözüm kendi donanımınız için hpsa modülü derlenmesidir..
Önce Buradan 3.4.8-10 yada daha yeni sürümünü indirin.
Gerekenler:
1- Sabır, (Boş zamanlarda bol bol tesbih çekerek kazanabilirsiniz 😉 )
2- Kurmak istediğiniz Debian sürümü Kerneli ile çalışan bir bilgisayar
(Ben Virtual box üzerinde Debian 7.8.0 (Wheezy) üzerinde çalıştım.)
3- 7 Zip yada benzeri cpio formatını destekleyen bir arşiv yazılımı.
4- iso imajını düzenlemek için bir yazılım ( Power iso vb. )
Başlayalım..
Eğer sanal makinenizdeki Debian Linuxunuzda bzip2 yok ise evvela yükleyelim.. bzip2 Sourceforge kaynağından indirdiğimiz hpsa kaynağını açmamız için gerekli
#apt-get install bzip2
Kaynak dosyamızı Download dizinine indirelim, Kaynak dizinimizi hazırlayalım ve hpsa kaynağını açalım
# mkdir ~/src
# cd ~/src# tar -xjf ~/Download/hpsa-3.4.8-140.tar.bz2
# cd hpsa/drivers/scsi
hpsa sürücüsünü derlemeden önce hpsa_kernel_compat.h dosyasını düzenlememiz gerekiyor. Bu dosya içinde üzerinde derleme yapacağımız işletim sistemini seçerek karşısındaki yorum satırını kaldırıyoruz. (Debian Linux bu listede yok fakat Debian SUSE Linux Entrprise Server 11 Sp1 kerneli ile geliyor, bu yüzden ilgili satırın yorum tagını kaldırıyoruz.)
hpsa_kernel_compat.h dosyası içindeki
/* #define SLES11sp1 */
Satırını;
#define SLES11SP1
olarak değiştiriyoruz.
Linux sisteminde derleme yapabilmek için gerekenleri BURADA anlattım;
Artık hpsa sürücümüzü derleyebiliriz.
Modülü derleyebilmek için mutlaka kernel header dosyalarınızı kurmanız gerekiyor
kernel sürümünüzü öğrenmek için
# uname -r // Bu komu kernel sürümünüzü gösterecektir, anlatımda $kernel olarak belirttiğim yere kernel versiyonunu yazacaksınız.
Komutunu kullanabilirsiniz
Kernel headeri yükleyelim
(benim kernel versiyonum Debian 7.8.0 (Wheezy) kurulumu ile gelen 3.2.0-4-amd64 )
# apt-get install linux-headers-$kernel
derlememizi yapıyoruz;
# ./make yada
# make
eğer herşey sorunsuz olarak tamamlanırsa hpsa.ko dosyamız oluşacak.
hpsa.ko dosyasının yeri:
# /lib/modules/3.2.0-4-amd64/kernel/drivers/scsi
Bu aşamadan sonra hpsa.ko dosyasını USB belleğe kopyalayalım.
Buraya kadar olan adımları sorunsuzca tamamlamış iseniz bundan sonraki aşama kuruluma geçmek olacak.
Bundan sonrakı kısmı sadece bilgi olsun diye yazıyorum..
Yazının sonunda bu aşamadan sonra böyle uğraşmadan nasıl devam edileceğini anlatacağım ama, bilgi bilgidir değil mi?
Devam ediyoruz..
Debian 7.8.0 Kurulumuna başlıyoruz,
Kuruluma başlayalım, dil, bölge vs ayarlarını yapalım.. Disk tanıma aşamasında diski tanımayacak ve modül listesi listelenecek.. Listenin en altına inelim ve bunlardan dışında seçeneği ile devam edelim. Debian kurulumu bu aşamada bize sürücümüzü bir USB diskten yüklemek isteyip istemediğimizi soracak.. USB diskimizi takalım ve evet diyelim, ardından
CTRL + ALT F2 ile yeni bir terminal penceresi açalım..
Aşağıdaki komutlarla;
* USB diskimizin hangi aygıt olduğunu öğreneceğiz,
* USB diskimizi bağlayacağız,
* hpsa.ko dosyamızı kernel SCSI sürücüleri içine kopyalayacağız,
* hpsa modülünü okutacağız, ve
* kuruluma devam edeceğiz…
# dmesg
(çıktı sonucunda USB diskimizin örneğin sda1 aygıtı olduğunu öğreniyoruz)
# mkdir /mnt/usb
# mount /dev/sda1 /mnt/usb
# cd /mnt/usb
Komut >> cp hpsa.ko /lib/modules/$kernel sürümünüz/kernel/drivers/scsi
# cp hpsa.ko /lib/modules/3.2.0-4-amd64/kernel/drivers/scsi
# modprobe -r hpsa
# modprobe hpsa hpsa_allow_any=1
Bu aşamada tekrar
# dmesg
komutu veriyoruz ve çıktısında HP Gen9 Sunucumuzun P440ar denetleyicisinin tanındığını görüyoruz.
# umount /mnt/usb
Komutu ile USB diskimizi ayırıyoruz ve USB diskimizi çıkartıyoruz. ALT F5 ile tekrar kurulum ekranına dönüyoruz ve disk algılama işlemini tekrarlıyoruz. Artık RAID Diskimizin algılandığını görüyor ve Debian 7.8.0 Wheezy kurulumumuza devam ediyoruz.
Kurulumu bu şekilde tamamlayıp sistemi yeniden başlattığımızda sistem büyük ihtimalle açılmayacak ve initramfs ‘e düşeceğiz…
initramfs den kurtulmanın yolu sistemi ya recovery konsolu ile yada aynı kernele sahip bir live bir linux ile açmak ve kurulu sistemi bağlamak ve linux imajını yeninden konfigüre etmektir (emin olun ki çok zor iştir ve defalarca hatta belki de inadınıza bağlı olarak günlerce sürecek başarısız denemeler sonucunda saç baş yolmanız muhtemeldir)
illa ki yapayım diyorsanız;
aynı yukarıda anlattığım şekilde hpsa.ko dosyasını aynı yere kopyalayın ve RAID sürücünüzü tanıtın.. dmesg komutu ile root diskinizin hangisi olduğunu görebilirsiniz. Root diski sdb1 olduğunu varsayalım ve devam edelim.
# mkdir /mnt/system
# mount /dev/sdb1 /mnt/system
# cp hpsa.ko /lib/modules/3.2.0-4-amd64/kernel/drivers/scsi
# chroot /mnt/system
# dpkg-reconfigure linux-image-3.2.0-4-amd64
# reboot
Şimdi de initramfs düşmeden kurulumu nasıl tamamlayabileceğimize ve sorunsuzca sistemimizi çalıştırabileceğimize bakalım.
Bu işin en doğru yolu derlediğimiz hpsa modülünü Linux kurulum imajınıza entegre etmektir. Bu işlem için hpsa.ko dosyamızı kurulum isosu içindeki initrd.gz içine gömmemiz gerekiyor.
Hadi başlayalım..
* Bir windows makinemizde C sürücüsünde hpsa-serdar isminde klasör oluşturalım
* 7zip ile kurulum isosunu açalım,
* install.amd klasörünü bulalım,
* buradaki initrd.gz dosyasını hpsa-serdar klasörüne kopyalayalım
* initrd.gz dosyasını bu dizine açalım (klasöre initrd isimli yeni bir dosya çıkacak)
* initrd.gz dosyasını silelim, çıkarmış olduğumuz initrd dosyasını 7zip ile initrd~ klasörüne açalım
* hpsa.ko dosyamızı \initrd~\lib\modules\3.2.0-4-amd64\kernel\drivers\scsi dizinine kopyalayalım
* \initrd~\ klasörü ana dizine gelelim ve klasör içeriğinin tümünü seçelim, sağ mouse tıklaması ile 7zip – Arşivle ile .tar biçiminde zipleyelim
* oluşan initrd~.tar dosyasını dışarı alalım
* initrd~ dizinini silelim
* initrd~.tar dosyamızın adını initrd olarak değiştirelim
* initrd dosyamızı seçerek sağ tıklayalım ve 7zip ile arşivle seçeneğini seçelim, açılan pencereden Arşiv biçimi olarak gzip seçelim, tamam tıklayalım..
* yeni initrd.gz dosyamız oluştu..
Şimdi sıra geldi initrd.gz dosyamızı kurulum medyamız içine gömmeye;
* Debian 7.8.0 (Wheezy) kurulum isosunu hpsa-serdar dizinine kopyalayalım ve Power iso ile açalım,
* install.amd\ dizinindeki initrd.gz dosyasını silelim
* yeni initrd.gz dosyamızı install.amd\ dizini içine kopyalayalım,
* iso dosyamızı kaydedelim ve bir DVD ye yazalım,
* Debian 7.8.0 wheezy kurulumunu yeni DVD mizden yapalım
Tercihan disk tanıma aşamasında CTRL + ALT + F2 ile yeni bir terminal penceresi açalım şu komutları verelim;
# modprobe -r hpsa
# modprobe hpsa hpsa_allow_any=1
# exit
* ALT F5 ile kurulum ekranına dönelim ve disk tanıma adımını yenileyelim.
* RAID sürücümüz artık görülmekte..
* Kurulumu normal bir şekilde tamamlayalım
* Sistemimiz yeni Debian 7.8.0 Linux ile sorunsuz bir şekilde açılacaktır..
Burada anlattığım şeyleri yaptığı halde modül derlemeye başarılı olamayanlar için hpsa.ko dosyasını ve initrd imajını aşağıda paylaştım.
hpsa.ko BURDAN İNDİR
hpsa içeren initrd.gz BURADAN İNDİR
Hadi geçmiş olsun 😉