嵌入式LINUX内核移植步骤-1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移植步骤:
1.解压内核
解压内核
[cpp] view plaincopy
1. root@ubuntu:/forlinx# tar zxvf linux-3.3.5.tar.gz
########################################################################################################
3.
select CPU_S3C6410
4.
select SAMSUNG_DEV_ADC
5.
select S3C_DEV_HSMMC
6.
select S3C_DEV_HSMMC1
7.
select S3C_DEV_I2C1
8.
select SAMSUNG_DEV_IDE
9.
select S3C_DEV_FB
[cpp] view plaincopy
1. obj-$(CONFIG_MACH_OK6410)
+= mach-ok6410.o
######################################################################################################## 修改顶层的 Makefile,第 195 和 196 行编辑
[cpp] view plaincopy
1. ARCH
?= arm
***************这里禁止在 arm 后出现空格或其它符号
2. CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-linux-
********你的交叉编译器的路径
######################################################################################################## 将 arch/arm/configs/s3c6400-defconfig 配置文件复制到顶层然后保存为 .config 。
6.
select S3C_DEV_HSMMC1
7.
select S3C_DEV_I2C1
8.
select SAMSUNG_DEV_IDE
9.
select S3C_DEV_FB
10. select S3C_DEV_RTC
11. select SAMSUNG_DEV_TS
12. select S3C_DEV_USB_HOST
在 arch/arm/mach-s3c64xx/目录下的 mach-smdk6410.c 复制一份在当前文件下命名为 mach-ok6410.c
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# cp mach-smdk6410.c mach-ok6410.c
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit mach-ok6410.c
使用 gedit 工具的 search-->replace 把文件中所有的 smdk6410 改成 ok6410 在 700 行处找到
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5# make uImage
几分钟后最初的内核已经编译完成了在 arch/arm/boot 下可以看到我们编译完成的内核了 uImage。通过 tftp 在 OK6410 开发板上运行。 通过 Uboot 的 tftp 下载到开发板上
[cpp] view plaincopy
1. smdk6410
MACH_SMDK6410
SMDK6410
1626
把它改成
[cpp] view plaincopy
1. ok6410
MACH_OK6410
OK6410
1626
保存退出 ######################################################################################################## 修改 BSP 文件,
13. select S3C_DEV_USB_HSOTG
14. select S3C_DEV_WDT
15. select SAMSUNG_DEV_BACKLIGHT
16. select SAMSUNG_DEV_KEYPAD
17. select SAMSUNG_DEV_PWM
18. select HAVE_S3C2410_WATCHDOG if WATCHDOG
开始运行 3.3.5 内核
[cpp] view plaincopy
1.
打开内核的 EABI
选择自己的板极为 OK6410 在
把自己的交叉编译器的路径输进去
配置打印串口为芯片的串口 0 ######################################################################################################## 可以开始编译了
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5# cp arch/arm/configs/s3c6400_defconfig .config
######################################################################################################## 执行 make menuconfig 对内核进行配置
24. help
25.
Machine support for the Forlinx OK6410
保存退出
######################################################################################################## 由于机器码 ID 必须和 uboot 的 ID 一致,所修改 arch/arm/tools/mach-types 文件,在 283 行找到
########################################################################################################
有了 ok6410 开发板的 bsp 文件之后,修改当前目录下的 Kconfig 文件,将我们的 bsp 文件添加到内核配置中
手把手教你移植linux内核---------OK6410(一)
配置信息:
移植内核:linux-3.3.5 可以从 / 编译环境:vmware 下 ubuntu11.04 交叉编译版本:4.3.2
准备工作:
下载纯正的版本
一块 OK6410 开发板,交叉网线,串口线一根。 在 ubuntu 根目录下创建 forlinx 文件,将内核拷贝至该目录下。 确保你的 ubuntu 已经安装 libncures5-dev(安装方法 #sudo apt-get install libncurses5-dev)。 由于移植内核工作要频繁的测试所编译的内核运行情况,所以最好配置 NFS 服务和使用带有 tftp 网络功能的 uboot。 /detail/laoylhuli/4520015 本人测试可以在 ok6410 上使用 tftp 下载
19. select S3C64XX_SETUP_SDHCI
20. select S3C64XX_SETUP_I2C1
21. select S3C64XX_SETUP_IDE
22. select S3C64XX_SETUP_FB_24BPP
23. select S3C64XX_SETUP_KEYPAD
16. select SAMSUNG_DEV_KEYPAD
17. select SAMSUNG_DEV_PWM
18. select HAVE_S3C2410_WATCHDOG if WATCHDOG
19. select S3C64XX_SETUP_SDHCI
20. select S3C64XX_SETUP_I2C1
[cpp] view plaincopy
1. config MACH_OK6410
2.
bool "OK6410"--------------------------此处注意大小写
3.
select CPU_S3C6410
4.
select SAMSUNG_DEV_ADC
5.
select S3C_DEV_HSMMC
21. select S3C64XX_SETUP_IDE
22. select S3C64XX_SETUP_FB_24BPP
23. select S3C64XX_SETUP_KEYPAD
24. help
25.
Байду номын сангаас
Machine support for the Samsung SMDK6410
复制一下,创建 OK6410 配置
10. select S3C_DEV_RTC
11. select SAMSUNG_DEV_TS
12. select S3C_DEV_USB_HOST
13. select S3C_DEV_USB_HSOTG
14. select S3C_DEV_WDT
15. select SAMSUNG_DEV_BACKLIGHT
[cpp] view plaincopy
1. MACHINE_START(ok6410, "ok6410")
把他改成
[cpp] view plaincopy
1. MACHINE_START(OK6410, "OK6410")--------------这里跟我们前面配置的 Kconfig 和 mach-types 文件中的名字对应,**大小写注意必须一致
forlinxlinux335archarmmachs3c64xxgeditmachok6410cviewplaincopy使用gedit工具的searchreplace把文件中所有的smdk6410改成ok6410在700行处找到machinestartok6410ok6410viewplaincopy把他改成machinestartok6410ok6410这里跟我们前面配置的kconfig和machtypes文件中的名字对应大小写注意必须一致viewplaincopy在当前目录archarmmachs3c64xx下打开makefile添加我们的bsp文件machok6410oviewplaincopy修改顶层的makefile第195和196行编辑arm这里禁止在arm后出现空格或其它符号viewplaincopyusrlocalarm432binarmlinux你的交叉编译器的路径将archarmconfigss3c6400defconfig配置文件复制到顶层然后保存为
######################################################################################################## 在当前目录(arch/arm/mach-s3c64xx/)下打开 Makefile 添加我们的 bsp 文件
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit Kconfig
找到
[cpp] view plaincopy
1. config MACH_SMDK6410
2.
bool "SMDK6410"
1.解压内核
解压内核
[cpp] view plaincopy
1. root@ubuntu:/forlinx# tar zxvf linux-3.3.5.tar.gz
########################################################################################################
3.
select CPU_S3C6410
4.
select SAMSUNG_DEV_ADC
5.
select S3C_DEV_HSMMC
6.
select S3C_DEV_HSMMC1
7.
select S3C_DEV_I2C1
8.
select SAMSUNG_DEV_IDE
9.
select S3C_DEV_FB
[cpp] view plaincopy
1. obj-$(CONFIG_MACH_OK6410)
+= mach-ok6410.o
######################################################################################################## 修改顶层的 Makefile,第 195 和 196 行编辑
[cpp] view plaincopy
1. ARCH
?= arm
***************这里禁止在 arm 后出现空格或其它符号
2. CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-linux-
********你的交叉编译器的路径
######################################################################################################## 将 arch/arm/configs/s3c6400-defconfig 配置文件复制到顶层然后保存为 .config 。
6.
select S3C_DEV_HSMMC1
7.
select S3C_DEV_I2C1
8.
select SAMSUNG_DEV_IDE
9.
select S3C_DEV_FB
10. select S3C_DEV_RTC
11. select SAMSUNG_DEV_TS
12. select S3C_DEV_USB_HOST
在 arch/arm/mach-s3c64xx/目录下的 mach-smdk6410.c 复制一份在当前文件下命名为 mach-ok6410.c
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# cp mach-smdk6410.c mach-ok6410.c
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit mach-ok6410.c
使用 gedit 工具的 search-->replace 把文件中所有的 smdk6410 改成 ok6410 在 700 行处找到
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5# make uImage
几分钟后最初的内核已经编译完成了在 arch/arm/boot 下可以看到我们编译完成的内核了 uImage。通过 tftp 在 OK6410 开发板上运行。 通过 Uboot 的 tftp 下载到开发板上
[cpp] view plaincopy
1. smdk6410
MACH_SMDK6410
SMDK6410
1626
把它改成
[cpp] view plaincopy
1. ok6410
MACH_OK6410
OK6410
1626
保存退出 ######################################################################################################## 修改 BSP 文件,
13. select S3C_DEV_USB_HSOTG
14. select S3C_DEV_WDT
15. select SAMSUNG_DEV_BACKLIGHT
16. select SAMSUNG_DEV_KEYPAD
17. select SAMSUNG_DEV_PWM
18. select HAVE_S3C2410_WATCHDOG if WATCHDOG
开始运行 3.3.5 内核
[cpp] view plaincopy
1.
打开内核的 EABI
选择自己的板极为 OK6410 在
把自己的交叉编译器的路径输进去
配置打印串口为芯片的串口 0 ######################################################################################################## 可以开始编译了
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5# cp arch/arm/configs/s3c6400_defconfig .config
######################################################################################################## 执行 make menuconfig 对内核进行配置
24. help
25.
Machine support for the Forlinx OK6410
保存退出
######################################################################################################## 由于机器码 ID 必须和 uboot 的 ID 一致,所修改 arch/arm/tools/mach-types 文件,在 283 行找到
########################################################################################################
有了 ok6410 开发板的 bsp 文件之后,修改当前目录下的 Kconfig 文件,将我们的 bsp 文件添加到内核配置中
手把手教你移植linux内核---------OK6410(一)
配置信息:
移植内核:linux-3.3.5 可以从 / 编译环境:vmware 下 ubuntu11.04 交叉编译版本:4.3.2
准备工作:
下载纯正的版本
一块 OK6410 开发板,交叉网线,串口线一根。 在 ubuntu 根目录下创建 forlinx 文件,将内核拷贝至该目录下。 确保你的 ubuntu 已经安装 libncures5-dev(安装方法 #sudo apt-get install libncurses5-dev)。 由于移植内核工作要频繁的测试所编译的内核运行情况,所以最好配置 NFS 服务和使用带有 tftp 网络功能的 uboot。 /detail/laoylhuli/4520015 本人测试可以在 ok6410 上使用 tftp 下载
19. select S3C64XX_SETUP_SDHCI
20. select S3C64XX_SETUP_I2C1
21. select S3C64XX_SETUP_IDE
22. select S3C64XX_SETUP_FB_24BPP
23. select S3C64XX_SETUP_KEYPAD
16. select SAMSUNG_DEV_KEYPAD
17. select SAMSUNG_DEV_PWM
18. select HAVE_S3C2410_WATCHDOG if WATCHDOG
19. select S3C64XX_SETUP_SDHCI
20. select S3C64XX_SETUP_I2C1
[cpp] view plaincopy
1. config MACH_OK6410
2.
bool "OK6410"--------------------------此处注意大小写
3.
select CPU_S3C6410
4.
select SAMSUNG_DEV_ADC
5.
select S3C_DEV_HSMMC
21. select S3C64XX_SETUP_IDE
22. select S3C64XX_SETUP_FB_24BPP
23. select S3C64XX_SETUP_KEYPAD
24. help
25.
Байду номын сангаас
Machine support for the Samsung SMDK6410
复制一下,创建 OK6410 配置
10. select S3C_DEV_RTC
11. select SAMSUNG_DEV_TS
12. select S3C_DEV_USB_HOST
13. select S3C_DEV_USB_HSOTG
14. select S3C_DEV_WDT
15. select SAMSUNG_DEV_BACKLIGHT
[cpp] view plaincopy
1. MACHINE_START(ok6410, "ok6410")
把他改成
[cpp] view plaincopy
1. MACHINE_START(OK6410, "OK6410")--------------这里跟我们前面配置的 Kconfig 和 mach-types 文件中的名字对应,**大小写注意必须一致
forlinxlinux335archarmmachs3c64xxgeditmachok6410cviewplaincopy使用gedit工具的searchreplace把文件中所有的smdk6410改成ok6410在700行处找到machinestartok6410ok6410viewplaincopy把他改成machinestartok6410ok6410这里跟我们前面配置的kconfig和machtypes文件中的名字对应大小写注意必须一致viewplaincopy在当前目录archarmmachs3c64xx下打开makefile添加我们的bsp文件machok6410oviewplaincopy修改顶层的makefile第195和196行编辑arm这里禁止在arm后出现空格或其它符号viewplaincopyusrlocalarm432binarmlinux你的交叉编译器的路径将archarmconfigss3c6400defconfig配置文件复制到顶层然后保存为
######################################################################################################## 在当前目录(arch/arm/mach-s3c64xx/)下打开 Makefile 添加我们的 bsp 文件
[cpp] view plaincopy
1. root@ubuntu:/forlinx/linux-3.3.5/arch/arm/mach-s3c64xx# gedit Kconfig
找到
[cpp] view plaincopy
1. config MACH_SMDK6410
2.
bool "SMDK6410"