embedded linux egitim video?

Başlatan mir_as82, 21 Temmuz 2014, 21:21:40

Tagli

Benim de aklımda öyle kalmış. Boot sırasında kart takılı olsa bile NAND'a bakmasını istiyorsan, enerji verilirken üzerindeki butona basılı tutman gerek diye hatırlıyorum. O şekliyle de çok kullanışlı değil ama ben olsam NAND ile uğraşmayıp tamamen SD kart ile çalışırdım. Bende zaten BBB yok, BBW var ki onda NAND yok, sadece SD kart ile çalışıyor.
Gökçe Tağlıoğlu

erenbasturk

#16
Alıntı yapılan: Erhan YILMAZ - 22 Temmuz 2014, 17:49:23
Evet hocam programda sd karta ulaşıp okuma yazma yapmayı düşünüyorum. BBB nand üzerinde angstrom yüklü zaten. SD kartı takıp enerji verince sistem açılmıyor. Boot moduna geçiyor heralde. Fakat sistemi açtıktan sonra sd kartı takarsam sorun olmuyor. uEnv.txt dosyasının içine yazılanlarda bir sorun mu var çözemedim kaldı öyle.

Merhaba Erhan,

hatırladığım kadarıyla, eğer uenv.txt dosyasında bir degişiklik yapılmadıysa BB'a SD kart takılıysa ordan boot etmeye başlıyor eğer takılı değilse emmc'de bir işletim sistemi yüklü ise ordan açıyor sistemi. Boot ayarlarını uEnv.txt ten ayarlayabilirsin. MMC boot'u disable yaparsın

mesaj birleştirme:: 22 Temmuz 2014, 18:53:26

Alıntı yapılan: Tagli - 22 Temmuz 2014, 18:44:20
Benim de aklımda öyle kalmış. Boot sırasında kart takılı olsa bile NAND'a bakmasını istiyorsan, enerji verilirken üzerindeki butona basılı tutman gerek diye hatırlıyorum. O şekliyle de çok kullanışlı değil ama ben olsam NAND ile uğraşmayıp tamamen SD kart ile çalışırdım. Bende zaten BBB yok, BBW var ki onda NAND yok, sadece SD kart ile çalışıyor.

Boot sırasında herhangi bir butona basmassanız ve SD kart takılı ise SD Kart üzerinden açıyor eğer boot sırasında usr butonu'na basarsanız SD karttaki sistemi emmc'ye aktarıyor. Aktarımdan sonra mmc kart takılı ise mmc'den takılı değilse emmc'den okuyor hatırladığım kadarıyla.

Erhan YILMAZ

Boş iken de denedim aynı hocam. Dediğiniz gibi sd karttan boot etmeye çalışıyor öyle kalıyor. Sd karttan boot etmeyi atlatacak bir şeyler yazma lazım uEnv.txt içine ama çözmedim.

salih18200

Eğer sd cart üzerinden boot etmek istersen, micro sd kart yuvasının orada bulunan butona basarak cihazın enerjisini USB den kesip tekrar vermeniz gerekir. Yani USB kablosunu söküp takmalısınız.

Erhan YILMAZ

#19
Anlattıklarınız üzerinde hem fikiriz bir itirazım yok fakat benim anlatmak istediğim yanlış anlaşıldı heralde. Dediğiniz gibi emmc'de sistem kurulu çalışıyor. Ben sd kartı sadece depolama amaçlı kullanmaya çalışıyorum. Dediğiniz gibi butona basınca sd karttan kopyalama başlatıp yeniden sistem kuruyor. Onu yaptım bir kaç kere angstrom yaklaşık bir saatte kuruluyor. Yine dediğiniz gibi butona basmazsanız sistem sd kartı okuyor sd karttan açmaya çalışıyor heralde. Sd kartın içi boş olduğu için takılıp kalıyor. Boş sd kartın içine uEnv.txt dosyası oluşturup bir kaç satır birşey yazmak gerekiyormuş emmc hafızaya geçmesi için ama uygun kodları bulamadım.

http://elinux.org/Beagleboard:MicroSD_As_Extra_Storage
Burada yazanları uyguladım ama sonuç alamadım. Enerji alınca kart sd karttan başlamaya çalışıyor kartın içi boş olduğu için takılıp kalıyor.

@Taglı Gökçe öyle diyorsunda emmc kafadan 2x daha hızlı. Birde kök dosya sisteminin bulunduğu diskte(lafın gelişi) depolama vs. pek tavsiye edilmiyor bildiğim kadarıyla. Yanlışlıkla sistemi uçurabiliriz. Sd kartı sadece depolamak için ayırması güzel olmuş bence bir çok uygulamada kolaylık sağlar.

mesaj birleştirme:: 24 Temmuz 2014, 04:00:26

Yani uEnv.txt dosyasına öyle bir şey yazayım ki, karta enerji verildiğinde sd kartı es geçip sistemi direk emmc'den başlatsın. Ne yazayım?

