天嵌 ARM开发社区

 找回密码
 注册
查看: 3177|回复: 4

TQ2440开发板移植linux-2.6.30.4内核及根文件系统(yafss)过程遇到的问题及解决过程:

[复制链接]
teralink 发表于 2010-5-2 16:50:07 | 显示全部楼层 |阅读模式
本帖最后由 teralink 于 2010-5-2 16:51 编辑

TQ2440开发板移植linux-2.6.30.4内核及根文件系统(yafss)过程遇到的问题及解决过程:
1 内核启动提示分区存在错误,该问题可能是因为我我买的板子的Nand 容量是256M,但内核配置时却设置为了64M。纠正后该症状解决。
2 移植文件系统时,启动过程失败:can't open /dev/ tq2440_serial0: No such file or director 一开始一直在检查是不是串口命名没有统一为tq2440, 折腾了很久都未能解决该问题。
  后来,我用官方提供的根文件源码root_qtopia_2.2.0_2.6.30.4_20091216.tar.bz2制作编译mkyaffs2image, 结果板子正常启动进入指令输入状态。这说明内核移植是没有问题的;剩下出现问题的可能只能是自己建的根文件系统存在问题了。为了解决该问题,我的折腾过程如下:
    (1)busybox的配置用官方配置config_EmbedSky (2) 用官方根文件源码 root_qtopia_2.2.0_2.6.30.4_20091216.tar.bz2中的
etc/inittab,  init.d 替换到自己创建的根文件目录中, 重新编译制作文件镜像文件,结果启动成功!但启动过程中提示init.d/rcS一些指令不存在。这是因为我制作busybox时没有配置相应的项而已,删除这列指令,重启再次成功,并且中间的错误提示没有啦!

激动,早上九点折腾到晚上六点,早饭午饭都没有吃,只啃个半个面包,终于把linux-2.6.30.4内核和yafss文件系统移植成功!

============================================================


##### EmbedSky BIOS for SKY2440/TQ2440 #####
Press Space key to Download Mode !
Booting Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
Uncompressing Linux........................................................................................................................... done, booting the kernel.
Linux version 2.6.30.4-TeraLink (root@EmbedSky) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #1 Sat May 1 16:38:14 HKT 2010
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0
NR_IRQS:85
irq: clearing pending ext status 00080000
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttySAC0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 60780KB available (3508K code, 368K data, 108K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 936 bytes
NET: Registered protocol family 16
S3C Power Management, Copyright 2004 Simtec Electronics
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
S3C244X: Clock Support, DVS off
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 97 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (extended precision)
yaffs May  1 2010 16:33:49 Installing.
msgmni has been set to 118
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Console: switching to colour frame buffer device 30x40
fb0: s3c2410fb frame buffer device
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
s3c2440-uart.0: tq2440_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: tq2440_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: tq2440_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
loop: module loaded
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide-cd driver 5.00
Driver 'sd' needs updating - please use bus_type methods
dm9000 Ethernet Driver, V1.31
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=2, 20ns Twrph0=3 30ns, Twrph1=2 20ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 307 at 0x000002660000
Bad eraseblock 556 at 0x000004580000
Bad eraseblock 648 at 0x000005100000
Bad eraseblock 658 at 0x000005240000
Bad eraseblock 2032 at 0x00000fe00000
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "EmbedSky_Board_uboot"
0x000000200000-0x000000400000 : "EmbedSky_Board_kernel"
0x000000400000-0x00000ff80000 : "EmbedSky_Board_yaffs2"
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
Advanced Linux Sound Architecture Driver Version 1.0.20.
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
end_request: I/O error, dev mtdblock2, sector 256
isofs_fill_super: bread failed, dev=mtdblock2, iso_blknum=64, block=128
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: auto selecting yaffs2
block 276 is bad
block 525 is bad
block 617 is bad
block 627 is bad
block 2001 is bad
Partially written block 71 detected
Partially written block 71 detected
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 108K

Please press Enter to activate this console.
[root@TeraLink /]#
==========================================================================
以上时启动过程串口输出代码。
但这里依然存在一个小BUG:我输入指令的时候,字符不是在#后面出现,而是覆盖了[root@...字符:
看:

lsoot@TeraLink /]#
bin         home        lost+found  proc        sys         var
dev         lib         mnt         root        tmp         web
etc         linuxrc     opt         sbin        usr
[root@TeraLink /]# &#1533;
亚瑟王 发表于 2010-5-10 19:46:49 | 显示全部楼层
恭喜恭喜。
 楼主| teralink 发表于 2010-5-13 21:23:35 | 显示全部楼层
2# 亚瑟王
请问这个问题怎么是怎么回事?
以上时启动过程串口输出代码。
但这里依然存在一个小BUG:我输入指令的时候,字符不是在#后面出现,而是覆盖了 [root@...字符:
看:
lsoot@TeraLink /]#
亚瑟王 发表于 2010-5-14 17:08:36 | 显示全部楼层
第一次遇到这样的问题,有点想不明白。
dongxing90 发表于 2015-8-8 12:02:52 | 显示全部楼层
can't open /dev/ tq2440_serial0: No such file or director 原来是这个问题我差点放弃了,谢谢楼主,试试先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 12:30 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表