11 Aralık 2011 Pazar

VirtualBox üzerine Android İşletim Sistemi Kurulumu Aşamasında Karşılaşılan SD Card Sorunları

Merhabalar,
Sanal makine üzerine android kurulumundan kısaca bahsetmek istiyorum. Video ya da anlatım şeklinde bu konuda birçok kaynağa ulaşmak mümkün ancak bu kurulum sırasında benim karşılaştığım sorunlarla karşılaşabileceklere zaman kazandırmak açısından önemli olabilir. Kurulum sırasında SD Card ın tanıtılması açısından iki faklı yöntemden bahsedeceğim.

Kurulumunu yapacağım android sürümüne şu adresten ulaşabilirsiniz:

     Kurulum sırasında yaptıklarım sırasıyla şunlar:
1.Sanal makinede new diyip yeni bir sanal makine oluşturma işlemine başladım.
2.İsim : Android Froyo 2.2 , İşletim Sistemi : Linux ve Version : Other Linux olarak yazdım ve ileri dedim.
3.Bellek boyutunu belirledim (256 mb,512 mb uygun olabilir) ve ileri dedim.
4.Start-Up disk ve create new harddisk seçerek ilerledim.
5.File type olarak VirtualBox Disk Image şıkkını sectim.
6.Storage details da dynamically allowed seçip devam ettim
7.5.nci şıkta oluşturduğumuz sanal disk dosyalarının konumunu belirledim. Bunu kendinize göre ayarlayabilirsiniz. Ayrıca bu bölümlendirmenin boyutunu da belirttim (8 gb olarak)
8.Devamında create diyerek disk yaratma işlemini konumunu belirterek tamamladım.
9.Android Froyo 2.2 adlı makinemiz oluşturuldu. Başlat butonunu tıklayarak kurulum yapacağımız iso yu gösterme işlemine sıra geldi. İleri diyerek başlat kısmına geldik . Başlat butonunu tıklayınca kurulum için seçim yapacağımız ekran karşımıza geldi.
10.Installation – Install Android-x86 to harddisk seçeneğini seçtik.
11.Daha sonra create/modify partitions seçtik.
12.Partitions oluşturma ekranı karşımıza geldi. Burada New->Primary seçtik sırasıyla. Size ı 8.00GB olarak enter ladık. Daha sonra bu oluşan sda1 in bayrağını bootable olarak değiştirdik. Ve write diyerek yaptığımız değişiklikleri kalıcı hale getirdik. Çıkan (yes/no) seceneğine yes daha sonra da o kısımdan çıkmak için quit diyerek işlemi bitirdik.
13.Sda1 partitions ı oluştu, dosya sistemini belirlemek için seçtik. ext3 seçeneğini sectik.Daha sonra bu alanı formatlaması için yes dedik.
14.Gelen boot loader grub şıkkına yes ve dosyaların read/write olma durumuna da yes dedikten sonra sda1 üzerine Android x86 kurulumu tamamlanmış oldu.
15.Benim burada bir dikkatsizliğim olmuştu hemen run Android-x86 diyip çalıştırmıştım. Ancak kurulumu eksik bırakmış oldum. Çünkü sdcard bölümü oluşturmadım. Bu run şıkkının altındaki;
16.Create a fake SD card seçeneğiyle devam etmemiz gerekliydi. Buna varsayılan olarak 2.00 GB alan ayrıldı bunu değiştirmedim. Ve sdcard.img yaratılmaya başlandı.
17.SD card başarılı bir şekilde oluşturulduktan sonra reboot işlemine sıra geldi.
    
Bu aşamada makineyi kapatıp bazı ayarlamaları yapmamız gerekiyor.
     1. Settings şıkkından System kısmına girip enable absolute pointing device ın tikini kaldırıp tamam dedik.
     2. Yine settings şıkkında Storage(depolama) kısmında CD/DVD Drive seçeneğinin attribute' ünü remove disk from virtual device diyerek kaldırdık.

     Kurulum aşaması tamamlandı. Artık makineyi başlattığımızda grub ekranı ile karşılaşıyor olmalıyız. Burada debug modu da mevcut, bu seçenek konsol kullanarak çalışmalarımızda ortaya çıkan sorunları anlamada, takip etmede ayrıca yakalayabilmede kullanılabilir.

     Yukarıda bahsettiğim makinenin kapatılıp bazı ayarlamalara ihtiyaç duymasının sebebi her defasında makine başlatıldığında kurulmamış gibi varsayıp çalışabilir olarak devam etme seçeneklerinin karşımıza çıkması.
