悟空學Linux專欄----第3篇

  原來Linux內核中有一張代碼地圖呀,哈哈,悟空還是挺高興的,心覺着吧,這下可以根據這張內核地圖來研究內核代碼了吧。懷着這興致,打開內核根目錄下的Makefile文件一看,哎呀!完全看不懂呀有木有?悟空的心情瞬間低落了下來,看來有了內核地圖,路還是沒那麼容易走呀!面對Linux內核這汪洋的大海,悟空心想,還是從幹中學吧,先編譯個內核鏡像來看看先,可是如何編譯呢?還是請教一下師傅吧,於是悟空撥通了唐僧的手機。

  悟空:師傅,請教您個事。

  唐僧:你這潑猴,盡壞爲師好事!

  悟空:???

  唐僧:爲師正被女妖精調戲……哦不,正在降服女妖精,有事快說!

  悟空:……如何編譯Linux內核?

  唐僧:知道交叉編譯工具不?

  悟空:俺知道,就在編譯工具本身運行在一個特定平臺上,爲另一特定平臺的處理器編譯程序的工具鏈。

  唐僧:不錯,有長進.你下的內核版本是多少?

  悟空:3.19.3。

  唐僧:挺新的呀!好吧,爲師就以ARM架構下的A10 Soc爲例,教你如何編譯個內核鏡像吧。

  首先解壓內核源碼包,然後切換到內核源碼根目錄;

  執行這兩條指令就行了:

  tar -xvf ./kernel_source_pkg

  cd ./kernel_path

  其中kernel_source_pkg就是你下載的內核源碼包,kernel_path就是解壓後的目錄;

  執行,

  make ARCH=arm sunxi_defconfig

  make ARCH=arm CROSS_COMPILE=arm-linux- zImage

  這兩條命令就可以了,然後就等着編譯完成,就可以得到一個可以在A10上面運行的內核鏡像zImage了,腫麼樣?簡單吧。

  悟空:哦,我知道了,ARCH是指定處理器架構,CROSS_COMPILE指定交叉編譯工具,根據sunxi_defconfig默認配置文件進行編譯是吧?

  唐僧: 嗯,正確,還挺聰明的嘛。哦哦哦,女施主別別別這樣……

  斷線ing...


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章