Beaglebone İle Çalışmak, 1. Bölüm
|
|
|
- Erdem Özçelik
- 10 yıl önce
- İzleme sayısı:
Transkript
1 Gömülü Linux Sistemleri Login'e Kadar Linux Beaglebone İle Çalışmak, 1. Bölüm Giriş Bu yazı dizimizde, şu anda çok yaygın olan Beaglebone cihazı üzerinde çeşitli gömülü linux çalışmaları yapılacaktır. Yazı dizisi 4 bölüm şeklinde yayınlanacaktır. Her bölümde cihaz üzerine farklı tekniklerle gömülü sistemler kurulacaktır. Burada amacımız, Angstrom veya Ubuntu gibi dört başı mağrur, havada takla atabilen bir sistem kurmak değildir. Yapılan işlerin FARKINDA olarak yapılmasını sağlamak gibi çok basit bir amacımız vardır. Bir önceki yazımızda gömülü sistemlerle ilgili pek çok kavrama değindiğimiz için bu yazıda aynı kavramlar tekrar edilmeyecektir. Fakat tekrar edilmesinde yarar gördüğümüz bir iki cümle vardır Bu yazı dizisinde geçen hiç bir konu Linux dağıtımına veya paket yöneticisine bağlı değildir. Burada bahsi geçen konular bilgisayar başında denenirken automounter özelliğinin kapatılması ve Linux un güzel yüzü metin tabanlı ekrandan çalışılması tavsiye edilir. Ayrıca her ne kadar Beaglebone cihazı üzerinde çalışsak da, bahsi geçen bütün konular diğer bordlara da çok az değişiklikle uygulanabilir. Bir önceki yazımız Beagleboard üzerine idi. Bu cihazın Begalebone a göre en büyük özelliği içinde flash diskinin bulunmasıdır. Bu sayede bir önceki yazıda flash disk ile ilgili pek çok kavrama değinildi ve uygulama yapıldı. Beaglebone üzerinde flash disk yoktur. Bundan dolayı bu yazı dizisinde flash disk ile ilgili hiç bir uygulama yapılmayacaktır. 1 of 34
2 Üzerinde flash disk olmamasına rağmen Beaglebone cihazının çok güzel bir özelliği mevcuttur. Üzerinde eternet kartı mevcuttur. Böylece daha önceki yazıda hiç bahsedilmeyen ağ destekli çalışmalardan ve ideal test sisteminin kurulmasından bu yazı dizisinde bahsedilecektir. 1. Cihazın Satın Alınması Elimizde Beaglebone cihazı mevcut değil. Satın almamız gerekti. Bu cihazı hayrına satan Çizgi Tagem de de hiç kalmamış. Türkiye de satan başka bir yer de bulamadık. Sonunda tr.farnell.com adresinden, kredi kartı ile bir adetlik sipariş girdik. Siparişimizin alındığına dair e-posta geldi. Pek mutlu olduk. Cihazın gelmesini beklemeye başaldık. Ertesi gün, kırık bir Tükçe ile İngiltere den bir hanımefendi aradı. Aramızda aynen aşağıdaki gibi görüşme geçti. - (Telefon çalar) Efendim Nazım. - Ben İngiltere den arıyorum. Siz bir bord siparişi vermişsiniz. - Doğrudur, buyurun. - Bu bord stratejik bir cihazdır. Bu bordu satın almak istiyorsanız size bir kaç sayfalık belge göndereceğiz. Bu belgeye, bordu hangi amaçla kullanacağınızı açıkça yazacaksınız. Sonra biz bu belgeleri inceleyeceğiz ve bordun gönderilmesinin uygun olup olmadığına karar vereceğiz. Eğer bordu gönderecek olursak, belgeleri de yanına ekleyeceğiz. Sizler, şahsen gümrükten gidip bordu almanız gerekiyor. Kabul ediyor musunuz? - Hayır etmiyorum, siparişi iptal edin lütfen. - İptal edilmiştir (telefon kapandı). Bu arada Çizgi Tagem tekrar bord satmaya başladı. Bizler de bu çok değerli stratejik malzemeyi, yol parası dahil 104 liradan satın aldık. Verdikleri bu hizmetten dolayı kendilerine çok teşekkür ederiz. Avrupa kaynaklı bazı web sitelerinden de ilgili cihaz rahatlıkla ve hiç bir kısıt olmadan sipariş edilebilmektedir. Bu kadar rahat bulunan bir cihaz için İngilizlerin niye bu kadar salakça bir politika uyguladıklarını anlamış değilim. Şimdi sadede gelelim. 2. İlk İnceleme Elimizde bulunan cihaz BegaleBone Rev A6 sürümüdür. Bu yazı yazılırken Rev6A sürümü çıkmıştır. Sürümler arasındaki farklar donanım ile ilgilidir. Bizler cihazın donanım tarafı ile ilgili değiliz. Sürümler arasındaki farklar bu adresten incelenebilir. 2 of 34
3 Bu yazı dizisinde bahsi geçen bütün konular diğer Beaglebone sürümlerine de uygulanabilir. Cihaz satın alındığında bir veya iki adet MMC kart ile gelmektedir. Bu kartlardan birinde çalışmaya hazır Angstrom Linux sistemi bulunmaktadır. Öncelikle böyle bir sistem hemen çalıştırılmalı ve Linux tarafı için gerekli olan çok önemli bazı parametreler bir köşeye not edilmelidir ki kendi Linux sistemimizi kurarken saçımızı başımızı yolmayalım. Öncelikle masaüstü veya host sisteminde herhangi bir Linux dağıtımının kurulu olduğu kabul edilmektedir. Beaglebone cihazından bazen cihaz bazen de bord olarak bahsedilecektir. Standard bir Linux dağıtımının kurulu olduğu makine ise bazen host bazen masaüstü olarak adlandırılacaktır. Beaglebone cihazı, Beagleboard dan farklı olarak doğrudan USB üzerinden beslenmektedir. Ayrıca bu USB ile de dışarıyla bağlantı kurmaktadır. Cihaz, USB ile host a bağlandıktan sonra aşağıdaki gibi lsusb ile ilk inceleme yapılabilir. $ lsusb Bus 002 Device 032: ID 0403:6010 Future Technology Devices International, Ltd F Bus 002 Device 034: ID 0525:a4a5 Netchip Technology, Inc. Linux-USB File Storag Netchip satırı biraz geç gelir. minicom ile aşağıdaki gibi terminal açılır ve /dev/ttyusb2, , 8n1 tanımları minicom a girilir. $ minicom -s Benim notebook a pek çok USB cihazı bağlıdır. Bundan dolayı cihaz ismi olarak /dev/ttyusb2 kullanılmıştır. Bu cihazlar çıkarıldığında bu isim /dev/ttyusb1 veya /dev/ttyusb0 olabilir. Okuyucu deneme ile bulabilir. Ya da cihaz ismini kesin olarak bulabilmek için, cihazı takmadan önce aşağıdaki komut girilir. $ ls -l /dev/ttyusb* Cihaz, yani Beaglebone takıldıktan sonra aynı komut tekrar girilir. Beaglebone cihazının adı yeni bir USB numarası ile belirecektir. 3 of 34
4 minicom ile terminal açıldıktan sonra lsof komutu (list open files) /dev/ttyusb2 nin durumu aşağıdaki gibi incelenebilir. # lsof /dev/ttyusb2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME minicom 4017 root 3u CHR 188,2 0t /dev/ttyusb2 /dev/ttyusb2 nin minicom tarafından kullanıldığı açıkça bellidir. 188,2 sayıları ise /dev/ttyusb2 nin majör ve minör numaralarıdır. Dikste bulunan her dosya için bir inode tahsis edilir sayısı, /dev/ttyusb2 için ayrılan inode yapısının indeks değeridir. Herhangi bir dosyanın inode değeri aşağıdaki gibi ls komutu ile bulunabilir. # ls -li /dev/ttyusb crw-rw root dialout 188, 2 Nov 8 14:08 /dev/ttyusb2 df komutu ile bakıldığında, en sağ kolonda, Mounted on yazan kolonda, pek çok dizin adı bulunur. Eğer $ ls -lid dizin_adı komutu ile incelenirse, bütün bağlantı dizinlerinin inode değerinin 2 olduğu görülebilir. Aslında bütün bunların konu ile pek bir ilgisi yok, yine konudan saptık. minicom ile cihaza bağlandığımızı ve hazır Linux yüklü MMC ile cihazın açıldığını kabul edelim. Hemen root ile giriş yapılır. Aşağıdaki gibi bazı incelemeler yapılabilir. root@beaglebone:~# free total used free shared buffers cached Mem: free komutu ile mevcut sistemin ne kadar RAM bellek kullandığı tespit edilebilir. swap olmadığı için burada ram ve sanal bellek miktarı birbirine denk olacaktır. Çıkıştan da görüleceği gibi 256MB lık belleğin yaklaşık 65MB lık bölümü kullanılmaktadır. Gerçek bir gömülü sistemde, yani belirli bir işi yapmak üzere tasarlanmış gömülü sistemde bu kadar büyük bellek kullanımı gereksizdir. Angstrom sistemi çok genel olduğu için aynı anda pek çok programı çalıştırmaktadır. Eğer Angstrom sistemi bir projede kullanılacaksa, mutlaka açılış betikleri incelenmeli ve amaca uygun programlar seçilmelidir. Yoksa sistem şu anki hali bir tam bir masaüstü gibidir. Ayrıca kök dosya sistemini read/write bağlamak gibi çok büyük bir sakıncaya sahiptir. Sistem üzerindeki MMC kartı aşağıdaki gibi, fdisk komutu ile incelenebilir. root@beaglebone:/proc# fdisk -l 4 of 34
5 Disk /dev/mmcblk0: 3904 MB, bytes 255 heads, 63 sectors/track, 474 cylinders, total sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x Device Boot Start End Blocks Id System /dev/mmcblk0p1 * c W95 FAT32 (LBA) /dev/mmcblk0p Linux Kendi MMC katımızı hazırlayacağımız için, buradan hemen birkaç kopya çekebiliriz. Cihaz her zaman 1. bölümden açılır. 1. bölüm, c tipine sahiptir. FAT32 ile formatlanmıştır. Aynı zamanda * ile işaretlenmiştir. Yani bootable bir bölümdür. Bu bilgiler hayati öneme sahiptir. Birinci bölümün içinde ne vardır? Birinci bölüm aşağıdaki komutlar ile mount edilerek incelenebilir. root@beaglebone:/proc# mkdir /mnt/vfat root@beaglebone:/proc# mount /dev/mmcblk0p1 /mnt/vfat root@beaglebone:/proc# ls -l /mnt/vfat total 3922 drwxr-xr-x 4 root root drwxr-xr-x 5 root root -rwxr-xr-x 1 root root -rwxr-xr-x 1 root root -rwxr-xr-x 1 root root -rwxr-xr-x 1 root root 2048 May 16 15:29 Docs 2048 May 16 15:29 Drivers 5829 May 16 06:48 LICENSE.txt May 8 08:16 MLO May 16 06:48 README.htm 178 May 16 06:48 autorun.inf -rwxr-xr-x 1 root root 171 May 16 06:48 info.txt -rwxr-xr-x 1 root root Jun 18 11:04 test-file -rwxr-xr-x 1 root root May 8 08:16 u-boot.img -rwxr-xr-x 1 root root 33 May 8 08:16 uenv.txt -rwxr-xr-x 1 root root May 8 08:16 uimage Burada bizim için hayati öneme sahip 4 adet dosya bulunur. Bu dosyalar ilerleyen bölümlerde tek tek, kaynak kodlarından derlenerek elde edilecektir. Bu dosyaları kısaca inceleyecek olursak MLO Birinci boot yükleyicisidir. Beaglebone açılır açılmaz, MMC kartın birinci bölümünde bulunan MLO dosyasını yükler ve çalıştırır. MLO pek yetenekli değildir. Çekirdek veya dosya sistemi yükleyemez. Bu iş için u-boot gibi daha yenetekli bir yükleyiciye ihtiyaç duyar. 5 of 34
6 u-boot.img Çok yetenekli ve ARM makineler için neredeyse standard hale gelmiş, ikinci seviye boot yükleyicisidir. MLO tarafından belleğe yüklenir. uenv.txt U-Boot sisteminin çevre değişkenlerini saklar. uimage U-Boot imajı haline getirilmiş Linux çekirdeğinin imajıdır. Basitçe 64 baytlık başlık bilgisi ve zimage dosyasından oluşur. MMC kartı VFAT olarak formatlayıp bu 4 dosyayı karta kopyalarsak, Linux sistemi kernel seviyesine kadar açılacaktır. Şimdi reboot diyerek cihazı tekrar başlatalım. Ya da USB yi çekip tekrar takalım ya da cihaz üzerindeki reset düğmesine basalım. Her durumda cihaz baştan açılacaktır. Açılış, bir tuşa basılarak U-Boot seviyesinde durdurulur. Bu durumda aşağıdaki gibi bir ekran çıkışı elde edilecektir. U-Boot SPL gf63b270-dirty (Apr :51:01) Texas Instruments Revision detection unimplemented No AC power, disabling frequency switch OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot gf63b270-dirty (Apr :51:01) I2C: ready DRAM: 256 MiB No daughter card present NAND: HW ECC Hamming Code selected No NAND device found!!! 0 MiB MMC: OMAP SD/MMC: 0 *** Warning - readenv() failed, using default environment Net: cpsw Hit any key to stop autoboot: 0 U-Boot# help help girişi ile, desteklenen komutların listesi elde edilebilir. Her bordun desteklemiş olduğu komut kümesi farklıdır. Örneğin Beaglebone sisteminde nand mevcut değildir. Bundan dolayı nand ile ilgili bütün komutlar, u-boot programından çıkarılmıştır. Mevcut olsa bile işlemeyecektir. Çünkü cihazda NAND yoktur. U-Boot çevre değişkenlerinin host tarafında saklanması tavsiye edilir. Saklama işi copy/paste ile veya history özelliği ile yapılabilir. Bazı değişkenlerin tanımları minicom 6 of 34
7 ekranına tam sığmayabilir. Uzun satırların tamamını görebilmek için, minicom da Ctrl+Alt+W ile Linewrap Off yapılmalıdır. Mevcut sistemin çevre değişkenleri tanımları aşağıda listelenmiştir. U-Boot SPL gf63b270-dirty (Apr :51:01) Texas Instruments Revision detection unimplemented No AC power, disabling frequency switch OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot gf63b270-dirty (Apr :51:01) I2C: ready DRAM: 256 MiB No daughter card present NAND: HW ECC Hamming Code selected No NAND device found!!! 0 MiB MMC: OMAP SD/MMC: 0 *** Warning - readenv() failed, using default environment Net: cpsw Hit any key to stop autoboot: 0 U-Boot# pr autoload=yes baudrate= bootargs_defaults=setenv bootargs console=${console} ${optargs} bootcmd=if mmc rescan; then echo SD/MMC found on device ${mmc_dev};if run loadb bootdelay=1 bootenv=uenv.txt bootfile=uimage console=ttyo0,115200n8 ethact=cpsw ethaddr=d4:94:a1:8e:65:5a importbootenv=echo Importing environment from mmc...; env import -t $loadaddr ip_method=none loadaddr=0x loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv} mmc_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmc_root} roo mmc_boot=run mmc_args; run mmc_load_uimage_ext4; bootm 0x80007fc0 mmc_dev=0 mmc_load_uimage=fatload mmc ${mmc_dev}:1 0x80007fc0 ${bootfile} mmc_load_uimage_ext2=ext2load mmc ${mmc_dev}:2 0x80007fc0 /boot/${bootfile} mmc_load_uimage_ext4=ext4load mmc ${mmc_dev}:2 0x80007fc0 /boot/${bootfile} 7 of 34
8 mmc_root=/dev/mmcblk0p2 ro mmc_root_fs_type=ext4 rootwait nand_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${nand_root} n nand_boot=echo Booting from nand...; run nand_args; nand read.i ${loadaddr} ${ nand_img_siz=0x nand_root=/dev/mtdblock7 rw nand_root_fs_type=jffs2 nand_src_addr=0x net_args=run bootargs_defaults;setenv bootargs ${bootargs} root=/dev/nfs nfsroo net_boot=echo Booting from network...; setenv autoload no; dcache off; dhcp; t nfsopts=nolock nor_args=run bootargs_defaults;setenv bootargs ${bootargs} root={nor_root} root nor_boot=echo Booting from NOR...; run nor_args; cp.b ${0x } ${loadaddr nor_img_siz=0x nor_root=/dev/mtdblock3 rw nor_root_fs_type=jffs2 nor_src_addr=0x rootpath=/export/rootfs script_addr=0x spi_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${spi_root} roo spi_boot=echo Booting from spi...; run spi_args; sf probe ${spi_bus_no}:0; sf spi_bus_no=0 spi_img_siz=0x spi_root=/dev/mtdblock4 rw spi_root_fs_type=jffs2 spi_src_addr=0x62000 static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off stderr=serial stdin=serial stdout=serial Environment size: 2769/8188 bytes U-Boot# U-Boot sisteminde her zaman 2 temel değişken vardır. Bunlar bootargs ve bootcmd dir. Diğer bütün değişkenler, bu iki değişkende toplanırlar. Diğer bir deyişle, diğer bütün değişkenler bu 2 değişken için, yardımcı değişken gibi davranırlar. bootargs değişkeninin aslında u-boot ile bir ilgisi yoktur. Linux çekirdeğine aktarılacak bütün parametreler bu değişkene atanır. U-Boot sistemi, çekirdeği yüklerken, bootargs içinde ne varsa, gözü kapalı bir biçimde çekirdeğe aktarır. Diğer bir deyişle bootargs değişkeni u-boot için pasif bir değişkendir. Diğer değişken ise bootcmd değişkenidir. U-Boot çevre değişkenlerini yükledikten sonra, gözü kapalı bir biçimde bootcmd içinde ne varsa çalıştırır. Bundan dolayı otomatik açılış ve diğer bütün işler için bootcmd kullanılır. 8 of 34
9 console tanımı da çok önemlidir. Bu bir çekirdek parametresidir. Yani açılışta u-boot tarafından doğrudan çekirdeğe aktarılır. Gömülü sistemlerle uğraşılırken karşılaşılan ve insanı kahreden hatalardan biri de konsola hiç bir mesajın gelmemesi veya login lafı geldikten sonra hiç bir girişin yapılamamasıdır. Bunun en büyük sebebi console tanımının eksik olmasıdır. Begalebone sisteminde konsol olarak /dev/ttyo0 tanıtılmıştır. tty den sonra O harfi ve sıfır vardır. Ayrıca hız olarak tanıtılmıştır. Diğer seri kanal parametreleri n8 olarak, yani no parity ve 8 bit data olarak verilmiştir. Eğer konsol tanımı hatalı girilirse, çekirdek mesajları gözükmez. Eğer konsole tanımı /etc/inittab içinde hatalı girilirse login gelse bile giriş yapılamaz. Konsole tanımı /etc/securetty içine girilmezse, dışarıdan telnet ile bağlantı yapılamaz. Kısaca konsol tanımı çok önemlidir. Her bord markasının farklı bir konsol ismi olabilir. u-boot açıldığı zaman hemen bootcmd değişkeni içinde ne varsa çalıştırır. Kolay okunması için bootcmd tanımı, aşağıda satır satır verilmiştir. U-Boot sisteminin açılış tekniğini kavrayabilmek için aşağıdaki betiğin anlaşılması çok önemlidir. Aşağıdaki betik bootcmd ifadesinin sağ tarafına aittir. Bu değişken u-boot seviyesinde iken pr bootcmd girişi yapılarak ayrıca incelenebilir. 01 if mmc rescan; then 02 echo SD/MMC found on device ${mmc_dev}; 03 if run loadbootenv; then 04 echo Loaded environment from ${bootenv}; 05 run importbootenv; 06 fi; 07 if test -n $uenvcmd; then 08 echo Running uenvcmd...; 09 run uenvcmd; 10 fi; 11 if run mmc_load_uimage_ext4; then 12 run mmc_args; 13 bootm 0x80007fc0; 14 fi; 15 fi; 16 run nand_boot; Betiğin üzerinden kısaca geçelim. 01. satırda mmc rescan ile MMC nin takılı olup olmadığı kontrol edilir. MMC yoksa 16. satıra düşülür. Bu satır NAND üzerinden sistemi açar. Ama Beaglebone sisteminde 9 of 34
10 NAND yoktur. Sonuçta bu satırın da bir anlamı yokur. Eğer sistemde MMC yoksa hiç bir iş yapılmaz ve u-boot promptu gelir. run A nın çok basit bir işlevi vardır. A değişkeninin içindeki betik yürütülür. Buna göre satırları arasında uenv.txt dosyası belleğe yüklenir. Değişkenler yerlerine konularak takip edilirse betiğin yapacağı iş kolaylıkla tespit edilebilir satırlarında ise uenvcmd isimli değişkenin var olup olmadığına bakılır. Varsa bu değişken içindekiler çalıştırılır. Buradan hemen çok basit bir sonuç çıkarılabilir. U-Boot tarafında çalışması istenilen komutlar, VFAT içindeki uenv.txt dosyası içine yazılır. Bu komutların bir tanesi de uenvmcd olacaktır. U-Boot sistemi, hemen uenv.txt dosyasını yükleyecek ve uenvcmd komutunu çalıştıracaktır. Okuyucunun, betiği dikkatli bir biçimde incelemesi tavsiye edilir. bootm 0x80007fc0 bilgisi de çok önemlidir. Çekirdeğin, VFAT dan belleğe yükleneceği adresi belirtir. Bu adresin analizi yazı sonunda yapılacaktır. Şimdilik bir köşeye kaydedilmesi yeterlidir. nand ile başlayan değişkenlerin bu cihaz için bir anlamı yoktur. Ayrıca sistem açıldıktan sonra dmesg çıktısı saklanmalıdır. Kernel command line gibi önemli bilgiler içerir. Angstrom ile gelen çekirdek hiç bir zaman olduğu gibi kullanılmamalıdır. Projeye uygun yeniden derlenmelidir. dmesg ile elde edilen çekirdek mesajları incelenirse, aslında sizin projenizde hiç kullanmayacağınız pek çok sürücü veya çekirdek özelliği olduğu görülebilir. Mevcut sistemden yeteri kadar kopya çekildi. Şimdi Angstrom Linux sistemi bir kenara bırakılacak ve MLO dan kök dosya sistemine kadar aradaki bütün işlemler el yordamı ile sıfırdan yapılacaktır. Hazır çalışan bir sistem varken niçin böyle bir işe girişiyor, her işi el ile, sil baştan yapıyoruz. Biz mazoist miyiz? Her ne kadar Slackware kullanıyorsak da mazoist değiliz. Daha önce de tekrar ettiğimiz gibi tek bir amacımız vardır, yapılan işlerin farkında olmak. Böylece önümüze gelen gömülü Linux projesi ile ilgili en doğru kararları alıp, projeye en uygun kuruluşu yapabileceğiz. 10 of 34
11 3. Çapraz Derleyici MLO, U-Boot, Çekirdek ve Busybox ın derlenmesi için çapraz derleyiciye gerek vardır. Beaglebone için tavsiye edilen bir kaç çapraz derleyici mevcuttur. Biz angstrom dağıtımının kullandığı derleyiciyi seçtik. Bu derleyici ve ilgili tool-chain, 32 bitlik x86 makineler için aşağıdaki gibi indirilip, kurulabilir. $ wget $ mkdir arm-angstrom $ cd arm-angstrom $ tar jxvf /tmp/ftp/angstrom i686-linux-armv7a-linux-gnueabi-toolchain. Bizler çapraz derleyiciyi /cross/arm-angstrom/ dizini altına açtık. Okuyucu kendine uygun bir dizin seçebilir. Çapraz derleyici /cross/arm-angstrom/usr/local/angstrom /arm/bin altındadır. Bu dizin PATH değişkenine eklenmelidir. Test için derleyici ön-eki girildikten sonra, aşağıdaki gibi, 2 kez TAB tuşuna basılabilir. Eğer PATH değişkeni düzgün ayarlanmışsa, iki kez TAB dan sonra, bütün tool-chain programları ekrana listelenecektir. $ arm-angstrom-linux-gnueabi- TAB TAB Kullandığımız derleyicinin sürümü aşağıda verilmiştir. $ arm-angstrom-linux-gnueabi-gcc --version arm-angstrom-linux-gnueabi-gcc (GCC) Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4. U-Boot U-Boot un son sürümü aşağıdaki gibi indirilip derlenebilir. Eğer okuyucu farklı bir çapraz derleyici kullanıyorsa derleyici ön-ekini, kendininkiyle değiştirmelidir. $ wget ftp://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2 $ tar jxvf /nk/blog/2/u-boot-latest.tar.bz2 $ ln -s /cross/u-boot u-boot $ cd u-boot $ make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- am335x_evm_config $ make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- 11 of 34
12 U-Boot derlendiği zaman 3 temel program elde edilir. Bunlar sırası ile MLO, u-boot.img ve mkimage dir. MLO, aslında u-boot tan türetilmiştir. Bundan dolayı genelde u-boot ile birlikte bulunur. mkimage programı ise, dosyaları u-boot imajı haline getirmek için kullanılır. Bir önceki yazımızda bu konulardan çok fazla bahsettiğimizden burada ayrıca inceleme yapılmayacaktır. mkimage programının /usr/local/bin gibi, genel bir yere kopyalanması tavsiye edilir. Aşağıda derleme sonunda elde edilen dosyalar ve kopyalama işlemi verilmiştir. $ ls -l u-boot.img MLO tools/mkimage -rw-r--r-- 1 root root Nov 8 21:47 MLO -rwxr-xr-x 1 root root Nov 8 21:46 tools/mkimage* -rw-r--r-- 1 root root Nov 8 21:47 u-boot.img $ cp tools/mkimage /usr/local/bin/ u-boot/include/configs dosyası içinde, Beaglebone ile ilgili pek çok çevre değişkeni mevcuttur. Okuyucu bu dosyayı mutlaka incelemelidir. Ayrıca U-Boot un varsayılan çevre değişkenleri burada tanımlıdır. Gömülü sistem projesinin nihai halinde, bootargs ve bootcmd burada tanıtılarak, uenv.txt dosyası hiç kullanılmayabilir. Aşağıda, config dosyasının tek bir satırının değiştirilmesi gösterilmiştir. Bizler her zaman olduğu gibi PROMPT ifadesini değiştirdik. Bu tür değişikliklerden sonra U-Boot u tekrar derlemek gerekir, hatırlatalım. $ cd u-boot/include/configs $ vi am335x_evm.h Burada varsayılan u-boot çevre değişkenleri bulunabilir. Sadece aşağıdaki değişken yeniden atanmıştır. #define CONFIG_SYS_PROMPT "UcanLinux > " 5. MMC nin Bölümlendirilmesi Bizler kendi MMC kartımızı kendimiz kurmak istiyoruz. Bunun için önce MMC kartı bölümlere ayrılmalıdır. En az 2 bölüm olmalıdır. Birinci bölümde boot yükleyicileri ve çekirdek imajı bulunacaktır. 2. bölümde ise kök dosya sistemi oturacaktır. Beaglebone sisteminin MMC yi açılışta görebilmesi için c tipinde ve bootable işaretlenmesi yeterlidir. Bunun için herhangi bir MMC kartı masaüstü sisteme takılır ve aşağıdaki gibi bölümlendirme yapılır. 12 of 34
13 Aman dikkat! Bölümlendirme yaparken masaüstü sistemin diskini perişan etmeyin. MMC kartını masaüstüne taktıktan sonra fdisk -l veya dmesg tail komutu ile takılan kartın ismini tam olarak tespit edin. Benim makinede MMC kartı /dev/sdb olarak gözükmektedir. fdisk ile aşağıdaki gibi bölümlendirme yapılır. Bir önceki yazıda fdisk e geniş biçimde değinilmişti. Burada ayrıca bir açıklama yapılmayacaktır. # fdisk -l # fdisk /dev/sdb Aman dikkat. Aşağıdaki komutu yanlış girmeyin!!! # dd if=/dev/zero of=/dev/sdb count=1024 bs=1024 # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF diskl Building a new DOS disklabel with disk identifier 0xee Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4, default 1): ENTER Using default value 1 First sector ( , default 2048): ENTER Using default value 2048 Last sector, +sectors or +size{k,m,g} ( , default ): Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4, default 2): ENTER Using default value 2 First sector ( , default ): ENTER Using default value Last sector, +sectors or +size{k,m,g} ( , default ): ENTER Using default value Command (m for help): t 13 of 34
14 Partition number (1-4): 1 Hex code (type L to list codes): c Changed system type of partition 1 to c (W95 FAT32 (LBA)) Command (m for help): a Partition number (1-4): 1 Command (m for help): p Disk /dev/sdb: 3951 MB, bytes 122 heads, 62 sectors/track, 1020 cylinders, total sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xee Device Boot Start End Blocks Id System /dev/sdb1 * c W95 FAT32 (LBA) /dev/sdb Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. # Burada farklı olarak bir adet dd komutu vardır. Bir blok 512 bayt olmak üzere, fdisk sistemi, ilk 2048 bloğu, yani ilk 1MB lık bölümü boot yükleyicileri için ayırır. Bundan dolayı birinci bölüm her zaman bloktan başlar. Aynı zamanda fdisk sistemi ilk 2048 bloğa hiç dokunmaz. Sadece birinci bloğu yani MBR yi günceller. Bizler garanti olsun diye ilk 2048 bloğu sıfırlıyoruz. Aslında sıfırlamasak da cihaz açılıyor. Fakat pek çok yerde bunun yapılması öneriliyor. Biz de geri kalmadık, yaptık. 6. Boot Yükleyicilerinin MMC ye aktarılması Daha önce MMC nin 1. bölümünde MLO, u-boot.img, uenv.txt ve uimage dosyalarının olması gerektiğinden bahsetmiştik. Henüz çekirdek derlemedik. U-Boot sistemini 4. bölümde derlediğimizden, elimizde MLO ve u-boot.img mevcuttur. Hemen bu ikisini kullanarak bordu u-boot seviyesine kadar açabiliriz. Bunun için 1. bölüme VFAT kurup her iki dosyayı bu bölüme kopyalamak yeterli olacaktır. Bu işlemler aşağıda verilmiştir. Eğer varsa, masaüstü sistemde automounter sisteminin kapatılması tavsiye edilir. # mkdir /mnt/vfat # mkfs.vfat -F32 -n "UcanLinux" /dev/sdb1 14 of 34
15 # mount /dev/sdb1 /mnt/vfat # cp u-boot/mlo /mnt/vfat # cp u-boot/u-boot.img /mnt/vfat # df /mnt/vfat Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb % /mnt/vfat # ls -l /mnt/vfat total 296 -rwxr-xr-x 1 root root Nov 9 19:52 MLO -rwxr-xr-x 1 root root Nov 9 19:52 u-boot.img # umount /mnt/vfat Burada birkaç hususa tekrar dikkat çekmek isteriz. Beaglebone sisteminin MMC den açabilmesi için aşağıdaki özelliklerin sağlanması tavsiye edilir. MMC nin 1. bölümü c tipinde, yani Win95,Fat32 olmalıdır. Bootable olmalıdır. 1. bölüm VFAT formatlanmalıdır. Formatlama yapılırken -F32 ile 32 bitlik fat tablosu seçilmelidir. MLO ilk dosya olarak kopyalanmalıdır. 7. İlk Açılış MMC kartı masaüstünden çıkarılır ve borda takılır. USB kablosu masaüstü sistemine takılınca bord u-boot seviyesine kadar aşağıdaki gibi açılacaktır. Bordda artık kendi derlediğimiz boot yükleyicileri, MLO ve u-boot.img koşmaktadır. U-Boot SPL (Nov :58:26) OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot (Nov :58:26) I2C: ready DRAM: 256 MiB WARNING: Caches not enabled MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Using default environment Net: cpsw 15 of 34
16 Hit any key to stop autoboot: 0 SD/MMC found on device 0 reading uenv.txt ** Unable to read "uenv.txt" from mmc 0:1 ** Loading file "/boot/uimage" from mmc device 0:2 ** File not found /boot/uimage ext2load - load binary file from a Ext2 filesystem Usage: ext2load <interface> <dev[:part]> [addr] [filename] [bytes] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext2 filesystem UcanLinux > U-Boot seviyesine kadar gelmek, bizce çok önemlidir. Çünkü bu seviyeye kadar yapılan işler daha çok borda bağımlıdır. Hata durumları genelde çok zor tespit edilir. Cihaz tıkanıp kalır. U-Boot seviyesinden sonra çekirdek ve kök dosya sistemi bulunur. Her iki sistem de artık borda çok bağımlı değildir ve u-boot gibi çok etkileşimli bir ortamda çalışılmaktadır. Hatalar çok kolay tespit edilebilir. Bordda bulunan MMC kartı, mmc 0 ile gösterilir. Eğer ikinci bir MMC kartı olsaydı, bu da mmc 1 ile gösterilecekti. Kartın üzerindeki her bir bölüm de :1, :2 vs şeklinde gösterilir. Buna göre MMC kartın 1. bölümü mmc 0:1 ile gösterilir. Açılışta ekrana düşen mesajlardan hemen kopya çekebiliriz. U-Boot sistemi mmc 0:1 den uenv.txt dosyasını okumaya çalışmaktadır. O halde bizim hemen VFAT bölümüne uygun bir env dosyası koymamız gerekecektir. 11. bölümde uenv.txt dosyası kurulacaktır. Yukarıda verilen açılış mesajları 2. bölümde incelemiş olduğumuz bootcmd betiğinden gelmektedir. Şimdi en büyük eksiğimiz çekirdektir. Eğer çekirdeği derleyip, uenv.txt dosyası ile beraber MMC nin 1. bölümüne atarsak, kök dosya sistemine kadar açılışı gerçekleştirmiş oluruz. MMC nin 2. bölümüne de kök dosya sistemini kurarsak, takla atmasa da bize login veren basit bir gömülü sistemimiz olacaktır. Şimdi bu adımları tek tek uygulayalım. 8. Çekirdeğin Derlenmesi Beaglebone için gerekli firmware ve yamalar, esas çekirdek ağacına henüz eklenmemiştir. Bundan dolayı Beaglebone için özel olarak hazırlanan çekirdek aşağıdaki gibi indirilir. # git clone git://arago-project.org/git/projects/linux-am33x.git 16 of 34
17 # ln -s linux-am33x linux # cd linux # git checkout -f v3.2-staging # wget " f=b Son wget komutu, linux/firmware altına am335x-pm-firmware.bin dosyasını kurar. Çekirdek linux-am33x/ dizini altına yüklenir. Bu dizin linux ile sembolik olarak bağlanır. Böylece komut girişi daha kolay olmaktadır. Çekirdek aşağıdaki gibi, çapraz olarak derlenir. -jn ile sistemdeki CPU sayısı verilir. Sisteminizde 4 CPU varsa -j4 girilebilir. Derleme hızı çok artacaktır. # cd linux # make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- am335x_evm_defconfig # make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # make -j2 ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- uimage... LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zimage Kernel: arch/arm/boot/zimage is ready UIMAGE arch/arm/boot/uimage Image Name: Linux ucan-linux g63 Created: Mon Nov 12 20:16: Image Type: ARM Linux Kernel Image (uncompressed) Data Size: Load Address: Entry Point: Bytes = kb = 2.31 MB Image arch/arm/boot/uimage is ready Çekirdek için nelerin seçilmesi gerektiğinden burada bahsedilmeyecektir. Şu an için çok da önemli değildir. Yazı dizisinin ilerleyen bölümlerde ne tür özelliklerin çekirdeğe ekleneceğinden bahsedilecektir. Fikir vermesi açısından çekirdek için gerekli.config dosyası çalışma paketi içinde kernel.config adı ile verilmiştir. Derleme işine girmeden evvel bu dosya linux/ altında.config ismi ile kopyalanabilir. Derleme bittikten sonra linux/ altında bulunan.config dosyası, aşağıdaki gibi, mutlaka, çekirdek kodunun dışında, farklı bir yerde, saklanmalıdır. 17 of 34
18 # cp linux/.config /uygun/bir/yer/kernel.config Yeni çekirdeğimizin boyu aşağıdaki gibi listelenebilir. Ayrıca u-boot başlık bilgileri mkimage ile elde edilebilir. # ls -l linux/arch/arm/boot/uimage -rw-r--r-- 1 root root Nov 12 20:16 linux/arch/arm/boot/uimage # mkimage -l linux/arch/arm/boot/uimage Image Name: Linux ucan-linux g63 Created: Mon Nov 12 20:16: Image Type: ARM Linux Kernel Image (uncompressed) Data Size: Bytes = kb = 2.31 MB Load Address: Entry Point: Çekirdeği hemen test edebiliriz. Bunun için çekirdeği MMC kartının 1. bölümüne aşağıdaki gibi kopyalamamız yeterli olacaktır. # mount /dev/sdb1 /mnt/mmc # cp linux/arch/arm/boot/uimage /mnt/mmc # ls -l /mnt/mmc total rwxr-xr-x 1 root root Nov 9 19:52 MLO* -rwxr-xr-x 1 root root Nov 9 19:52 u-boot.img* -rwxr-xr-x 1 root root Nov 15 09:37 uimage* # umount /mnt/mmc MMC kart borda takılır ve bord reset edilir. U-Boot (Nov :58:26) I2C: ready DRAM: 256 MiB WARNING: Caches not enabled MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Using default environment Net: cpsw 18 of 34
19 Hit any key to stop autoboot: 0 SD/MMC found on device 0 reading uenv.txt ** Unable to read "uenv.txt" from mmc 0:1 ** Loading file "/boot/uimage" from mmc device 0:2 ** File not found /boot/uimage ext2load - load binary file from a Ext2 filesystem Usage: ext2load <interface> <dev[:part]> [addr] [filename] [bytes] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext2 filesystem Buraya kadar, yani u-boot seviyesindeki açılışa kadar zaten gelmiştik. Şimdi aşağıdaki gibi adım adım, çekirdek belleğe yüklenecek ve işletilecektir. UcanLinux > mmc rescan mmc rescan ile MMC kartın olup olmadığı kontrol edilebilir. Eski u-boot sürümlerinde, MMC kartı ile işlem yapabilmek için en az 1 kez mmc init veya mmc rescan yazmak gerekliydi. Artık buna gerek yoktur. UcanLinux > fatinfo mmc 0:1 Interface: MMC Device 0: Vendor: Man 02544d Snr 10d2f0d0 Rev: 0.6 Prod: SA04G Type: Removable Hard Disk Capacity: MB = 3.6 GB ( x 512) Partition 1: Filesystem: FAT32 "UcanLinux " fatinfo komutu ile MMC kartın 1. bölümünde bulunan fat dosya sistemi konusunda, yukarıdaki gibi, bilgi alınabilir. UcanLinux > fatls mmc 0: mlo u-boot.img uimage 3 file(s), 0 dir(s) fatls komutu ile vfat içeriği listelenebilir. 19 of 34
20 UcanLinux > fatload mmc 0: uimage reading uimage bytes read fatload komut, mmc 0:1 den yani MMC kartın 1. bölümünden, uimage dosyasını, 82,000,000 RAM adresine yükler. Bu adresin bir önemi yoktur. Geçerli bir adres ve sonrasında çekirdeği alacak kadar yerin olması yeterlidir. Bu adresin analizi 12. bölümde yapılacaktır. Bütün adresler 16 lık sistemdedir. Ayrıca önlerine 0x yazılmamıştır. UcanLinux > bootm bootm (boot from memory) komutu ile 82,000,000 adresinde bulunan çekirdek yüklenir ve işletilir. U-Boot burada, arka arkaya pek çok işlem uygular ve çekirdeği başlatır. U-Boot un açılış mantığını anlama açısından bu adımlara kısaca değinecek olursak bootm girildiğinde, u-boot sistemi, verilen adreste bir imaj olup olmadığına bakar. Diğer bir deyişle kendisine ait 64 baytlık bir başlık arar. Bulamazsa hata verir ve durur. Okuyucu, keyfi bir adres vererek deneme yapabilir. Boot işlemi hemen duracaktır. 64 baytlık başlığın geçerli olup olmadığını anlamak için başlığa ait checksum değerine bakılır. Doğru ise yürütme devam eder. U-Boot sistemi, mimarinin uygun olup olmadığını kontrol eder. ppc için derlenmiş bir imaj arm makinede çalıştırılamaz. İmaj tipinden hareketle boot edilip edilemeyeceğine bakar. Örneğin bu imajın içinde bir sh betiği varsa, hemen durur, boot etmeye teşebbüs etmez. 64 baytlık başlık bilgisi içinde ilgili dosyanın, yani zimage dosyasının da checksum değeri bulunur. Hemen bu checksum değeri de kontrol edilir. Diğer bir deyişle, u-boot başlığı içinde, hem başlığın kendisi hem de veri için checksum değeri mevcuttur. Bütün bu adımlardan geçtikten sonra, -a ile verilen, load address değeri alınır. Yukarıdaki mkimage -l çıkışları incelenirse, -a ile verilen değerin olduğu görülür. U-Boot sistemi, zimage dosyasını, yani header hariç, uimage dosyasını, -a ile verilen, adresine kopyalar. Şekil 2.1 de bu durum resmedilmiştir. Kopyalama bittikten sonra, yürütme -e ile verilen (entry point) adrese yönlendirilir ve u-boot kendi işini bitirir. Çekirdek her zaman yükleme adresinden başlatılır. Bundan dolayı -a ve -e adresleri her zaman birbirinin aynı olmak zorundadır. 20 of 34
21 bootm girişinden sonra ekrana düşen açılış mesajlarının bir kısmı aşağıda verilmiştir. Önemli bazı satırlar kırmızı ile işaretlenmiştir. Ayrıca aralara not da düşülmüştür. ## Booting kernel from Legacy Image at <== fatload ile verilen adr Image Name: Image Type: Data Size: Load Address: Entry Point: Verifying Checksum... OK Loading Kernel Image... OK OK Linux ucan-linux g63 ARM Linux Kernel Image (uncompressed) Bytes = 2.3 MiB <== U-Boot imajı hatasız. <== zimage, 'a yüklendi. Starting kernel... <== Yürütme adresine geçirildi. Uncompressing Linux... done, <== zimage, Image haline getirilir. booting the kernel. <== Çekirdek açılmaya başlar. Linux version ucan-linux g63c1ae3 (root@nkoc_ev) (gcc version 4.3. CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: am335xevm Memory policy: ECC disabled, Data cache writeback AM335X ES1.0 (sgx neon ) Built 1 zonelists in Zone order, mobility grouping on. Total pages: # U-Boot'da bootargs ile verilen bütün ifade, burada "Kernel command line" # içinde bulunur. Kernel command line: root=/dev/mmcblk0p2 rootwait console=ttyo0, PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: (order: 5, bytes) Inode-cache hash table entries: (order: 4, bytes) Memory: 256MB = 256MB total Memory: k/254720k available, 7424k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000-0xffff1000 ( 4 kb) fixmap : 0xfff xfffe0000 ( 896 kb) vmalloc : 0xd xff lowmem : 0xc xd ( 744 MB) ( 256 MB) at : byte 24c256 EEPROM, writable, 64 bytes/write No daughter card found at : byte 24c256 EEPROM, writable, 64 bytes/write Board name: A335BONE Board version: 00A6 21 of 34
22 The board is a AM335x Beaglebone. tps : TPS65217 ID 0xf version 1.1 print_constraints: DCDC1: 900 <--> 1800 mv at 1800 mv print_constraints: DCDC2: 900 <--> 3300 mv at 1100 mv... mux: Failed to setup hwmod io irq -22 Power Management for AM33XX family Trying to load am335x-pm-firmware.bin (60 secs timeout) Copied the M3 firmware to UMEM clock: disabling unused clocks to save power Detected MACID=d4:94:a1:8e:65:5a cpsw: Detected MACID = d4:94:a1:8e:65:5b omap_rtc omap_rtc: setting system clock to :05:40 UTC ( ) Waiting for root device /dev/mmcblk0p2... <== MMC'nin çekirdek tarafından alg mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new high speed SDHC card at address 1234 mmcblk0: mmc0:1234 SA04G 3.67 GiB <== 4GB'lik MMC'yi tanıdı. mmcblk0: p1 p2 <== MMC'deki 2 bölümü de gördü. EXT2-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recomme VFS: Mounted root (ext2 filesystem) on device 179:2. EXT2-fs (mmcblk0p2): error: ext2_lookup: deleted inode referenced: 2049 devtmpfs: error mounting -5 <== Kök dosya sistemi ve /dev olmadı Freeing init memory: 220K Kernel panic - not syncing: No init found. <== Kök dosya sistemi olmadı Try passing init= option to kernel. See Linux Documentation/init.txt for guida Backtrace: [<c00175c0>] (dump_backtrace+0x0/0x10c) from [<c0354cac>] (dump_stack+0x18/0x1 r7: r6:c003c118 r5:c r4:c04e06d8 [<c0354c94>] (dump_stack+0x0/0x1c) from [<c0354d04>] (panic+0x54/0x190) [<c0354cb0>] (panic+0x0/0x190) from [<c000887c>] (init_post+0x114/0x144) r3: d r2: a r1:cf8002c0 r0:c03f308d [<c >] (init_post+0x0/0x144) from [<c045e2f8>] (kernel_init+0xf0/0x120) r4:c04df714 [<c045e208>] (kernel_init+0x0/0x120) from [<c003c118>] (do_exit+0x0/0x60c) Yukarıdaki çıkıştan da görüleceği gibi kök dosya sistemi olmadığı için çekirdek paniklemiş ve bord tıkanmıştır. Son olarak kök dosya sistemini MMC nin 2. bölümüne kuracak ve açılışı tamamlayacağız. Gömülü sistem kurarken, her zaman bu şekilde adım adım test edilmesi tavsiye edilir. U-Boot seviyesine gelindikten sonraki işler nispeten daha kolaydır. 10. Kök Dosya Sisteminin Kurulması 22 of 34
23 Kök dosya sistemimiz busybox destekli olacaktır. Bir önceki yazımızda busybox sisteminden bolca bahsettik. Burada sadece ara adımlar verilecektir. En son sürüm busybox.net adresinden indirilir. Bu yazı yazılırken son kararlı sürüm idi. Aşağıdaki gibi çapraz derleme yapılır. $ cd busybox $ make menuconfig Busybox Settings ---> Build Options ---> [ ] Build BusyBox as a static binary (no shared libs) [ ] Build BusyBox as a position independent executable [ ] Force NOMMU build [ ] Build shared libbusybox [ ] Build with Large File Support (for accessing files > 2 GB) (arm-angstrom-linux-gnueabi-) Cross Compiler prefix () Path to sysroot () Additional CFLAGS () Additional LDFLAGS () Additional LDLIBS Busybox Settings ---> Installation Options ("make install" behavior) ---> What kind of applet links to install (as soft-links) ---> (/nk/blog/2/rootfs) BusyBox installation prefix # make # make install # cp.config /uygun/bir/yer/busybox.config Burada busybox dinamik olarak derlenmektedir. make install ile /nk/blog/2/rootfs dizini altına kurulum yapılır. Okuyucu kendisine uygun herhangi bir dizin adı seçebilir. ASLA /usr/local gibi genel isimler seçilmemelidir. Mevcut host sistemi kaybedilir. install işleminden sonra RootFS/ altında /bin, /sbin ve /usr dizinleri kurulur. Ayrıca linuxrc sembolik linki kurulur. Bu linke gerek yoktur, silinebilir. Bizler busybox ı derlerken hemen hemen hiç bir varsayılan seçime dokunmadık. Gerçek uygulamada, müşteriye verilen sistemde sadece ve sadece kullanılan komutlar busybox a dahil edilmelidir. Kullanılan komutları tespit etmenin en basit yolu /etc/rcs içine bakmaktır. Nihai sistemde /etc/rcs içinde bulunan komutlar busybox apleti olarak seçilmelidir. 23 of 34
24 Derlediğimiz busybox ın özellikleri aşağıdaki gibi incelenebilir. # ls -l busybox -rwxr-xr-x 1 root root Nov 15 10:02 busybox* # file busybox busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped Şimdi kök dosya sistemi MMC nin 2. bölümüne kurulabilir. Bizim kök dosya sistemimiz sadece busybox destekli komutlardan oluşmaktadır. Bundan dolayı çok ufaktır. Öncelikle MMC nin 2. bölümü aşağıdaki gibi silinip, 16MB lık yeni ve daha ufak bir bölüm yapılabilir. # fdisk /dev/sdb Command (m for help): p Disk /dev/sdb: 3951 MB, bytes 122 heads, 62 sectors/track, 1020 cylinders, total sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xee Device Boot Start End Blocks Id System /dev/sdb1 * c W95 FAT32 (LBA) /dev/sdb Linux Command (m for help): d Partition number (1-4): 2 <== 2. bölümü sil. Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4, default 2): Using default value 2 First sector ( , default ): 24 of 34
25 Using default value Last sector, +sectors or +size{k,m,g} ( , default ): +16M Command (m for help): w 16 MB lık 2. bölüm kurulmuştur. Şimdi bu bölüme aşağıdaki gibi ext2 dosya sistemi kurup mount edebiliriz. mkfs.ext3 veya mkfs.ext4 ile jurnal destekli dosya sistemi de kurulabilir. # mkfs.ext2 /dev/sdb2 # mount /dev/sdb2 /mnt/mmc # df /mnt/mmc Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb % /mnt/mmc Bizler MMC nin 2. bölümünü /mnt/mmc dizinine bağladık. Okuyucu istediği dizini kullanabilir. Kök dosya sistemi sadece /bin, /sbin ve /usr dizinlerinden oluşmaz. Diğer dizinler, kütüphaneler ve /etc dizini RootFS altında daha önce kurulmuştur. Çalışma paketi içinde RootFS in tam hali bulunabilir. Bir önceki bölümde RootFS üzerinde bolca laf edildiği için bu bölümde sükut geçilecektir. Örnek kök dosya sistemi aşağıdaki gibi kurulabilir. # cd RootFS/ # rm -f linuxrc # cp -a * /mnt/mmc # ls -l /mnt/mmc total 26 drwxr-xr-x 2 root root 2048 Nov 15 10:02 bin drwxr-xr-x 2 root root 1024 Aug 24 13:36 dev drwxr-xr-x 2 root root 1024 Nov 15 15:47 etc drwxr-xr-x 2 root root 1024 Aug 24 13:36 home drwxr-xr-x 3 root root 1024 Aug 24 13:45 lib drwx root root Nov 15 16:20 lost+found drwxr-xr-x 2 root root 1024 Aug 24 13:36 mnt drwxr-xr-x 2 root root 1024 Aug 24 13:36 proc drwxr-xr-x 2 root root 1024 Aug 24 13:36 root drwxr-xr-x 2 root root 1024 Nov 15 10:02 sbin drwxr-xr-x 2 root root 1024 Aug 25 20:12 sys drwxr-xr-x 2 root root 1024 Aug 24 13:36 tmp drwxr-xr-x 4 root root 1024 Aug 25 14:12 usr 25 of 34
26 drwxr-xr-x 2 root root 1024 Aug 24 13:36 var # df /mnt/mmc Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb % /mnt/mmc # umount /mnt/mmc df çıktısından da görüleceği gibi kök dosya sistemimiz sadece 3MB yer kaplamaktadır. Okuyucu projenin amacına göre kök dosya sistemini genişletebilir. Buradaki sistem minimal bir sistemdir ve inanılmaz derecede çok işe yaramaktadır. Kök dosya sistemimiz de tamamlanmıştır. Şimdi tek eksiğimiz, el ile yaptığımız açılışın otomatik olarak yapılabilmesidir. İşte tam bu anda MMC nin 1. bölümünde olması gereken uenv.txt dosyası imdada yetişir. 11. uenv.txt Dosyasının Kuruluşu Daha öncede belirttiğimiz gibi, uenv.txt içine çalışmasını istediğimiz komutları yazabiliriz. uenvcmd için yazacağımız bütün ifadler u-boot tarafından hemen çalıştırılacaktır. Aşağıdaki satır uenv.txt içine bir editör ile veya echo ile yazılabilir adresi yerine 80007FC0 adresi de yazılabilir. uenvcmd=fatload mmc 0: uimage && bootm Bu ifade daha önce el yordamı ile yaptığımız girişin aynısıdır. uenv.txt dosyası aşağıdaki gibi MMC nin 1. bölümüne yazılabilir. # mount /dev/sdb1 /mnt/mmc # cp uenv.txt /mnt/mmc # ls -l /mnt/mmc total rwxr-xr-x 1 root root Nov 9 19:52 MLO -rwxr-xr-x 1 root root Nov 9 19:52 u-boot.img -rwxr-xr-x 1 root root 59 Nov 15 16:24 uenv.txt -rwxr-xr-x 1 root root Nov 15 09:37 uimage # umount /mnt/mmc Yukarıdaki ls -l çıkışından da görüleceği gibi MMC nin 1. bölümünde 4 adet dosyamız mevcuttur. Bu dosyalar çekirdek seviyesine kadar açılış yapılır. uimage dosyası burada bulunmak zorunda değildir. MMC nin 2. bölümünde veya ağ üzerindeki bir 26 of 34
27 makine de olabilir. Yazı dizimizin devamında, uimage dosyası farklı ortamlarda bulunacaktır. Test için MMC kartı borda takılır ve bord reset edilir. root/root ile giriş yapılabilir. IP değeri ile verilmiştir. Bu değer /etc/rcs içinde değiştirilebilir. telnet ile başka bir makineden aşağıdaki gibi giriş yapılabilir. $ telnet Trying Connected to Escape character is '^]'. UcanLinux login: root Password: root Linux UcanLinux ucan-linux g63c1ae3 #1 Mon Nov 12 20:16:00 EET 2012 root@ucanlinux:~ # exit Bordun açılışı aşağıda özetlenmiştir. U-Boot (Nov :58:26) I2C: ready DRAM: 256 MiB WARNING: Caches not enabled MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Using default environment Net: cpsw Hit any key to stop autoboot: 0 SD/MMC found on device 0 reading uenv.txt 59 bytes read Loaded environment from uenv.txt Importing environment from mmc... Running uenvcmd... reading uimage bytes read ## Booting kernel from Legacy Image at of 34
28 Image Name: Image Type: Linux ucan-linux g63 ARM Linux Kernel Image (uncompressed) Data Size: Bytes = 2.3 MiB Load Address: Entry Point: Verifying Checksum... OK Loading Kernel Image... OK OK Starting kernel... Uncompressing Linux... done, booting the kernel. Linux version ucan-linux g63c1ae3 (root@nkoc_ev) (gcc version 4.3. CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d... omap_rtc omap_rtc: setting system clock to :30:42 UTC ( ) Waiting for root device /dev/mmcblk0p2... mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new high speed SDHC card at address 1234 mmcblk0: mmc0:1234 SA04G 3.67 GiB mmcblk0: p1 p2 VFS: Mounted root (ext2 filesystem) on device 179:2. devtmpfs: mounted Freeing init memory: 220K net eth0: CPSW phy found : id is : 0x7c0f1 Filesystem 1K-blocks Used Available Use% Mounted on /dev/root % / devtmpfs % /dev tmpfs % /dev/shm UcanLinux login: root Password: root Linux UcanLinux ucan-linux g63c1ae3 #1 Mon Nov 12 20:16:00 EET 201 root@ucanlinux:~ # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root % / devtmpfs % /dev tmpfs % /dev/shm root@ucanlinux:~ # free total used free shared buffers Mem: /+ buffers: of 34
29 Swap: root@ucanlinux:~ # Yukarıdaki df çıktısından görüleceği gibi kök dosya sistemi sadece 3MB yer tutmuştur. free çıkışından da görüleceği gibi, harcanan toplam bellek 6MB tan azdır. Tabii ki bu sistem takla atamaz ama olsun, login vermektedir ki bu da çok güzel bir başlangıçtır. Çekirdek yüklendikten sonra, /dev sistemini otomatik olarak bağlar. Çünkü çekirdek derlemesi sırasında, kök dosya sistemini bağladıktan hemen sonra /dev i bağlaması için gerekli seçimler yapılmıştır. Kök dosya sistemi bağlandıktan sonra yürütme /sbin/init programına geçer. /sbin/init programı /etc/inittab da verilen satırlara göre sistemi ayağa kaldırır. Sistemde tek açılış betiği vardır, o da /etc/rcs dir. Okuyucu bu betiği kendi amaçlarına göre geliştirebilir. Angstrom sisteminde inanılmaz karışık bir açılış sistemi mevcuttur. Ayrıca açılış için run level kullanılmıştır. Gömülü bir sistemde bunlara hiç gerek yoktur.ayrıca kök dosya sistemi read/write bağlanmıştır. Bu da çok sakıncalıdır. İlerleyen yazılarımızda bu konuya genişçe değinilecektir. 12. XIP kavramı Daha önce, fatload ve bootm komutları ile çekirdeği yüklemiştik. Bu iki komutun u-boot tarafından nasıl işlendiği Şekil 2.1 ve 2.2 de resmedilmiştir. 29 of 34
30 Şekil 2.1: fatload komutu ile imajın belleğe yüklenmesi. fatload komutu, MMC nin 1. bölümünden, yani mmc 0:1 den, uimage dosyasını okur ve RAM belleğin 82,000,000 adresine yükler. uimage dosyası esas itbari ile 64 baytlık bir u-boot başlığından ve zimage dosyasından oluşur. Şekil 2.2 den bootm komutundan sonra gerçekleşen işler resmedilmiştir. 30 of 34
31 Şekil 2.2: bootm komutunun işlemesi. Şekil 2.2 de gösterildiği gibi, bootm komutu u-boot header içinde bulunan ve -a ile verilen adresi elde eder. Bu adres örneğimizde dir. Hemen zimage dosyasını bu adrese yani adresine kopyalar. Sonra da yürütmeyi -e ile verilen adrese geçirir. Buradaki kopyalama işi son derece gereksiz gibi gözükmektedir. fatload ile uygun bir adres verildiği takdirde zimage dosyası hiç bir yere kopyalanmayabilir. Kopyalamaya gerek kalmaz. Bu çok özel durum Şekil 2.3 de resmedilmiştir. Şekil 2.3: Kopyalama yapmadan yürütme. uimage dosyası, fatload komutu ile 80007FC0 adresine yüklenir. Header boyu tam 64 bayttır FC0 adresinden itibaren 64 bayt sonrasının adresi dir. zimage için verilen başlangıç adresi de zaten dir. U-Boot bunu anlar ve zimage dosyasını hiç bir yere kopyalamaz ve olduğu yerde yürütür (execute in place, xip). Yürütmeden önce kopyalanmayan ve olduğu yerde çalıştırılan imajlara, XIP imajı denir. Eğer bir imaj XIP olarak adreslenmişse, u-boot açılış mesajlarında bu belirtilir yerine 80007FC0 adresi ile yapılan test aşağıda verilmiştir. Açılış u-boot seviyesinde durdurulur ve el yordamı ile test yapılır. Okuyucu aynı değişikliği uenv.txt dosyasında da yapabilir. 31 of 34
32 U-Boot SPL (Nov :58:26)... Hit any key to stop autoboot: 0 <== açılışı bir tuşa basarak durdur. UcanLinux > fatload mmc 0: FC0 uimage reading uimage bytes read UcanLinux > bootm 80007FC0 ## Booting kernel from Legacy Image at 80007fc0... Image Name: Image Type: Data Size: Load Address: Entry Point: Verifying Checksum... OK XIP Kernel Image... OK OK Linux ucan-linux g63 ARM Linux Kernel Image (uncompressed) Bytes = 2.3 MiB Starting kernel... Uncompressing Linux... done, booting the kernel Kök Dosya Sistemini rw Bağlanması Hakkında Bu çalışmada kök dosya sistemi MMC üzerine kurulmuş ve read/write olarak mount edilmiştir. Ciddi bir sistemde MMC üzerine kurulu kök dosya sistemi read/write mount edilmemelidir. Ani kapanmalarda, büyük ihtimalle dosya sistemi kaybedilecektir. Burada verilen örnek sistemimizde kök dosya sistemi ext2 olarak seçilmiştir. ext2 sistemi ani kapanmalara karşı çok hassastır. Genelde ext3 veya ext4 gibi jurnal tabanlı dosya sistemleri seçilir. Okuyucunun yapacağı tek iş, yukarıdaki kuruluşlarda, mkfs.ext2 yerine mkfs.ext3 yazmaktır. Yine de jurnal tabanlı kök dosya sistemleri de ani kapanmalara karşı %100 koruma sağlamaz. Ani kapanmalara karşı bir başka yol, kök dosya sisteminin önce ro sonra rw bağlanmasıdır. Bunun için çekirdek parametrelerine ro eklenmelidir. Böylece kök dosya sistemi çekirdek tarafından, başlagıçta ro olarak bağlanacaktır. Daha sonra /etc/rcs içinde kök dosya sistemi için fsck başlatılmalı ve hata varsa dosya sistemi kurtarılmaya çalışılmalıdır. Hata yoksa kök dosya sistemi read/write olarak mount edilmeli ve açılış bilinen yolla devam ettirilmelidir. Host sistemler için yapılan bu teknik gömülü sistemlere de uygulanabilir. Çok basit bu yöntem okuyucuya alıştırma olarak bırakılmıştır. jffs2 ve özellikle UBIFS gibi flash destekli dosya sistemleri kapanmaya karşı çok 32 of 34
33 dayanıklıdır. Bu dosya sistemleri doğrudan read/write mount edilebilir. Ama yine de bu tavsiye edilmez. Örneğin UBIFS sisteminin fsck programı mevcut değildir. Sistem kendi kendini onarmaya çalışır. Eğer onaramazsa ne olacaktır? Bu bile başlı başına proje için stratejik bir karardır. Beaglebone sisteminde flash disk mevcut değildir. Bundan dolayı üretilecek çözümler MMC destekli olmalıdır. Elimizde MMC varsa kök dosya sistemi nasıl bağlanmalıdır? Öncelikle kök dosya sistemi her zaman read/only bağlanmalıdır. Asla read/write bağlanmamalıdır. read/write olması gereken dizinler için bazı çözümler mevcuttur. Öncelikle /dev dizini her zaman read/write olmalıdır. Bu işi çekirdek zaten halleder. Burada bir sorun yoktur. /var/pid gibi bilgilerin geçici olarak saklandığı dosya veya dizinler /dev/shm ye yönlendirilmelidir. /tmp, /var gibi dizinler olduğu gibi /dev/shm ye yönlendirilebilir. Bu yönlendirme işi sembolik linkler veya mount -o bind ile yapılabilir. config bilgileri gibi bazı bilgilerin kalıcı olması gerekir. Bu tür bilgiler başka bir MMC bölümüne yönlendirilir. Örneğin MMC de 3. bir bölüm açılır ve bu bölüm /etc/rcs tarafından açılışta mount edilebilir. Buraya yazım yapacak programlar atomik güncelleme denilen bir yöntemle dosyaları, ani kapanmalardan etkilenmeden veya çok az etkilenerek güncelleyebilirler. En nihayetinde, sistem nasıl kapanırsa kapansın kök dosya sistemi her zaman ayakta kalacaktır. En kötü ihtimalle rw bağlı olan bölüm kaybedilecektir. Kök dosya sistemi her zaman ayakta olacağı için, buradaki bilgiler başka bir biçimde yeniden temin edilebilecektir. Okuyucu alıştırma olarak aşağıdakileri yapabilir. Şu anki mevcut sisteme uygulaması son derece kolay olacaktır. kök dosya sistemi ro bağlanmalıdır. /tmp ve /var gibi dizinler /dev/shm ye sembolik olarak bağlanmalıdır. /etc/rcs de gerekli değişiklikler yapılmalıdır. 14. Gelecek Bölümler Gelecek yazıların aşağıdakiler gibi olması planlanmaktadır. 2. Bölüm Kök dosya sistemi çok ufaksa MMC ye yüklemeye gerek yoktur. Ufak kök dosya sistemleri doğrudan ramfs şeklinde bağlanabilirler. Ani kapanmalarda bozulma 33 of 34
34 ihtimalleri yoktur. Çünkü her açılışta yeni baştan kurulurlar. Fakat burada da yine kalıcı bilgilerin saklanması sorunu vardır. İkinci bölümün konusunu ramfs destekli kök dosya sistemi olacaktır. 3. Bölüm Bu bölümde ağ üzerinden boot tekniklerinden bahsedilecektir. bootp, dhcp ve NFS kullanılarak boot tekniği ve kök dosya sistemlerinin bağlanılmasından bahsedilecektir. 4. Bölüm Gömülü sistemler için ideal test ortamının hazırlanılmasından bahsedilecektir ki bizce bu işle uğraşan herkesin illa ki kullanması gereken bir yöntemdir. 15. Diğer Bu çalışmada elde edilen bazı dosyalar buradan indirilebilir. Özellikle config dosyaları yazıyı okurken yapılacak denemelerde vakit kazandıracaktır. Yazara nazim at adresinden ulaşılabilir. Ya da bu yazı doğrudan blog dan okunuyursa blogun altına bulunan mesaj kutusu kullanılabilir. Bu kutu belirli bir süre açık kalacaktır. Bu yazının en güncel hali her zaman adresinin blog sekmesinden elde edilebilir. Mevcut güncellemeler aşağıda verilmiştir. 17.Kasım.2012: ilk yayın 16. Kullanım Hakları Bu belgedeki bütün yazı ve resimlerin telif hakkı Nazım KOÇ a aittir. Bu yazının tamamı veya bir kısmı ve yazıdaki resimler, aşağıdaki 2 şart sağlandığı takdirde, ticari veya ticari olmayan her türlü ortamda, herhangi bir izne gerek olmadan kullanılabilir. 1) Yazı ve resimlerde değişiklik yapılamaz, olduğu gibi kullanılmalıdır. 2) Yazar Nazım KOÇ ve blog adresi kaynak gösterilmelidir. 1. bölümün sonu 34 of 34
Beaglebone İle Çalışmak, 2. Bölüm
Gömülü Linux Sistemleri Login'e Kadar Linux Beaglebone İle Çalışmak, 2. Bölüm Giriş Bu yazı dizisinin 1. bölümünde Beaglebone üzerine basit bir gömülü sistem kurulmuştur. Bu gömülü sistemin kök dosya sistemi
Basit Bir Gömülü Sistemin Kuruluşu
Gömülü Linux Sistemleri Login'e Kadar Linux Basit Bir Gömülü Sistemin Kuruluşu Giriş Bu yazıda basit bir gömülü Linux sisteminin beagleboard a kuruluşundan bahsedilecektir. Her ne kadar örnek sistem olarak
Temel Linux Eğitimi 1., 2. ve 3. Bölümler
Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı - 11.06.2012 İçerik 1. Linux, Kavramlar ve Dizin Yapısı 2. Temel Linux Komutları 3. Sunucuya Uzaktan Bağlanma 1. Linux, Kavramlar ve Dizin Yapısı Linux Linux,
Linux Dosya ve Dizin Yapısı
Linux Dosya ve Dizin Yapısı Dosya ve Dizin Sistemi Linux te kök dizin (/) sembolü ile ifade edilir. Windowsta kök dizin C: ise Linux ta / sembolüdür. 1 Kök dizini (/) İşletim Sisteminin çalışabilmesi için
ARM Tabanlı Bir Sistemin Kuruluşu ve Emülatör ile Testi
Gömülü Linux Sistemleri Login'e Kadar Linux ARM Tabanlı Bir Sistemin Kuruluşu ve Emülatör ile Testi Giriş Bu yazıda ARM tababanlı bir sistem baştan sona kurulacak ve emülatör ortamında test edilecektir.
Linux Dosya Yapısı. Eren BAŞTÜRK.
Linux Dosya Yapısı Eren BAŞTÜRK [email protected] Giriş Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi Linux Dosya Yapısı Giriş Kernel Derleme
Linux altında komut satırında...
-Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı
Adli Analiz İşlemlerine Başlamak
Adli Analiz İşlemlerine Başlamak Bu belge Harun ŞEKER tarafından adli analiz işlemlerine hazırlık konusunda yazılmıştır. Yazarın ismine sadık kalınmak şartı ile izinsiz olarak kopyalanabilir veya yayımlanabilir
Linux Disk Yönetimi. Sisteme bağlı diskler ve bu disklerin bölüm yapıları hakkında bilgi edinmek için fdisk komutunu kullanabiliriz.
Linux Disk Yönetimi Linux işletim sisteminin,disk bölüm yapısı ve desteklediği dosya sistemlerine önceki bölümde değinilmiştir. Bu bölümde disk bölümü(partition) oluşturma, disk bölümü biçimleme(format)
Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.
Dosya Sistemi ve Çalışma Mantığı Dosya Sistemi Disk üzerindeki dosyaların düzenlenmesini ve bir işletim sisteminde dosyaların izlerinin bulunmasını sağlayan yapıya Dosya Sistemi (File System) denir. Linux
Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos
Yardım Komutları Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda
WeldEYE. Kurulum Kılavuzu. İçindekiler
WeldEYE Kurulum Kılavuzu İçindekiler Giriş... Hata! Yer işareti tanımlanmamış. Kurulum... Hata! Yer işareti tanımlanmamış. Sistem/Ortam gerekleri... 3 Yazılımın kurulması... 3 Kamera sürücüsünün kurulumu...
Apache üzerinden Red Hat 5 yüklenmesi
Apache üzerinden Red Hat 5 yüklenmesi Erdal YAZICIOGLU Sistem ve Ağ Mühendisi 21.07.2008 MAKALEDE KULLANILAN KISALTMALAR: RHEL = Red Hat Enterprise Linux GUI = Grafical User Interface (Grafiksel Arayüz)
İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ. Öğr.Gör. Mehmet DEMİR
İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ Öğr.Gör. Mehmet DEMİR HOMEWORK 1: Linux Kurulumu(Sanal) ve Linux İşletim Sistemine Yeni Kernel Kurulumunun
Sun Solaris Sunucular için Felaket Kurtarma (DR-Disaster Recovery) Çözümleri
Sun Solaris Sunucular için Felaket Kurtarma (DR-Disaster Recovery) Çözümleri İsmail Yenigül EnderUNIX Çekirdek Takım Üyesi İsmail at enderunix nokta org İsmail.yenigul at endersys nokta com nokta tr 2
Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.
Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS. NTFS'nin FAT32'ye göre sağladığı bir çok avantajı vardır. Diski daha verimli kullanır.
Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.
Windows 2012 Server Windows Server 2012 Programını VmWare Altına Kurma Microsoft firmasının ürettiği en son Server İşletim Sistemi 2012 dir. Bu işletim sistemi sürümleri 64 bit olarak yazılmış 32 bit sürümü
Pardus 2011 Kurulum Belgesi Sürüm 1.1 29 Ocak 2011. İçindekiler
Pardus 2011 Kurulum Belgesi Sürüm 1.1 29 Ocak 2011 İçindekiler 0. Giriş 1. Başlangıç Ekranı 1.1. Dil Seçimi 1.2. Grafik Ekran Ayarı 1.3. Çekirdek Ayarı 2. Lisans Şartları 3. Kurulum Ortamının Doğrulanması
Fstab Rehberi. Ceren Çalıcı. Nisan, 2012
Fstab Rehberi Ceren Çalıcı Nisan, 2012 İçindekiler 1 Giriş.................................................... 2 2 Fstab a Giriş................................................ 3 3 Fstab Dosyası Nasıl
FOG SERVER (FREE GHOST SERVER) YAZILIMININ KURULUMU
FOG SERVER (FREE GHOST SERVER) YAZILIMININ KURULUMU 1. KURULUM ÖNCESİ HAZIRLIKLAR VE ORTAM / SÜRÜM ÖZELLİKLERİ: FOG Server yazılımı, Linux işletim sistemleri üzerine kurulan Apache2, PHP ve MySQL uygulamalarının
e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.
e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection www.etarti.com LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 1 LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 2 Contents
İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?
İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR İmage nedir? Sistem yüklemelerini en kolay ve en hızlı şekilde yapmak için kullanılan yöntemlerden biridir. Format atılan bir bilgisayara önce işletim
Sun Solaris Jumpstart Sistemi
Sun Solaris Jumpstart Sistemi Ömer Faruk Şen EnderUNIX Yazılım Geliştirme Takımı Üyesi ofsen at enderunix nokta org 4 Aralık 2007 Bu makalenin son halini http://www.enderunix.org/docs/solaris-jumpstart.pdf
Gömülü Linux Sistemleri Eğitimi
Eğitimi Kavramlar ve Uygulamalar Hazırlayan: Nazım KOÇ Copyright (C) 2014, Nazım KOÇ Bu belgenin bütün telif hakları Nazım KOÇ'a aittir. Bu belgenin tamamı veya bir kısmı, kaynak gösterildiği ve değişiklik
SIMAN KULLANIM KILAVUZU
SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.
DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri
LOGO PROGRAM KURULUMU VE AYARLARI Logo programlarının yüklemesi için kullanılacak,setup dosyaları ftp://download.logo.com.tr/ adresinden indirilerek yapılır. Örneğin Kobi ürünleri için; ftp://download.logo.com.tr/windows/kobi/guncel/go_plus/klasöründen
BIND ile DNS Sunucu Kurulumu
BIND ile DNS Sunucu Kurulumu BIND Nedir? BIND bir dns sunucusu yani unix ve linux sistemler üzerinde dns servis hizmetini veren başarılı bir daemondur. Kısacası en popüler DNS sunucu yazılımı BIND dir.
Loop Cihazlar ile İmaj Analizi
Gömülü Linux Sistemleri Login'e Kadar Linux Loop Cihazlar ile İmaj Analizi Giriş Bu yazıda herhangi bir disk imajının diske kurulum yapılmadan analiz edilmesinden bahsedilecektir. Disk imajının ARM veya
Gömülü Linux. http://ucanlinux.com. GNU's Not Unix. Hazırlayan: Nâzım KOÇ. : [email protected] [email protected] : http://ucanlinux.
Gömülü Linux Hazırlayan: Nâzım KOÇ E-posta Web : [email protected] [email protected] : GNU's Not Unix 1 1 Giriş Amacımız, PowerOn ile Login arasında, uygulanan her adımı FARKINDA OLARAK yapmaktır.
Gömülü Linux Sistemleri OrangePi Zero Uygulaması 18 Mayıs 2017
Gömülü Linux Sistemleri OrangePi Zero Uygulaması http://ucanlinux.com 18 Mayıs 2017 Nâzım KOÇ İçindekiler 1 Giriş 3 2 Çalışma ortamı 6 3 Çapraz Derleyiciler 8 4 Açılış yükleyicisi 10 5 Bölümlendirme 16
Acarix CD-DVD/Ağ üzerinden çalışan GNU/Linux Dağıtımı
CD-DVD/Ağ üzerinden çalışan GNU/Linux Dağıtımı H. Coşkun Gündüz Can Burak Çilingir Bilgisayar Bilimleri Bölümü İstanbul Bilgi Üniversitesi Linux ve Özgür Yazılım Şenliği, 2006 H. Coşkun Gündüz, Can Burak
Squid i Follow X-Forwarded-For headers Yaması İle Patchlemek
/******************************************************** * Gökhan ALKAN * gokhan [at] enderunix [dot] org * EnderUNIX Yazılım Gelistirme Takımı * http://www.enderunix.org * * Sürüm : 1.0 * Tarih : 27.06.2006
MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu
MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu nda, aşağıdaki adımlar sırası ile takip edilmelidir. 1 - MAC İçin
ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0
ROKAY Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0 1 İÇİNDEKİLER SAYFA Cihazın Genel Özellikleri... 3 Programın Kurulumu... 4 Windows-7 Sürücülerin Yüklenmesi... 5 Windows-Vista Sürücülerin Yüklenmesi...
FRAGnStein PC ye İlk Kurulum ve Konfigürasyon Klavuzu
FRAGnStein PC ye İlk Kurulum ve Konfigürasyon Klavuzu Doküman Versiyonu Versiyon 1.0 (Mart 2010) İçerik Bu doküman, FRAGnStein'ın PC'de ilk kullanımı, PC için güncel sürücünün kurulumu ve PC ve PS3 için
Sanal Makineye CentOS Kurulumu
Sanal Makineye CentOS Kurulumu Bu yazıda VirtualBox sanallaştırma ortamında GNU/ Linux dağıtımlarından biri olan CentOS kurulumu anlatılacaktır. * Kuruluma başlamadan önce Oracle VM VirtualBox kurulumunun
Master boot record (MBR)
DİSK ve FAT Cluster büyüklükleri fat yapısına ve disk büyüklüğüne bağlıdır. Aşağıdaki tabloda FAT16 dosya sistemi için disk size larına göre cluster büyüklükleri verilmiştir. Disk size (partition büyüklüğü)
YAYGIN OLARAK KULLANILAN ADSL MODEMLER VE ROUTER AYARLARI
YAYGIN OLARAK KULLANILAN ADSL MODEMLER VE ROUTER AYARLARI D-Link 500G Router Ayarları web arayüzüne ulaşmak için modemin standart IP adresi olan 10.1.1.1 yazıyoruz. o Modeminizin IP adresini web tarayıcınızın
LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları
LMS PC aracı ACS420 LMS parametre ayarlarının yapılması için PC yazılımı Kurlum ve çalıştırma talimatları 1 İçindekiler 1. ACS420 programının kurulumu.. 3 2. OCI430 ara yüzün sürücü kurulumu.. 7 OCI430
Network üzerinde MATLAB kurulması
Network üzerinde MATLAB kurulması MATLAB&Simulink www.figes.com.tr Bir network üzerinde MATLAB ın kurulmasına başlanmadan önce bir network lisansı açılması ve bunun için de kurulum yapılacak sunucunun
16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30. Temel Linux Eğitimi. Süha TUNA. http://www.be.itu.edu.tr/egitimler/
16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30 Temel Linux Eğitimi Süha TUNA http://www.be.itu.edu.tr/egitimler/ Bölüm 1 Linux İşletim Sistemi Linux Linux, UNIX benzeri, açık kaynak kodlu bir işletim sistemidir.
sunucu uygulaması Devrim Sipahi [email protected]
FreeBSD ile Terminal sunucu uygulaması Devrim Sipahi [email protected] Amaç Eski bilgisayarları değerlendirmek Disksiz bilgisayarları değerlendirmek Maliyet avantajı Yönetim ve bakım kolaylığı Kullanım
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü [email protected] Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101
LİNUX İŞLETİM SİSTEMİNİN KÖPRÜ MODUNDA ÇALIŞTIRILMASI VE GÜVENLİK DUVARI İŞLEMLERİ
LİNUX İŞLETİM SİSTEMİNİN KÖPRÜ MODUNDA ÇALIŞTIRILMASI VE GÜVENLİK DUVARI İŞLEMLERİ Belge Hakkında Bu belge GNU Free Documentation Licence ı ile kaynak gösterilmek ve önceden yazarından izin alınmak kaydıyla
2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ
AutoCAD 2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ ve YÜKLENMESİ Adımlar: 1. Adım: www.autodesk.com adresine giriş yapılır. 2. Adım: Autodesk firmasının web sayfasında Communities----Students &Educators
Komut Penceresi ile Çalışmaya Başlamak
Komut Penceresi ile Çalışmaya Başlamak Gökhan SELAMET Terminal Penceresi / CLI Nasıl Açılır Standart Olarak Bilgisayar Adı Bulunduğu Dizin Kullanıcı Yetki Klasör Sistemi Terminalde çalışırken üç önemli
ZEBEX 107X EL TERMİNALLERİNE FIRMWARE YÜKLEME
ZEBEX 107X EL TERMİNALLERİNE FIRMWARE YÜKLEME Firmware Nedir. En basit tanımlama ile elektronik bir cihazın herhangi bir yongasında (chip) bulunan yazılımlara (programlara) firmware denilir. Firmware,
Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.
Genel amaçlı komutları Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. help Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi
3CX Phonesystem Türkçe Anonsları Windows ve Linux İşletim Sistemlerinde Aktif Etme
3CX Phonesystem Türkçe Anonsları Windows ve Linux İşletim Sistemlerinde Aktif Etme Windows: 1. Adım: Not: Versiyon 12.5, 14 ve 15 için aynı menü yolunda ancak görsellik farkı bulunmaktadır. V15 için: 3CX
Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu
Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu Ünal YILMAZ [email protected] Hakkımda 1976 da İstanbul da doğdum. Haydarpaşa Endüstri Meslek Lisesi Elektrik, Anadolu Üni. Önlisans Halkla ilişkiler,
NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI
NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların
Linux İşletim Sistemleri. Eren BAŞTÜRK. [email protected] www.erenbasturk.com
Linux İşletim Sistemleri Eren BAŞTÜRK [email protected] www.erenbasturk.com Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Linux İşletim
BİLGİSAYAR KULLANMA KURSU
1 2 KURS MODÜLLERİ 1. BİLGİSAYAR KULLANIMI 3 1. Bilişim (Bilgi ve İletişim) Kavramı Bilişim, bilgi ve iletişim kelimelerinin bir arada kullanılmasıyla meydana gelmiştir. Bilişim, bilginin teknolojik araçlar
SpamTitan CD'den kurulum
SpamTitan CD'den kurulum Hazırlık 1. Sadece Mail Güvenlik Duvarı olarak kullanacağınız uygun bir sunucu seçin. Tavsiye edilen özellikler: o Pentium 4 işlemci, 1024MB RAM Bellek, 80GB sabit disk, 1 Ethernet
İşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
Setup Yardımcı Programı
Setup Yardımcı Programı Belge Parça Numarası: 389194 142 Aralık 2005 İçindekiler 1 Setup Yardımcı Programı erişimi 2 Setup Yardımcı Programı nın dili 3 Setup Yardımcı Programı varsayılan değerleri 4Setup
Useroam Kurulum Rehberi
Useroam Kurulum Rehberi User roaming service İndirme Useroam güncel sürümünü www.useroam adresinden indirebilirsiniz. İndirmiş olduğunuz iso dosyasını Useroam ürününü kuracağınız platforma taşıyınız. Vmware
LİNUX. Dosyalar ve dizinler
LİNUX Dosyalar ve dizinler Dosya sistemi Linux işletim sisteminde de dosya ve dizinler diğer Unix türevi işletim sistemlerinde olduğu gibi hiyerarşik yapıya sahiptir. En üst düzeyde olan kök dizini olarak
Clonezilla Server ile Ağ Üzerinden Çoklu İmaj Yükleme
Clonezilla Server ile aynı ağ üzerinde bulunan birden fazla istemciye aynı anda imaj yükleyebilirsiniz. Bunun için gerekli tüm bileşenleri içerisinde barındıran DRBL (Diskless Remote Boot in Linux) sunucusunu
Lisanslama Sistemi ve Set Yükleme İşlemleri
Lisanslama Sistemi ve Set Yükleme İşlemleri Yeni lisanslama sistemine geçiş sonrasında karşılaşılan aksaklıkları gidermek amacı ile yükleme işlemlerinde bazı değişiklikler yapılmasına karar verildi. Yapılan
MultiBoot Kullanıcı Kılavuzu
MultiBoot Kullanıcı Kılavuzu Copyright 2006 Hewlett-Packard Development Company, L.P. Bu belgede yer alan bilgiler önceden haber verilmeksizin değiştirilebilir. HP ürünleri ve hizmetlerine ilişkin garantiler,
WebInstaller. 1. Kurulum Đçin Gereksinimler
WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe
BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK
Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000 Kullanım Kılavuzu Doküman Versiyon: 1.0 22.04.2016 BQTEK İçindekiler İçindekiler... 2 1. Cihaz Özellikleri... 3 2. Genel Bilgi... 3 1. Genel Görünüm...
BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (
BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: [email protected] ) 04.10.2018 1 MATLAB da Workspace ve Workspace
BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ
BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 1 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ İŞLETİM SİSTEMİ OS(Operating System) İşletim sistemi temel olarak, belli girdileri alıp derleyen ve sonuçları üreten program
Yrd. Doç. Dr. A. Burak İNNER
Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Bu derste Li u e ko ut satırı ara üzü hakkı da ilgi
Temel Li nux Eği t i mi 4. 5. 6. Böl üm
Temel Li nux Eği t i mi 4. 5. 6. Böl üm C. Ahmet MERCAN İ TÜ Bi l i şi m Enst i t üsü 11 Hazi r an 2012 Bölüm 4 Kullanıcılar, Haklar 3 Kullanıcılar Linux'ta her kullanıcının bazı temel özellikleri vardır:
Pardus ta Komutlarla Çalışmak
KONSOL KOMUTLARI Pardus ta Komutlarla Çalışmak Pardus üzerinde şu ana kadar tüm işlemlerimizi grafik ara yüz ile fare ve klavyeyi kullanarak gerçekleştirdik. Şimdiye kadar yaptığımız tüm işlemler ve daha
Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)
Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine) İçindekiler Tablosu Dosyaların Bilgisayara İndirilmesi... 3 Dosyaların Bilgisayara Yüklenmesi... 5 1. İnternet Üzerinden Kurulum 5 1.1. Lisans Dosyasının
İsmail YENİGÜL. EnderUNIX Çekirdek Takımı Üyesi.
FreeBSD Paket Yönetimi İsmail YENİGÜL EnderUNIX Çekirdek Takımı Üyesi [email protected] Paket Sistemi Bir FreeBSD paketi tek bir dosyadan oluşan ve genellikle uzantısı tgz -FreeBSD 5.X'de.tbz- olan
Temel Linux Eğitimi. İçindekiler
Temel Linux Eğitimi İçindekiler 1. Linux Topluluğu ve Açık Kaynak Sistemlerde Kariyer İmkanları...3 1.1 Linux tarihsel gelişim ve popüler İşletim Sistemleri...3...3...3...3 1.2 Ana Açık Kaynak Uygulamalar...3...3...3...3
Linux un Tarihsel gelişimi
Linux un Tarihsel gelişimi Unix, 1969 yılında, Ken Thompson ve Dennis Ritchie tarafından Bell Laboratuvarları'nda geliştirilmiş, çok kullanıcılı, çok görevli yapıyı destekleyen bir bilgisayar işletim sistemidir.
BQ370-02 Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: 1.0 03.05.2016 BQTEK
Modbus Analog Giriş Kartı 6 Kanal 4 20mA Kullanım Kılavuzu Doküman Versiyon: 1.0 03.05.2016 BQTEK İçindekiler İçindekiler... 2 1. Cihaz Özellikleri... 3 2. Genel Bilgi... 3 1. Genel Görünüm... 4 2. Cihaz
Debian GNU/Linux'da BootSplash & Grub Temalarının Kurulumu
Son Güncelleme: 13.05.2005 Debian GNU/Linux'da BootSplash & Grub Temalarının Kurulumu Okuyacağınız yazının amacı Debian GNU/Linux [1] dağıtımına, Grub [2] ile sonrasındaki açılış prosedürünün [3] tema
12. HAFTA KBT104 BİLGİSAYAR DONANIMI. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
12. HAFTA KBT104 BİLGİSAYAR DONANIMI Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 Konu Başlıkları FDisk (Disk Bölme) İşleminin Yapılması Recovery Console Repair Kaynakça 3 Temel
Packet tracer arayüzü yukarıdaki şekilden de görüldüğü gibi üç ana araç çubuğundan oluşmaktadır.
Lab1 Packet Tracer Arayüzü ve Komut Satırı Kullanımı Packet tracer arayüzü yukarıdaki şekilden de görüldüğü gibi üç ana araç çubuğundan oluşmaktadır. Main Toolbar: Sırayla, New: yeni çalışma alanı oluşturma,
AutoCAD Inventor 2011 Kurulumu
AutoCAD Inventor 2011 Kurulumu Elinizdeki DVD lerden 1.sini, DVD-ROM sürücüsüne yerleştirdiğinizde kurulum otomatik olarak başlar. Eğer kurulum otomatik başlamazsa, DVD nin kök dizininde bulunan Setup.exe
KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER
KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB Tarih: 29/01/2013 Versiyon Tarih Açıklama 1.0 29-01-13 İlk yazımı İÇİNDEKİLER 1. AMAÇ... 1-2 2. SSLVPN BAĞLANTI ADIMLARI... 2-2 2.1 Linux
BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET
BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin
Şekil 2.1 : Şekil 2.2 : Şekil 2.3 :
BÖLÜM 2 MĐCROWIN 32 PROGRAMININ BĐLGĐSAYARA YÜKLENMESĐ 2.1 - Giriş: PLC de tasarlanan projeyi çalıştırabilmek için Micro/WIN 32 veya Micro/WIN 16 paket programın öncelikle bilgisayara yüklenmesi gerekmektedir.
MİKROSAY YAZILIM VE BİLGİSAYAR SAN. TİC. A.Ş.
TEOS IO SERVER SIMATIC NET OPC SERVER S7 300 PLC ve MPI haberleşme için CP5611 kartı kullanılmaktadır. Bu kart aracılığı ile S7 300 PLC ye bağlanmak için SIMATIC NET OPC Server yazılımı kullanılmaktadır.
LINUX YAPISI VE KOMUTLARI
LINUX YAPISI VE KOMUTLARI Bazı Özellikleri: Unix, komutların ve dosya isimlerinin küçük/büyük harf olmalarına dikkat eder. mozilla ve Mozilla tamamen farklı komutlar olabilir. Sisteme giriş yaptığınız
1.5. Başvuru formundaki bilgileri aşağıdaki şekilde doldurunuz. Kart Okuyucu Tipi: Mini Kart Okuyucu Sertifika Süresi: 3 Yıl
1. E-imza bulunmayan personelin e-imza alması gerekmektedir. 1.1. https://portal.kamusm.gov.tr/bp/ws.go internet adresine giriniz. 1.2.Girdiğiniz internet sayfasında Nitelikli Elektronik Sertifika Başvurusu
Table of Contents
Table of Contents PisiLinux 2.0 Kurulum 1 - İso Dosyasının İndirilmesi 2 - İso Dosyasını Usb Çubuğuna Yazma A Windows Üzerinde Yazma İşlemi B Linux Üzerinde Yazma İşlemi 3 - Usb Çubuğunu Başlatılabilir
Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.
WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde
MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK
MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi
PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU
PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU Aşağıdaki linkten Pardus Topluluk Sürümü 3.0 KDE 64-bit sürümü indirebilirsiniz. http://sourceforge.net/projects/gnupardus/files/pardus3.0/tr/pardus_topluluk_3.0
AntiKor Güvenlik Sunucumu nereye yerleştirmeliyim?
AntiKor Güvenlik Sunucumu nereye yerleştirmeliyim? AntiKor Güvenlik sunucusu, yerel ağ ile interneti sağlayan DSL modem veya Router arasına girerek bütün İnternet trafiğinin üzerinden geçmesini sağlar
Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.
Eş zamanlı Scream! kullanımı Scream!, sismik ağın güçlü bir parçası olacak şekilde tasarlanmıştır. Varsayılan yapılandırma dosyası scream.ini dir ve ilk kullanım sırasında kendini otomatik olarak oluşturur.
MultiBoot Kullanıcı Kılavuzu
MultiBoot Kullanıcı Kılavuzu Copyright 2009 Hewlett-Packard Development Company, L.P. Bu belgede yer alan bilgiler önceden haber verilmeksizin değiştirilebilir. HP ürünleri ve hizmetlerine ilişkin garantiler,
GIGABYTE Slate PC'yi ilk kez kullanmak
GIGABYTE Slate PC satın aldığınız için sizi kutlarız! Bu kılavuz size Slate PC kurulumuna başlamanızda yardımcı olacaktır. Nihai ürün konfigürasyonu satın aldığınız andaki modeline bağlıdır. GIGABYTE,
Useroam Sonicwall Kurulum Rehberi
Useroam Sonicwall Kurulum Rehberi User roaming service İndirme Useroam güncel sürümünü www.useroam adresinden indirebilirsiniz. İndirmiş olduğunuz iso dosyasını Useroam ürününü kuracağınız platforma taşıyınız.
Temel LINUX Komutları
Ders 8 LINUX OS (Temel Komutlar) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Konsole kullanımı için birçok komut bulunmaktadır. Bunlardan bir kısmı betik (script) yazımında kullanılır. Burada gereksinim duyulan en
3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI
3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI 3.1. Dosya Sistemi Dosya sistemi disk üzerindeki dosyaların organize edilmesidir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak
Sorun Giderme. Genel. Disk. Aygıt Sürücüleri 3
Sorun Giderme Genel 2 Servis Paketleri 2 Disk Alanı 2 Page File 2 Aygıt Sürücüleri 3 Log Dosyaları 3 Snapshot Alınamıyor 3 Backup İmajı Yazma Hatası 4 Tanılama Aracı 5 Genel Servis Paketleri Çeşitli işletim
MultiBoot. Kullanıcı Kılavuzu
MultiBoot Kullanıcı Kılavuzu Copyright 2007 Hewlett-Packard Development Company, L.P. Bu belgede yer alan bilgiler önceden haber verilmeksizin değiştirilebilir. HP ürünleri ve hizmetlerine ilişkin garantiler,
SquidGuard Kurulumu. Öncelikle gerekli paket temin edilmelidir. www.sleepycat.com adresinden temin edilebilir. Basitçe kurulumu ;
/*******************************************************\ * Gökhan ALKAN * gokhan [at] enderunix [dot] org * EnderUNIX Yazılım Gelistirme Takımı * http://www.enderunix.org * * Sürüm : 1.0 * Tarih : 06.08.2006
JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI
JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI WINDOWS TA JAL IN İNDİRİLMESİ VE KURULMASI JAL derleyicisi aslında Jal.exe isimli tek bir dosyadan oluşur. Jal.exe derleyici programı, yazılan JAL programı
robotsan idea Kontrol Kartı (idea Board) Kurulum
robotsan idea Kontrol Kartı (idea Board) 1 Genel Bakış Bu dokümanda, robotsan tarafından geliştirilmiş olan idea Kontrol Kartları nın programlanabilmesi için işletim sistemine tanıtılması sırasında yapılması
