嵌入式原理6410内核移植Word格式.docx
《嵌入式原理6410内核移植Word格式.docx》由会员分享,可在线阅读,更多相关《嵌入式原理6410内核移植Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
![嵌入式原理6410内核移植Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/e465c85a-7410-4c6a-8e48-66618046cf99/e465c85a-7410-4c6a-8e48-66618046cf991.gif)
(tarxvfjl{tap})
3.修改架构,编译器(需要在arm上运行,所以用交叉编译器)
解压完进入解压出来的linux-2.6.38目录
#cdlinux(tab)-2.6.38
#geditMakefile
191行改为
ARCH
?
=arm
CROSS_COMPILE?
=arm-linux-(找到其交叉编译环境)
按下save保存
点击x关闭
4.生成默认配置文件
#cparch/arm/configs/s3c6400_defconfig.config
如省略这个操作的话后面会找不到SystemType
Linux内核中已经自带了关于我们6410开发板的配置。
5.修改配置项
#makemenuconfig
SystemType->
[*]MINI6410
(按空格键)选上,
MakeImage
6.拷贝NANDFLASH驱动到根目录下的/home/poplar/expr4/kernel下的linux-2.6.38里相应的文件位置处(以下的文件在实验五文件夹里有)
drivers/mtd/nand/s3c_nand.c
arch/arm/plat-samsung/include/plat/regs-nand.h
drivers/mtd/nand/s3c_nand_mlc.fo
drivers/mtd/nand/nand_base.c
drivers/mtd/nand/Kconfig
7修改nand驱动makefile
输入指令#cddrivers/mtd/nand
#viMakefile
drivers/mtd/nand/Makefile中20行增加
obj-$(CONFIG_MTD_NAND_S3C)+=s3c_nand.o
末尾再增加
obj-$(CONFIG_MTD_NAND_S3C)+=s3c_nand_mlc.fo
8.增加相应选项
输入指令#cd/home/poplar/expr4/kernel/linux-2.6.38
DeviceDrivers--->
<
*>
MemoryTechnologyDevice(MTD)support
--->
[*]
MTDpartitioningsupport
[*]
Commandlinepartitiontableparsing
DirectchardeviceaccesstoMTDdevices
<
CachingblockdeviceaccesstoMTDdevices
NANDDeviceSupport
>
NANDFlashsupportforSamsungS3CSoCs
去掉不要选
NANDFlashsupportforS3CSoC
S3CNANDHardwareECC
三、添加yaffs2文件系统的支持
首先向内核源代码中加入支持yaffs2的源代码】
解压yaffs2.tar.bz2
#cd/home/poplar/expr4/kernel
#tarxvfj/home/poplar/expr4/kernel/yaffs2.tar.bz2
进入解压出的目录#cdyaffs2
执行如下命令
./patch-ker.shcm+内核源码路径(/home/poplar/expr4/kernel/linux-2.6.38)
然后进入内核源码目录
#cd/home/poplar/expr4/kernel/linux-2.6.38
执行makemenuconfig
选择Filesystems
选择[*]Miscellaneousfilesystems--->
选择上<
yaffs2filesystemsupport以及与yaffs2相关选项。
配置结果如下:
退出保存
四、添加对UBIFS文件系统的支持
1.配置内核支持UBIFS
DeviceDrivers--->
MemoryTechnologyDevice(MTD)support--->
EnableUBI-Unsortedblockimages--->
2.配置mtd支持UBI接口
Filesystems--->
Miscellaneousfilesystems--->
UBIFSfilesystemsupport
3.再次make
#makezImage
一、下载到开发板(见实验三操作说明)
先将zImage用DNW下载到开发板,然后将开关拨动到nand方式启动,观察超级终端
此时启动会出现如下问题
如果成功,如下图:
usbcore:
registerednewinterfacedriverusbhid
usbhid:
USBHIDcoredriver
VFPsupportv0.3:
implementor41architecture1part20variantbrev5
drivers/rtc/hctosys.c:
unabletoopenrtcdevice(rtc0)
mmc0:
mmc_rescan_try_freq:
tryingtoinitcardat300000Hz
tryingtoinitcardat200000Hz
UBIFS:
recoveryneeded
usb1-1:
newfullspeedUSBdeviceusings3c2410-ohciandaddress2
tryingtoinitcardat100000Hz
recoverycompleted
mountedUBIdevice0,volume0,name"
FriendlyARM-root"
filesystemsize:
2061287424bytes(2012976KiB,1965MiB,1997LEBs)
journalsize:
12517376bytes(12224KiB,11MiB,13LEBs)
mediaformat:
w4/r0(latestisw4/r0)
defaultcompressor:
lzo
reservedforroot:
0bytes(0KiB)
VFS:
Mountedroot(ubifsfilesystem)ondevice0:
10.
hwclock:
can'
topen'
/dev/misc/rtc'
:
Nosuchfileordirectory
[01/Jan/1970:
00:
18+0000]boa.c:
173-unabletocreatesocket:
Functionnotimplemented
opendeviceleds:
/usr/sbin/alsactl:
load_state:
1610:
Nosoundcardsfound...
ifconfig:
socket:
Trytobringeth0interfaceup......cat:
/sys/class/net/eth0/address'
route:
Done