LINUX21632内核移植学习笔记文档格式.docx
- 文档编号:18891021
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:11
- 大小:309.22KB
LINUX21632内核移植学习笔记文档格式.docx
《LINUX21632内核移植学习笔记文档格式.docx》由会员分享,可在线阅读,更多相关《LINUX21632内核移植学习笔记文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
所以要先安装个patch命令包,在ZD:
sudoapt-getinstallpatch
安装好了就不会报错了)
step3:
内核配置;
(1)修改makefile文件
将linux-2.6.32文件夹下的makefile修改如下:
183:
ARCH
?
=$(SUBARCH)
184:
CROSS_COMPILE?
=
修改为
=arm
=/usr/local/arm/gcc-3.4.5/bin/arm-linux-
因为我采用的编译器为gcc-3.4.5,并且放在了文件系统/usr/local/arm/gcc-3.4.5/bin
(2)在ZD(以下都是在linux-2.6.32路径):
makeclean
(3)然后:
makeat91rm9200dk_defconfig进行默认配置
若出现一些报错(这里错误就不列举出来了),可能是有些命令包有没有预先装好:
在ZD中(主文件夹路径)sudoapt-getinstalllibncurse5
-dev
及sudoapt-getinstallncurses-devel)
问题1:
(本人)
xyz@ubuntu:
~/Desktop/linux-2.6.32$makemenuconfig
***Unabletofindthencurseslibrariesorthe
***requiredheaderfiles.
***'
makemenuconfig'
requiresthencurseslibraries.
***
***Installncurses(ncurses-devel)andtryagain.
make[1]:
***[scripts/kconfig/dochecklxdialog]Error1
make:
***[menuconfig]Error2
解决方法如下:
sudoapt-getinstalllibncurses5-dev
如何解决Installncurses(ncurses-devel)andtryagain
2010年11月20日星期六17:
32
因为工作需要,打算着手编译嵌入式Linux内核。
刚刚着手就遇到一个问题:
Installncurses(ncurses-devel)andtryagain。
做一个简单的铺垫,ncurses是字符终端下屏幕控制的基本库。
可能很多新开发的程序已经不再使用。
假如要编译一些老的程序,还是会经常碰到。
解决这个问题可以通过下面的解决方法来搞定。
打开一个终端输入下面这条语句按回车进行安装即可。
apt-getinstalllibncurses5-dev
若出现以下错误:
由于该版本内核不支持dataflash,所以要干掉此项,如(4)所示:
(4)makemenuconfig进行更进一步的列表配置,主要是修改dataflash
步骤如下(图):
首先进入的界面如下:
下面主要就是将dataflash前面的那个*去掉——当光标移到*处时,按下空格就可以了,然后保存推出!
下面的图描述的很清晰了.
(4)接下来,makeuImage这里可能要耐心的等上几分钟。
要是这里报错的话,可能又是些命令包没有装好,像“mkimage”命令包,在(主文件夹路径)ZD中:
sudoapt-getinstalluboot-mkimage)
若出现如下信息,说明uImage已经成功的生成,并且位于linux-2.6.32/arch/arm/boot下
【内核调试运行】
Step1:
烧到板子
将上次修改好的u-boot.bin文件和这次成功生成的uImage文件一起烧到板子;
u-boot.bin地址:
0x10000000
uImage地址:
0x10100000
调试运行
(1)打开超级终端,重启板子,会出现如下界面:
提示的badCRC没有关系,是因为没有保存好环境变量。
只要在该界面如下操作即可:
U-Boot>
saveenv
若出现如下提示信息,说明此时的u-boot没有问题了:
重启板子,会将不会再出现badCRC的警告了,而是:
(2)将内核复制到SDRAM中
在界面中输入:
cp.b1010000020080000200000回车
(按位复制待复制数据的起始地址搬移到SDRAM中的内核地址空间大小)
然后输入:
bootm20080000回车
(运行内核起动地址)
若会出现一下信息,则说明内核移植成功了:
##Bootingimageat20080000...
ImageName:
Linux-2.6.32
ImageType:
ARMLinuxKernelImage(uncompressed)
DataSize:
1256944Bytes=1.2MB
LoadAddress:
20008000
EntryPoint:
VerifyingChecksum...OK
OK
Startingkernel...
UncompressingLinux.............................................................
....................done,bootin
Linuxversion2.6.32(flymz@flymz-desktop)(gccversion3.4.5)#1SunJan910:
4
7:
09CST2011
CPU:
ARM920T[41129200]revision0(ARMv4T),cr=c0007177
VIVTdatacache,VIVTinstructioncache
Machine:
AtmelAT91RM9200-DK
Memorypolicy:
ECCdisabled,Datacachewriteback
Clocks:
CPU179MHz,master59MHz,main18.432MHz
Built1zonelistsinZoneorder,mobilitygroupingon.Totalpages:
8128
Kernelcommandline:
mem=32Mconsole=ttyS0,115200initrd=0x20410000,3145728root
=/dev/ram0rw
PIDhashtableentries:
128(order:
-3,512bytes)instruction
pc:
[<
20008010>
Dentrycachehashtableentries:
4096(order:
2,16384bytes)p:
20eddb04ip:
00000001fp:
00000002
Inode-cachehashtableentries:
2048(order:
1,8192bytes)20eddfdc
r7:
00
Memory:
32MB=32MBtotal:
00000000r4:
00000000
26800KBavailable(2272Kcode,190Kdata,108Kinit,0Khighmem)r2:
20000100r1:
000000fbr0:
20eddce8
SLUB:
Genslabs=11,HWalign=32,Order=0-3,MinObjects=0,CPUs=1,Nodes=1
ResettingCPU...
U-Boot1.1.6(Jan
HierarchicalRCUimplementation.
DRAM:
1
NR_IRQS:
192
SST:
S
AT91:
128gpioirqsin4banks
Flash:
8MB
Console:
colourdummydevice80x30
Out:
serial
Err:
console[ttyS0]enabledcp.b1010000020080000
Calibratingdelayloop...89.53BogoMIP
bootm200
16MB
SST3
TCPrenoregistered
NET:
Registeredprotocolfamily1Warning-badCRC,usingdefault
Tryingtounpackrootfsimageasinitramfs...
In:
Out
rootfsimageisnotinitramfs(junkincompressedarchive);
lookslikeaninitrd
SavingEnvironmenttoFlash...
Un-Protected2sec
Freeinginitrdmemory:
3072KsingFlash...Erasing
NetWinderFloatingPointEmulatorV0.97(doubleprecision)
Erased2sectors
WritingtoFlash.
msgmnihasbeensetto58
Protected2sectors
BlocklayerSCSIgeneric(bsg)driverversion0.4loaded(major252):
33)
ioschedulernoopregistered
Flas
ioscheduleranticipatoryregistered(default)
at91_spi:
Baudrate
at91_ohciat91_ohci:
irq23,iomem0x00300000
CP
usbusb1:
NewUSBdevicefound,idVendor=1d6b,idProduct=0001
Built1zonelistsinZoneorder,mobilit
NewUSBdevicestrings:
Mfr=3,Product=2,SerialNumber=1console=ttyS0,115200initrd=0x20410000,3145728root
Product:
AT91OHCI
Manufacturer:
Linux2.6.32ohci_hcd92
SerialNumber:
at91
64
configuration#1chosenfrom1choice
colourdummydev
hub1-0:
1.0:
USBhubfound
console[
Registeredprotocolfamily17
at91_rtcat91_rtc:
settingsystemclockto1998-01-0100:
12:
45UTC(883613565)
RAMDISK:
Couldn'
tfindvalidRAMdiskimagestartingat0.
Listofallpartitions:
Nofilesystemcouldmountroot,tried:
ext2cramfs
Kernelpanic-notsyncing:
VFS:
Unabletomountrootfsonunknown-block(1,0)
Backtrace:
[<
c0027830>
](dump_backtrace+0x0/0x104)from[<
c002794c>
](dump_stack+0x18/0x1c)
r7:
c1c12000r6:
c02748acr5:
ffffffear4:
c1c23f60
c0027934>
](dump_stack+0x0/0x1c)from[<
c003a7b8>
](panic+0x40/0x11c)
c003a778>
](panic+0x0/0x11c)from[<
c0009004>
](mount_block_root+0x260/0x2b4)
r3:
00000000r2:
80000000r1:
c1c23f60r0:
c022a410
c0008da4>
](mount_block_root+0x0/0x2b4)from[<
c00091a8>
](mount_root+0x54/0x6
c)
c0009154>
](mount_root+0x0/0x6c)from[<
c0009330>
](prepare_namespace+0x170/0x
1d0)
r5:
c002180cr4:
c02745f4
c00091c0>
](prepare_namespace+0x0/0x1d0)from[<
c0008c14>
](kernel_init+0xd8/0
x10c)
c0020b0cr4:
c02743d8
c0008b3c>
](kernel_init+0x0/0x10c)from[<
c003cdb4>
](do_exit+0x0/0x59c)
00000000r4:
00000000
接下来将进行文件系统的学习了,加油!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINUX21632 内核 移植 学习 笔记