ErsinErce

uenvcmd kısmını etkileyen partition ı değiştirmen gerekli Erhan

elindeki güncel uEnv.txt dosyasını paylaşabilirsen burada değişiklik yapabiliriz

salih18200

Beaglebone Black boot configuration;
Butona basılmaz ise:    (eMMC-MMC1)->(uSD-MMC0)->(UART0)->(USB0)
Butona basılır ise    :    (SPI0)->(uSD-MMC0)->(USB0)->(UART0)

Açılışta butona basmaz iseniz zaten eMMC yani üzerindeki flash tan sistem açılır ve böylece sizde SD kart üzerinde istediğiniz işlemi yaparsınız.
Ancak açılışta butona basar iseniz SD kart boş ise sistem açılamayacak ve takılıp kalacak uzun süre sonra belkide timeout düşüp resetleyebilir kendini,

Erhan YILMAZ

@salih18200 Hocam boş sd kart takıp butona basmadan BBB'yi açmayı denediniz mi? Ben denedim açamadım. 4 led yada 3 led sürekli yanık kalıyor birşey yapmıyor.

@Ersin Erce abi elimde bir dosya yok önce ki mesajlarda linkini verdiğim bir uEnv.txt içeriği vardı onunla denedim baya bi değiştirdim falan olmadı. Mobilim şuan link veremiyorum.
Onun dışında birde sd karta angstrom image yazıp uEnv.txt dosyasına bakınca opt=noargs gibi tek satır birşey yazıyordu yanlış hatırlamıyorsam. Onuda denedim yemedi.

ErsinErce

##Video: Uncomment to override:
##see: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/fb/modedb.txt
#kms_force_mode=video=HDMI-A-1:1024x768@60e

##Enable systemd
systemd=quiet init=/lib/systemd/systemd

##BeagleBone Cape Overrides

##BeagleBone Black:
##Disable HDMI/eMMC
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##Disable HDMI
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

##Audio Cape (needs HDMI Audio disabled)
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02

##Example
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##WIP: v3.14+ capes..
#cape=ttyO1
#cape=

##note: the eMMC flasher script relies on the next line
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc

##These are needed to be compliant with Angstrom's 2013.06.20 u-boot.
console=ttyO0,115200n8

kernel_file=zImage
initrd_file=initrd.img

loadaddr=0x82000000
initrd_addr=0x88080000
fdtaddr=0x88000000

initrd_high=0xffffffff
fdt_high=0xffffffff

loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} ${initrd_addr} ${initrd_file}; setenv initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /dtbs/${fdtfile}

loadfiles=run loadkernel; run loadinitrd; run loadfdt
mmcargs=setenv bootargs console=tty0 console=${console} ${optargs} ${cape_disable} ${cape_enable} ${kms_force_mode} root=${mmcroot} rootfstype=${mmcrootfstype} ${systemd}

uenvcmd=run loadfiles; run mmcargs; bootz ${loadaddr} ${initrd_addr}:${initrd_size} ${fdtaddr}


yukarıda default angstrom uEnv.txt dosya içeriği var
yukarıdaki tanımlamalar dışında uBoot içinde tanımlı değişkenlerde mevcut,
bu değişkenleri bulup değiştirirsek sorunun çözümüne ulaşırız

öncelikle mmcdev, mmcpart kısımları kullanılarak boot dosyalarının yüklendiğini ve uenv.txt içinde olmadığını farketmişsinizdir
bu kısımlar default olarak mmcdev 0 ve mmcpart 1:1 olarak tanımlı yani sdkartı gösteriyor.

sürekli emmc boot etmek için bu mmcdev tanımını 1 yapmak lazım
bunun için 3 yol var;

ya boot sırasında ubootun komut işleminde araya girip

setenv mmcdev 1
saveenv

komutlarını yazmak (gerekirse mmcpart ilede oynamak gerekebilir)

ya emmc flasher barındıran angstrom sürümünde FAT bölümünde bulunan u-boot.img dosyası içinde mmcdev 0 kısmını aratıp 0 kısmını 1 ile değiştirmek

yada u-boot'u baştan derleyip ayarlar emmc'yi göstermek

-----------------------------------------------------------------------------------

ayrıca bootpart diye bir environment daha var butona basılı olma durumuna göre 0:1 yada 1:1 oluyor (0 ve 1in manalarını kavradık sanırım şimdiye kadar)

-----------------------------------------------------------------------------------

Normalde BB sitesinden indirilen image BBB'e boot edildikten sonra sd kart çıkartılarak 1 kez yeniden boot edilir,
bu boot işleminden sonra mmcdev 1'e set edilir ve BBB butona basılmadığı sürece SD karttan başlamaz

evde kullandığımda bir sıkıntı yaşamıyorum sürekli emmc'den boot ediyor.