Raspberry Pi Virtualbox veya Qemu ile bilgisayar ortamında Sanal çalıştırmak

Başlatan gnukarabatak, 05 Ekim 2014 - 01:04:36

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

gnukarabatak

1. http://xecdesign.com/compiling-qemu/ bu bağlantıdaki yönergeleri izleyerek bilgisayar ortamında sanal olarak raspberry pi deneyimi yaşamak istedim fakat son aşamaya kadar geldim, iş çalıştırmaya gelince qemu yu hiç bilmediğim için yapamadım.
2. http://www.ediy.com.my/index.php/blog/item/52-virtualbox-raspberry-pi-emulator bu bağlantıdaki gibi Virtualbox üzerinde imaj/kalıp dosyasını doğrudan atayım, normal bir işletim sistemi sanallaştırması gibi çalıştırayım dedim ama buradada farklı bir şey yapılmış. Farklı yapılmış derken sanal makina içinde ikinci bir sanallaştırma yapılmış, suyunun suyu gibi bir durum olmuş :)

Kısacası doğrudan virtualbox içinden normal bir işletim sistemi gibi raspberry pi nin debian yada ubuntu (tercihen ubuntu) olan işletim sistemi ile yazılım geliştirme-deneme çalışmaları yapmak istiyorum. Bu işi "raspberry pi" aygıtını almadan yapmak mümkünmü? Bana bu işi adım adım özetleyecek bir hayırsever-babayiğit lazım :) Gömülü sistem çalışmalarımıda bundan sonra nasip olursa ubuntu ile yapmak istiyorum. Şimdiden teşekkürler.
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gnukarabatak

Bana ikiside aynı gibi geldi ama şimdilik Raspberry Pi diyelim. Yani Raspberry Pi üzerinde ubuntu yada rasbian çalışmasını benzetim yapmak. Bunuda doğrudan mümkünse virtualbox da doğrudan sanal işletim sistemi  çalıştırır gibi yapmak. Umarım anlatabilmişimdir.
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

Ben bir yere kadar geldim :)

İlk verdiğin bağlantıyı kullandım. Elimdeki dosyalar:
Alıntı Yap2014-09-09-wheezy-raspbian.img
kernel-qemu

Şu paketleri kurdum qemu adına:
Alıntı Yapqemu-kvm
qemu-system-arm
Gerisini sistem kuruyor.

Orada anlatıldığı gibi önce şu komutu yürüttüm:
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda 2014-09-09-wheezy-raspbian.img

Haliyle değiştir dediği dosyayı değiştirdim:
nano /etc/ld.so.preload
İlk satırı yorumluyoruz şu şekilde oluyor:
#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

Ardından diğer dosyayı oluşturuyoruz:
nano /etc/udev/rules.d/90-qemu.rules
İçini işliyoruz:
KERNEL=="sda", SYMLINK+="mmcblk0"
KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
KERNEL=="sda2", SYMLINK+="root"


İşimiz bitince QEMU'yu kapatıyoruz zira halt veya shutdown yemedi bende. Sonra şu komutu yürütüyoruz:
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2014-09-09-wheezy-raspbian.img

Burada ilk seferinden farklı olarak init=/bin/bash çıkıyor komuttan, böylece normal sistem yükleme işlemi oluyor. Bende bu arada bir sorun oluştu. Artık bir önceki sefer sistemi normal yollarla kapatamadığım için midir bilemiyorum, dosya sisteminin denetimi gerekti. Onu da kendi yapamadı, dosya sistemi yazılabilir olarak bağlandı. Beni işlem yapmam için yönetim kabuğuna düşürdü. Ben de bodostan ctrl+d ile devam ettim, normal başlangıç yaptı. Sonra da:

startx

Sıkıntı yaşarsan yine yardımcı olmaya çalışırım. Eğer QEMU penceresinde hapis kalırsan ctrl+alt kullan. Esasında pencerede yazıyor ama gözünden kaçabilir. Bir yerde Raspberrypi yapılandırması geliyor, ben hiç dokunmadan geçtim sen istediğin değişikliği yapabilirsin. 250MB'dan fazla bellek kullanmayın zira bu ayarların içine gömülüymüş ve QEMU düzgün çalışmayabilirmiş. Sistemin kendisinde de 200MB yer varmış. dd ile kalıbı genişletip ardından elle boyutlandırma yapabileceğimiz söylenmiş ki nasıl olacağı hakkında şu an için bir fikrim yok.

[eklenti yönetici tarafından silindi]
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gnukarabatak

Alıntı Yap
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda 2014-09-09-wheezy-raspbian.img

Buradaki adımı uyguladığımda önce hata verdi ve konsolda çalışmadı. Sonrasında http://xecdesign.com/downloads/linux-qemu/kernel-qemu bağlantısından kernel-qemu dosyasını kopyalayıp (/raspidev/qemu dizinine) daha sonra üsteki betiği çalıştırdım. Aşağıdaki gibi bir QEMU penceresi açıldı. Bu penceredende startx yada xinit yapmama rağmen grafik ekranı göremedim. Bu noktadan ileri gidemedim. Anlayamadığım şey ise emulatör içinde emulatör çalıştırma gibi bir durum var sanki. Verdiğim ikinci bağlantıda Virtualbox üzerinde ubuntu 10.04 üzerinde kurulmuş bir yapı var. Hangisi raspberyy pi hangisi değil inan kafam karıştı. Daha önce sizler bu formda bu konu üzerinde bayağı bir kafa yormuşsunuz. O yüzden hangisinin hangisi olduğunu en iyi siz anlatabilirsiniz (biraz karıştı ama idare edin beni.) :)

