freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

如何構(gòu)建嵌入式linux系統(tǒng)-資料下載頁

2025-05-16 04:06本頁面
  

【正文】 文件系統(tǒng)中安裝glibc。在此之前首先解釋一下應用程序如何找到所需的共享庫。通過ld命令的參數(shù)rpath可以在鏈接時將共享庫的路徑記在應用程序中,但是通常不推薦這樣做,通常應用程序中只記錄共享庫的文件名(稍后提到的soname),啟動程序時由動態(tài)鏈接器/lib/((8)): 0. 首先在環(huán)境變量LD_LIBRARY_PATH所記錄的路徑中查找 1. 然后從緩存文件/etc/。將共享庫的路徑寫進/etc/2. 如果上述步驟都找不到,則到默認的系統(tǒng)路徑中查找,先是/usr/lib然后是/lib 注意,LD_LIBRARY_PATH是不推薦使用的,盡量不要把它設定為環(huán)境變量,詳細解釋參見Why LD_LIBRARY_PATH is bad( ~barr/ )。 每個共享庫有三個文件名:real name、soname、linker name。real name是庫文件的名字,包含完整的共享庫版本號;soname是庫文件的一個符號鏈接的名字,只包含主版本號,主版本號一致即可保證庫函數(shù)的接口一致,因此應用程序只需確認soname與所需的共享庫一致;linker name僅由鏈接器使用,有的是庫文件的一個符號鏈接的名字,有的是一段鏈接腳本的名字。庫文件的文件頭記錄了soname,因此ldconfig命令可以讀取文件頭生成相應的符號鏈接文件。綜上,一是創(chuàng)建適當?shù)膕oname鏈接,包含共享庫的軟件包在安裝過程中都會執(zhí)行一下ldconfig命令。下面以libc為例說明共享庫的三個文件名: rwxrxrx 1 akaedu akaedu 1387379 20080316 11:34 lrwxrwxrwx 1 akaedu akaedu 13 20080316 11:06 rwrr 1 akaedu akaedu 195 20080316 11:10 $ cat /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */OUTPUT_FORMAT(elf32littlearm)GROUP ( )在我們先前制作交叉編譯工具鏈時已經(jīng)交叉編譯了glibc,位于/opt/crosstool/,我們把這些共享庫拷到根文件系統(tǒng)~/rootfs/lib目錄下: ~$ cd /opt/crosstool/。 cp dp * /home/akaedu/rootfs/lib/然后到~/rootfs/lib目錄下刪掉所有靜態(tài)庫和一些不常用的庫,剩下這些庫文件: ~/rootfs/lib$ ls libstdc++.so libstdc++. libstdc++. ldconfig是很常用的一個命令,如果某些程序把共享庫安裝到非標準目錄(/lib和/usr/lib),則需要執(zhí)行l(wèi)dconfig更新緩存文件/etc/,比如后面安裝Qtopia Core時就會用到。但是busybox不包含ldconfig命令,因為它和glibc密切相關,是隨glibc一起發(fā)布的,先前我們制作交叉編譯工具鏈時已經(jīng)生成了ldconfig,現(xiàn)在把它拷到根文件系統(tǒng): ~$ cp 現(xiàn)在通過NFS啟動開發(fā)板,應該可以成功啟動到shell了。 mdev先前我們在根文件系統(tǒng)的/dev目錄下手動創(chuàng)建了三個設備文件:console、null和s3c2410_serial0,內(nèi)核里還有很多設備驅(qū)動需要通過設備文件提供接口給應用程序訪問,如果一個一個手動創(chuàng)建太麻煩而且容易出錯,busybox提供的mdev程序可以從sysfs中讀出內(nèi)核提供的設備驅(qū)動信息,在/dev目錄下自動創(chuàng)建相應的設備文件并為這些設備文件命名。在PC上完成這一功能的是udev,mdev是busybox為嵌入式系統(tǒng)裁剪過的udev。 把以下幾行附加到啟動腳本~/rootfs/etc/: mount t tmpfs mdev /devmdev smkdir /dev/inputln s /dev/mice /dev/input/mice,用于指定各設備文件的所有者和權(quán)限,其格式可參考busybox源代碼中的docs/。我們不做特別的設置,但這個文件是需要存在的,因此創(chuàng)建一個空文件: ~$ touch rootfs/etc/現(xiàn)在重新啟動開發(fā)板,從mini可以看到開發(fā)板的/dev目錄下創(chuàng)建了很多設備文件,而從主機上查看NFS目錄~/rootfs/dev卻仍然只有先前的三個設備文件,想一想這是為什么。 系統(tǒng)時鐘首先將主機上的時區(qū)文件拷到開發(fā)板根文件系統(tǒng): ~$ cp /etc/localtime ~/rootfs/etc/然后在啟動腳本~/rootfs/etc/: hwclock hctosys選項hctosys的意思是讀取硬件RTC時鐘(hc)成為當前的系統(tǒng)時鐘(sys)。在系統(tǒng)運行期間,調(diào)用time(2)等函數(shù)讀取的都是內(nèi)核維護的系統(tǒng)時鐘,而不會直接去讀硬件時鐘,所以,如果用date命令修改了系統(tǒng)時鐘: date 031915232007Mon Mar 19 15:23:00 CST 2007這時關閉系統(tǒng),時鐘信息還是會丟失。如果在上述命令后用hwclock命令寫到硬件RTC時鐘: hwclock systohc在系統(tǒng)斷電期間RTC時鐘由電池來維持,下次啟動通過hwclock hctosys仍然可以將系統(tǒng)時鐘設定正確。 網(wǎng)絡配置在bootloader中設置的開發(fā)板IP地址僅在bootloader階段與主機通信時起作用。如果是NFS Root方式啟動,系統(tǒng)啟動后的IP地址是由內(nèi)核啟動參數(shù)中的NFS設置決定的,這樣系統(tǒng)啟動后仍然可以讀取主機的NFS導出目錄。如果是Flash根文件系統(tǒng)啟動,則啟動之后需要重新配置IP地址和激活網(wǎng)絡接口,我們可以把配置寫在啟動腳本~/rootfs/etc/: ifup a并且添加一個配置文件~/rootfs/etc/network/interfaces: auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress netmask gateway ifup命令根據(jù)配置文件激活網(wǎng)絡接口lo(loopback設備)和eth0(以太網(wǎng)接口)。 dbusybox自帶了一個Web服務器程序d,我們在啟動腳本~/rootfs/etc/: d h /srv/這樣d在啟動時以daemon方式運行,使用默認的80端口(使用p選項可以自己指定端口)。服務目錄是/srv/,如果瀏覽器請求/srv//cgibin目錄下的可執(zhí)行文件,則被d當作CGI程序執(zhí)行。我們在根文件系統(tǒng)中創(chuàng)建服務目錄: ~$ mkdir p rootfs/srv//cgibin現(xiàn)在啟動開發(fā)板系統(tǒng),試驗以下功能: 0. ~/rootfs/srv/下,從主機上打開瀏覽器,輸入開發(fā)板的IP地址看能否瀏覽。 1. 編輯一個shell腳本,加可執(zhí)行權(quán)限,放在~/rootfs/srv//cgibin下,從主機打開瀏覽器,輸入該腳本的地址(例如 )看能否得到執(zhí)行結(jié)果。腳本如下所示:!/bin/shecho ContentType:text/plainechols a最終我們的啟動腳本~/rootfs/etc/: !/bin/shmount amount t tmpfs mdev /devmdev smkdir /dev/inputln s /dev/mice /dev/input/micehwclock hctosysifup ad h /srv/<Building Embedded Linux Systems> by Karim Yaghmour,O39。Reilly出版
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1