Cd/ dvd device kısmında android-x86-2.2.generic.iso görünüyordu. Bu durumu engelledik(1,2.nci şık).
Bu sayede açılışta kurulumu yapılmış kısımdan devam etme şansımız oldu. Bunu yapmamış olsaydık oluşturduğumuz sdcard ve bootable olan disk bölümlerini LiveCD VESA şıkkındayken TAB tuşuna basıp daha önceden atadığımız labellar aracılığıyla DATA=sda1 SDCARD=sdb1 demeden görülmesini sağlayamıyorduk. Sadece sda1 kısmını görüp çalıştırılabiliyormuş gibi devam ediyordu. Ancak herhangi bir uygulama indirme aşamasında sdcard kısmının tanımlanmamış ve görülmüyor olması engel yaratıyordu. Bu yüzden ikinci şık herhangi bir dikkatsizlik, unutkanlık anında makineyi tekrar baştan başlatma ve sda1 ve sdb1 i tanıtma ihtiyacını doğuruyor ve zaman kaybına neden oluyordu.

     Yukarıda LiveCD VESA da TAB a basıp diskleri belirterek devam edebildiğimizi bunun da kurulum sırasında create a fake SDcard şıkkını atladığım için olduğunu söylemiştim. Bu durum şu şekilde de çözülebiliyor. VirtualBox ın arayüzünden (Storage-> IDE Controlller -> Add HardDisk yolu ile)sdcard için bir alan oluşturup daha sonra makineyi debug modda çalıştırıp bu oluşturulan alanı formatlayarak mümkün. Bu işlemi doğru bir şekilde bir kez yaptığımızda artık diskleri belirterek sdcard görme sorununu çözmüş oluyoruz. Açılışta Live CD Debug Mode seçtikten sonra, Sdcard yani benim sdb olarak adlandırdığım disk alanının oluşturulması aşağıdaki komutlarla gerçekleştirilir:

  1. fdisk -l ile hangi disk bölümleri var görelim.
  2. sda1 de android-x86 var bu kısım biçimlendirilmiş ancak bizim arayüzden oluşturduğumuz sdb gecerli bir bölümlendirmeye sahip değil.
  3. fdisk /dev/sdb komutunu yazdığımızda bölümlendirme işlemini yapacağımız komut satırı gelir.
     [command (m for help) : ] 
  4. Burada n(new partitions) anlamına gelir. n yazarak ilerleriz.
  5. Daha sonra primary partition olacağından p yazarız.
  6. (1-4) arasında sayı belirtiriz. sdb1 gibi
  7. First cylinder ve last cylinder şıklarını default olarak aldım.
  8. Bunları belirledikten sonra write(w) yazarak seçimlerimi kalıcı yaptım. Ve sdb1 oluşturulmuş oldu.
  9. Şimdi yapılması gereken açılışta bunların tanınması için kullanacağım labelları atamaya geldi.
  10. mdev -s
  11. mke2fs -j -L DATA /dev/sda1 (label atandı)
  12. mke2fs -j -L SDCARD /dev/sdb1 (label atandı)
  13. reboot -f ile de yeniden başlama ekranına gelmiş olduk
  14. Burada VESA yı seç TAB tuşuna bas ve DATA = sda1 SDCARD= sdb1 yazarak enter a bas.
  15. Daha sonra açılınca Settings->SD card & phone storage-> Format Sd card-> Mount Sdcard
    diyerek kullanıma hazır hale getirilir.
Bu da bir diğer yöntem ancak çok daha fazla uğraştırıcı olduğu kesin

İyi çalışmalar.



Hiç yorum yok:

Yorum Gönder