歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

移植Linux到龍芯3210筆記

移植的基本思路是:先編譯後調試

首先修改配置文件,如:Makefile 、 Kconfig等。這樣就可以進行內核的配置,然後可以編譯。

編譯完之後,開始從代碼上一步步的進行調試。

修改配置文件:

./arch/mips/Kconfig

這個構架相關的配置文件實則上就是主配置文件,作用是在make menuconfig的時候定義好一些宏,這些宏的作用就是為了加入平台相關的代碼而作的一些內核配置選擇。

首先作一個基本的認識:

menu/endmenu  表示主菜單中菜單選項的開始與結束,也就是說中間部分是在這個菜單選項被打開後顯示出來的。

choice/endchoice 表示菜單裡的某個子菜單,屬於某個子菜單是通過depends on A為指定(假設是A),也就是說這部分內容是依賴於A。

config 表示是一個條目,例如,config A。那麼配置完之後,會在auto.config文件中生成一個CONFIG_A的宏。

select  表示使能這個條目,或者說這個條目依賴於這個config。

depends on 表示這個config依賴於這個條目。


1)在menu “”Machine selection”添加:


config SOC32101_BOARDS

bool "Support for SOC CAS SOC3210 1 generic boards"

 select SYS_HAS_CPU_SOC32101

 select DMA_NONCOHERENT

 select BOOT_ELF32

 select BOARD_SCACHE

 select HW_HAS_PCI

 select ISA

 select IRQ_CPU

 select GENERIC_IOMAP

 select SYS_SUPPORTS_32BIT_KERNEL

 select SYS_SUPPORTS_64BIT_KERNEL

 select SYS_SUPPORTS_LITTLE_ENDIAN

 select SYS_SUPPORTS_HIGHMEM

 help

     ICT experimental board, which uses ict fpga north bridge

     and soc32101 CPU.

choice

 prompt "subsystem type"

 depends on SOC32101_BOARDS

 

  config SOC_SOC

       bool "soc32101 gc soc support"

endchoice

2)在menu “CPU selection”中添加

choice

    prompt "CPU type"

     default CPU_SOC32101      #修改默認CPU

    config CPU_SOC32101       #添加CPU

         bool "SOC32101"

            depends on SYS_HAS_CPU_SOC32101

            select CPU_SUPPORTS_32BIT_KERNEL

  ... ...

endchoice

PS:通過上面兩步的配置,我們得到了三個宏:CONFIG_SOC32101_BOARDS、CONFIG_SOC_SOC、CONFIG_CPU_SOC32101,它們在./include/config/auto.conf裡定義。

Copyright © Linux教程網 All Rights Reserved