[eklenti yönetici tarafından silindi]
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

Ben ikinci bağlantıya bakmamıştım, eğer orası hâlâ aktifse daha kolaymış. Virtualbox'ın ARM ile iş görebildiğini de bilmiyordum açıkçası. İlk bağlantıda sanal makine içinde öykünücü (emulatör) kullanılmıyor. İşlemler doğrudan çalışan sistem üzerinde yapılıyor ki ben de öyle yaptım.

Şimdi, ilk adımı doğru yapmışsın ancak eksik var. Bir önceki iletimi okursan o aşamaya gelmen normal. İlk komuttan sonra karşına gelen root oturumunda ilgili dosya değişikliklerini yapacaksın. Sonra kapatıp ikinci komut yığınını kullanacaksın, o aşamada root'a falan düşmeyecek sistem. startx ile açabilirsin masaüstünü.

İkinci bağlantı hâlâ sağlamsa ve Raspberrypi kalıbı güncelse (ki hangi kalıp var bilmiyorum) kolayca Virtualbox üzerine ekleyebilirsin. Orada ek bir işleme gerek yok gibi.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gnukarabatak

Bahsettiğiniz o root aşamasında

nano /etc/ld.so.preload
ve ikincisinde
#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
dosyalarını açtığımızda nano boş bir ekran çıkarmakta. Dolayısıyla üzerinde değişiklik yapacağım bir dosyanın olmadığı anlamına geliyor. Diğer husus ise eksik yaptığım kısım. Evet bir şeylerin eksik olduğunu bilmekteyim ama neyin eksik olduğunu bilmemekte olduğum için o eksik kısmın ne olduğu hususunda yardımınıza ihtiyacım var :)

Sizin yaptığınız en yakın raspberry simulasyonu bence. Qemu kısmındaki eksik bilgileri toparlayıp kurabilirsem bu başlık çok güzel bir kaynak olacak. Hepsini kaldırıp yeniden adım adım ilerlemeyle de yapabiliriz, tabi sizin için uygun olursa. Başka türlü ben bu işin içinde çıkamayacağım.

Virtualbox ile yapılan dediğiniz gibi kolay bir iki adımla yapılabiliyor. Ancak onun içinde de vnc gibi yollarla bir bağlantı şekli var. Ard arda açılan iki terminal ile uzak bağlantı gibi bir şey yapmışlar, benim için pek anlaşılır gelmedi. Öncede kısmen belirttiğim gibi ben raspberry pi lxde masaüstünde kod yazıp denemeler yapmak istiyorum. Görmek istediğim raspberry pi ekranı da o zaten.
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

Dosyanın boş olmaması lazım, neticede aynı kalıp :)

Şimdi, dosyanın kendisi şu: /etc/ld.so.preload
Açtığında içinde yazan ise şu: /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
Kısacası ikinci geçtiğim dosya değil, ilk dosyanın içinde yazan şey.

Dosyayı:
nano /etc/ld.so.preload
komutu ile açacaksın, içinde yazan yukarıdaki satırın başına # koyacaksın. ctrl+x ile kaydedeceksin. Buradaki ufak sıkıntı klavyenin İngilizce oluşu, ona göre hazırlık yaparsın.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gnukarabatak

nano /etc/ld.so.preload
yaptığımda ortaya boş bir nano ekranı geliyor. Kısacası bu dosya daha önce hiç oluşmamış bende. Dolayısıyla ben raspi-config ekranınıda hiç göremedim.Boş ekranın fotoğrafını buraya koyardım ama şimdi gereksiz yük yapmayım dedim siteye :)
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

İlginç. Hani zaten bu bir öykünücü, sistem farklılığı da olmaması lazım. Peki, diğer aşamayı tamamlayıp açmayı denedin mi normal şekilde?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gnukarabatak

En son resimli iletimde gönderdiğim en üsteki pencere Qemu penceresi. Dediğim gibi o pencerece normal çalışmada benimde raspi-config text ekranı görmem gerekiyordu. En azından konsolda startx yaptığımda raspian işletim sisteminin grafik arabirimine geçebiliyor olmam  gerekiyordu. Fakat startx diye birşey yok deyip dönüyor konsol. Aynı emülatörün hatta aynı kalıp dosyasının windowsta çalıştırılma videosunu seyrettim. Sadece *.run uzantılı dosyaya tıklamayla takır takır Qemu açılıyor, raspi-config ekranı geliyor ve ardından Lxde pencere yönetici çalışıyor. Mutlaka ubuntu üzerinde bir iki şeyi ters yapıyorum ama neyi yapıp yapmadığımı anlayamıyorum. Bu işin bu kadar zor olmaması lazım. Acaba tüm herşeyi sıfırlayıpmı yapsak? yada nasıl yapsak?
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

heartsmagic

Ama o ekranda ilk komut yığınını kullanmışsın? Dikkat edersen iki farklı komut yığını var. Birinciyi veriyorsun, dosya düzenlemelerini yapıyorsun sonra kapatıyorsun. Ardından ikinci komut yığınını kullanıyorsun ki esasında o yığının ilkinden tek farkı init=/bin/bash içermemesi. Senin gösterdiğin ekran görüntüsünde bu olduğu için oturum doğrudan root'a düşüyor her şeyi es geçerek. Farklı mı anlıyorum yoksa olayı?

Ben bu denemeyi Ubuntu üzerinde yaptım zaten. Sıfırdan yapılacak çok fazla bir şey de yok gibi. Zira dosyalar yerinde duruyor, Qemu da kurulu sende şu an. Konak sistem üzerinde pek bir ayarlama yok yani.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.