主要是檢查交叉編譯工具鏈位置有沒有設定對。cross_compile ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
確認arch ?= arm。主要目的是為了編譯時能找到arch/arm目錄。
最後只要出現:configuration written to .config這句話,就證明我們的操作是正確的。如果沒有出現這句話,就有錯誤。
可能出現的錯誤1:ncurses庫沒裝
錯誤資訊:
*** unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** install ncurses (ncurses-devel) and try again.
解決方案:apt-get install libncurses5-dev
(參考了:
可能出現的錯誤2:螢幕太小
錯誤資訊:
your display is too small to run menuconfig!
it must be at least 19 lines by 80 columns.
解決方案:全屏,或者是把字型調小。
配置網路部分,主要是使能config_ip_pnp以在2中能夠看到root file system on nfs選項
networking support
networking options
tcp/ip networking
ip: kernel level autoconfiguration
[*] ip: dhcp support
[*] ip: bootp support
[*] ip: rarp support
配置開啟nfs服務
file systems --->
network file systems --->
<*> nfs client support
[*] nfs client support for nfs version 3
[*] nfs client support for the nfsv3 acl protocol extension
[*] nfs client support for nfs version 4 (experimental)
[*] nfs client support for nfsv4.1 (developer only)
[*] root file system on nfs
可能出現的錯誤1:莫名其妙的錯誤,可以試試先make distclean
**本身的錯誤:具體問題具體分析,下面只是其中一種情況:
can't use 'defined(@array)' (maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/gec/desktop/zhu_five/kernel/kernel/makefile:138: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] error 255
makefile:883: recipe for target 'kernel' failed
make: *** [kernel] error 2
解決方案:將kernel/timeconst.pl中第373行的defined()去掉只留下@val就可以正常編譯了。
編譯完成後得到的核心映象不在原始碼樹的根目錄下,在arch/arm/boot這個目錄下。得到的映象名是zimage
把編譯好的zimage 放到tftp伺服器的目錄下
連線tftp伺服器在開發板uboot中設定set bootcmd 'tftp 0x30008000 zimage;bootm 0x30008000'
原本的是:set bootcmd 'movi read kernel 30008000;bootm 30008000
在uboot中掛載root(ip根據實際使用更改):setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/home/gec/desktop/zhu_five/nfsroot ip=192.168.1.41:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttysac2,115200
原本的是 :setenv bootargs console=ttysac2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
* 引數詳解
* 192.168.1.141 虛擬機器ip
* /home/gec/desktop/zhu_five/nfsroot nfs伺服器目錄
* 192.168.1.10 開發板ip
* 192.168.1.141 虛擬機器ip
* 192.168.1.1 閘道器
* 255.255.255.0 子網掩碼
編譯自己的Ubuntu核心
很多時候我們在使用ubuntu的時候,想修改一下核心配置,然後編譯,安裝到ubuntu中。這也是進行ubuntu核心開發的前提。有很多方法可以獲得ubuntu核心 但是下面兩種非常方便。uname r顯示當前核心的版本號,apt get source則用來獲取package的source code ...
編譯自己的Ubuntu核心
很多時候我們在使用ubuntu的時候,想修改一下核心配置,然後編譯,安裝到ubuntu中。這也是進行ubuntu核心開發的前提。有很多方法可以獲得ubuntu核心 但是下面兩種非常方便。uname r顯示當前核心的版本號,apt get source則用來獲取package的source code ...
學習筆記 測試計畫編寫
一般在產品需求確認 測試需求分析完成後進行測試計畫編寫。測試計畫應該包含的內容 測試範圍 明確需要測試那些模組。產品的具體業務需求有哪些,產品是web端的還是移動端的,還是都有。測試策略 明確怎麼測。對不同業務需求具體要有哪些測試型別 測試場景 測試方法等等。資源安排 測試人員的安排,測試環境是怎樣...