玩转mini2440开发板之【linux内核的编译和下载】
今天首先來玩一玩linux內(nèi)核的編譯和下載。
1、背景交代
- 開發(fā)環(huán)境:64位的Ubuntu 14.04;
- 編譯工具:arm-linux-gcc 4.4.3;
- 下載工具:SuperViVi USB Transfer Utility;
- 調(diào)試工具:SecureCRT 7.2.6;
- 開發(fā)板材:友善之臂mini2440(64M版本);
- 內(nèi)核版本:linux-2.6.32.2-20150709;
2、編譯步驟
首先按照友善之臂官方手冊(mini2440用戶手冊-20140103)的介紹,將linux 2.6.32.2的源碼解壓出來,我本人是解壓到/opt/FriendlyARM/mini2440/linux-2.6.32.2-20150709目錄下。
然后進(jìn)入該目錄,拷貝對應(yīng)的config文件,具體可參考用戶手冊上的介紹。我本人的開發(fā)板配備的LCD顯示屏的NEC 3.5寸的版本,因此我的命令是:
cp config_mini2440_n35 .config注意:n35后面有個(gè)空格,然后有個(gè)“.”的 開頭的 config。
輸入make menuconfig命令,啟動圖形化配置窗口。這里有可能會出錯,提示“’make menuconfig’ requires the ncurses libraries.”,此時(shí)可參見我的另外一篇博客(如何解決Ubuntu 14.04編譯make menuconfig時(shí)缺少’ncurses-devel’庫)的介紹來解決這個(gè)問題。
如果一切順利,則會出現(xiàn)如下的圖形窗口:
此時(shí),就可以根據(jù)你自己的要求定制linux內(nèi)核了。由于我這里只是做最基本的嘗試,因此不涉及具體的技術(shù)和參數(shù),我的目的只是生成一個(gè)盡可能簡單小型化的內(nèi)容用來學(xué)習(xí)學(xué)習(xí)。因此,我將其中很多的部分都刪除或者清空了,比如網(wǎng)絡(luò)驅(qū)動、USB驅(qū)動等等,當(dāng)然,我也做了一點(diǎn)小小的定制化修改,比如把開發(fā)板的名字改成了My2440,這一點(diǎn)在后面開發(fā)板啟動之后的調(diào)試信息中可以看的出來。總之就是,大家可以根據(jù)自己的要求來進(jìn)行定制。
一切調(diào)整完畢之后,將鼠標(biāo)移到最下面,保存你的配置內(nèi)容到.config文件中,然后再點(diǎn)擊EXIT按鈕退出,回到命令行界面,輸入make zImage,開始編譯內(nèi)核。大約2-3分鐘就可編譯完畢。進(jìn)入到arch/arm/boot目錄下,就能找到剛剛編譯出來的zImage文件了。
leon@Ubuntu:/opt/FriendlyARM/mini2440/linux-2.6.32.2-20150709/arch/arm/boot$ ll 總用量 3060 drwxr-xr-x 4 leon 126 4096 8月 15 17:23 ./ drwxr-xr-x 80 leon 126 4096 10月 11 2014 ../ drwxr-xr-x 2 leon 126 4096 10月 11 2014 bootp/ drwxr-xr-x 2 leon 126 4096 8月 15 17:23 compressed/ -rwxrwxr-x 1 leon leon 2052288 8月 15 17:23 Image* -rw-rw-r-- 1 leon leon 130 8月 15 17:23 .Image.cmd -rw-r--r-- 1 leon 126 1274 10月 11 2014 install.sh -rw-r--r-- 1 leon 126 3118 10月 11 2014 Makefile -rwxrwxr-x 1 leon leon 1044188 8月 15 17:23 zImage* -rw-rw-r-- 1 leon leon 157 8月 15 17:23 .zImage.cmd3、下載步驟
連接開發(fā)板,啟動SuperViVi USB Transfer Utility工具和SecureCRT 7.2.6工具,再給開發(fā)板上電,SuperViVi USB Transfer Utility中會提示mini2440連接成功,串口端也會給出如下信息:
##### FriendlyARM BIOS for 2440 ##### [x] bon part 0 320k 2368k [v] Download vivi [k] Download linux kernel [y] Download root_yaffs image [a] Absolute User Application [n] Download Nboot [l] Download WinCE boot-logo [w] Download WinCE NK.bin [d] Download & Run [z] Download zImage into RAM [g] Boot linux from RAM [f] Format the nand flash [b] Boot the system [s] Set the boot parameters [u] Backup NAND Flash to HOST through USB(upload) [r] Restore NAND Flash from HOST through USB [q] Goto shell of vivi [i] Version: 1026-12 Enter your selection:輸入k,然后在SuperViVi USB Transfer Utility中點(diǎn)擊upload按鈕,將剛剛生成的zImage文件下載至開發(fā)板,重啟上電,便可看到成果了。
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0" MACH_TYPE = 1999 NOW, Booting Linux...... Uncompressing Linux.................................................................. done, booting the kernel. Linux version 2.6.32.2-My2440 (leon@Ubuntu) (gcc version 4.4.3 (ctng-1.6.1) ) #2 Wed Aug 15 17:23:42 CST 2018 CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177 CPU: VIVT data cache, VIVT instruction cache Machine: FriendlyARM Mini2440 development board ........總結(jié)
以上是生活随笔為你收集整理的玩转mini2440开发板之【linux内核的编译和下载】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xiaomi Book 12.4二合一本
- 下一篇: 安兔兔1月份安卓手机性价比榜单出炉 红魔