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

正文內(nèi)容

如何構(gòu)建嵌入式linux系統(tǒng)-文庫吧資料

2025-05-22 04:06本頁面
  

【正文】 核位于~/。 /dev/rtcN (character devices)。 /sys/class/rtc/rtcN (sysfs)。 在 Device Drivers USB support中選中Support for Hostside USB,然后選擇OHCI HCD support,在Device Drivers Input device support中選中Mouse interface,設(shè)置屏幕分辨率Horizontal screen resolution和Vertical screen resolution為1024和768。如果還選中了Bootup Logo,那么在內(nèi)核啟動過程中初始化framebuffer時會在屏幕上看到Linux的企鵝logo,這是測試framebuffer驅(qū)動是否正常工作最直接的方法。 Enable video Mode Handling Helpers。 cache short names in RAM, 再選上Compressed ROM file system support (cramfs)。 在File systems Miscellaneous filesystems中選中YAFFS2 file system support。 選中Device Drivers Memory Technology Devices (MTD) MTD partitioning support,在Device Drivers Memory Technology Devices (MTD),選中NAND Device Support和它下面的NAND Flash support for S3C2410/S3C2440 SoC。 選中Device Drivers Network device support Ethernet (10 or 100Mbit) CS8900A support,添加對網(wǎng)卡芯片的支持。Virtual memory file system(或者叫tmpfs)用于內(nèi)存虛擬磁盤,后面我們在做根文件系統(tǒng)時要mount一個tmpfs到/dev目錄下。 Tmpfs POSIX Access control Lists。 Sysctl support (/proc/sys)。這樣的運行效率比使用softfloat編譯要低,因為每次浮點運算都需要處理異常和進(jìn)入內(nèi)核,但是兼容性好,便于我們利用別人已編譯好的程序。 有兩種方法可以仿真浮點指令:一種方法如先前所說的,使交叉編譯器支持softfloat,也就是一遇到C代碼里的浮點運算就自動生成仿真指令,另一種方法是交叉編譯器仍然生成浮點運算指令(對于ARM平臺是指協(xié)處理器指令),然而ARM920T沒有浮點協(xié)處理器,無法識別浮點指令,因而產(chǎn)生undefined異常,這個Floating point emulation內(nèi)核選項就是在undefined異常的處理函數(shù)中仿真實現(xiàn)浮點運算。 ~/$ cp arch/arm/configs/akae2440_defconfig .config~/$ make menuconfig查看配置菜單中的如下選項(有些已經(jīng)默認(rèn)選中): 在Floating point emulation中選擇NWFPE math emulation。?= armlinux注意ARCH ?=arm后面不能有空格,要確??崭褚褎h除干凈,并且不要漏了armlinux末尾的“”。?=改為 ARCH 將內(nèi)核釋放到~/ ~$ tar xf 進(jìn)入內(nèi)核目錄: ~$ cd (本開發(fā)板不用修改makefile,打補丁時就會自動修改)首先修改Makefile,找到 ARCH 這些目錄和設(shè)備文件需要手動創(chuàng)建。以下命令在開發(fā)板上執(zhí)行: cp a bin etc lib linuxrc opt sbin srv tmp usr /mnt/ mkdir p /mnt/proc /mnt/sys /mnt/dev /mnt/mnt /mnt/var/run mknod /mnt/dev/console m 600 c 5 1 mknod /mnt/dev/null m 666 c 1 3 umount mnt reboot注意:像/proc、/sys這樣正mount著特殊文件系統(tǒng)的目錄和/dev目錄下的設(shè)備文件一定不可以用cp命令拷貝。以下命令在開發(fā)板上執(zhí)行 flash_eraseall /dev/mtd2Erasing 16 Kibyte 6b8000 10 % plete.Skipping bad block at 0x006bc000Erasing 16 Kibyte 3dfc000 99 % plete. mount t yaffs /dev/mtdblock2 /mntyaffs: dev is 32505859 name is mtdblock2yaffs: Attempting MTD mount on , mtdblock2block 432 is bad ls /mntlost+foundflash_eraseall命令是從mtd項目( )的源代碼中交叉編譯得來的。YAFFS文件系統(tǒng)和我們熟悉的ext2不同,不需要格式化,只需要全部擦除就可以用了。注意,完成這個實驗之前先要完成上一節(jié)內(nèi)容,能啟動到nfs根文件系統(tǒng)。由于只讀因而功能上很受限制,但可以保護系統(tǒng)文件不被意外的寫操作損壞。 現(xiàn)在可以自己交叉編譯一些小程序,然后拷貝到主機的~/rootfs目錄,我們可以立刻在開發(fā)板上運行該程序,而不需要重新下載和燒寫了。如果是圖形界面的console,可以把字體調(diào)小使得一行可以容得下這么長的參數(shù),或者在gedit寫字板程序中寫好后直接粘貼到console窗口(我們推薦采用這種方法,把經(jīng)常用到的啟動參數(shù)都集中寫好,以后可以選擇對應(yīng)的參數(shù)直接粘貼就好了,非常方便)。 進(jìn)入開發(fā)板的bootloader,修改內(nèi)核啟動參數(shù): AKAE2440 set bootcmd nand read 0x30008000 kernel 0x200000\。然后修改配置文件/etc/exports,添加下面一行(注意*號后面緊跟左括號,無空格,每個逗號后面也不能有空格): /home/akaedu/rootfs *(rw,sync,no_root_squash)。 設(shè)置開發(fā)板的啟動方式為NFS Root基本思想是:在主機上開NFS服務(wù)器,把主機上的~/rootfs目錄導(dǎo)出為NFS服務(wù)目錄,使開發(fā)板一啟動就自動加載主機的~/rootfs目錄為根文件系統(tǒng),省去了下載和燒寫映像的麻煩,在主機上修改根文件系統(tǒng)中的文件立刻在開發(fā)板的系統(tǒng)上生效,在開發(fā)過程中十分便利。由于包含設(shè)備文件,需要root權(quán)限才能解包: ~$ sudo tar xf 解包后可以根據(jù)自己的需要修改其中的目錄和文件,然后將根文件系統(tǒng)目錄制作成cramfs映像再下到開發(fā)板運行,這樣就達(dá)到了修改根文件系統(tǒng)中的目的。 有些時候我們可能會嘗試配置不同的內(nèi)核選項,會得到不同的幾個內(nèi)核zImage文件,這樣都燒寫到flash上再reset啟動太浪費時間,可以用tftp把內(nèi)核zImage加載到內(nèi)存0x30008000地址上,不燒寫,直接用myboot 0x30008000去啟動內(nèi)存上的內(nèi)核。 (none) login: root現(xiàn)在可以試試各種Linux基本命令。在啟動進(jìn)入到Linux系統(tǒng)后,可以通過在命令行終端鍵入如下命令來查看命令行參數(shù):$cat /proc/cmdline現(xiàn)在啟動。真正完整的命令行參數(shù)是:noinitrd console=ttySAC0,115200 init=/linuxrc cs89x0_media=rj45 root=/dev/mtdblock2 mtdparts=akae2440nand:1M(uboot),2M(kernel),16M(ext2),45M(temp) ip=:::::eth0:off noinitrd表示內(nèi)核啟動時不需要初始化一個內(nèi)存磁盤ramdisk;而root=/dev/mtdblock2表示根文件系統(tǒng)在flash的編號為2的分區(qū)上(從0開始編號的,所以是第三個分區(qū),回憶前面的uboot的分區(qū)信息,flash上分區(qū)依次是uboot,kernel,ext2,temp,我們的根文件系統(tǒng)就在第三個分區(qū)ext2上);console=ttySAC0, 115200表示打開一個串行終端ttySAC0,它是通過串口1工作的,波特率為115200;init=/linuxrc表示內(nèi)核啟動好后第一個執(zhí)行的應(yīng)用程序是/linuxrc,根目錄下的linuxrc;mtdparts=akae2440nand:1M(uboot),2M(kernel),16M(ext2),45M(temp)表示uboot傳遞給內(nèi)核的分區(qū)信息。Uboot通過這個參數(shù)告知內(nèi)核一些關(guān)鍵的啟動參數(shù)。”代替。 myboot 0x30008000AKAE2440 set bootargs noinitrd console
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1