sssaaa900 发表于 2010-5-22 18:37:25

亚瑟王,求助呀,yaffs移植失败,都搞了好几天了

我根据天嵌手册一步一步移植的内核和文件系统,自己移植的内核可以与天嵌提供的root_qtopia_2.2.0_2.6.30.4_256MB_20091216.bin文件系统可以正常运行,但移植的文件系统不能运行,移植过程中用的资源都是天嵌光盘中提供的,编译器:4.33,内核:2.6.30,nandflash:256M,busybox:1.13.0,
启动后出错信息如下
##### 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-EmbedSky (root@EmbedSky) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #6 Fri May 21 22:30:21 EDT 2010
CPU: ARM920T revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: TQ2440
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 00000200
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console 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: 60628KB available (3380K code, 372K data, 480K 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: 296 bytes
NET: Registered protocol family 16
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
yaffs May 21 2010 21:50:48 Installing.
msgmni has been set to 118
alg: No test for stdrng (krng)
io scheduler noop registered (default)
Console: switching to colour frame buffer device 100x30
fb0: s3c2410fb frame buffer device
backlight initialized
GPIO-Control initialized
PWM-Test initialized
adc initialized
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
loop: module loaded
Driver 'sd' needs updating - please use bus_type methods
dm9000 Ethernet Driver, V1.31
Now use the default MAC address: 10:23:45:67:89:ab
eth0 (dm9000): not using net_device_ops yet
eth0: dm9000e at c4814000,c4818004 IRQ 51 MAC: 10:23:45:67:89:ab (EmbedSky)
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 1895 at 0x00000ece0000
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"
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: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 2.6.30.4-EmbedSky ohci_hcd
usb usb1: SerialNumber: s3c24xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
s3c2410_udc: debugfs dir creation failed -19
s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes
mice: PS/2 mouse device common for all mice
TQ2440 TouchScreen successfully loaded
input: TQ2440 TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
zc0301: V4L2 driver for ZC0301 Image Processor and Control Chip v1:1.10
usbcore: registered new interface driver zc0301
gspca: main v2.5.0 registered
usbcore: registered new interface driver zc3xx
zc3xx: registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: starting watchdog timer
s3c2410-wdt s3c2410-wdt: watchdog active, reset abled, irq enabled
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
s3c2440-sdi s3c2440-sdi: powered down.
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18a.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
#0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: auto selecting yaffs2
block 1864 is bad
usb 1-1: new low speed USB device using s3c2410-ohci and address 2
usb 1-1: New USB device found, idVendor=15ca, idProduct=00c3
usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 1-1: Product: USB Optical Mouse
usb 1-1: configuration #1 chosen from 1 choice
input: USB Optical Mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/input/input1
generic-usb 0003:15CA:00C3.0001: input: USB HID v1.10 Mouse on usb-s3c24xx-1/input0
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 480K
mount: mounting proc on /proc failed: No such file or directory
mount: mounting sysfs on /sys failed: No such file or directory
/etc/init.d/rcS: line 16: can't create /proc/sys/kernel/hotplug: nonexistent directory
mdev: /sys/block: No such file or directory
mdev: /sys/class: No such file or directory

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director

can't open /dev/tp2440_serial0: No such file or director
在此不断重复

亚瑟王 发表于 2010-5-22 20:18:07

把你的文件系统的制作步骤贴出来吧。

sssaaa900 发表于 2010-5-23 19:12:11

基本上是按"Linux移植之Step By Step_V4.2"教材中的步骤进行。
首先PC工作环境为VMware+Fedora-10-i386-DVD.iso,编译环境为EABI-4.3.3(光盘中的),编译的linux内核版本为2.6.30.4(光盘中的),nandflash为256MB,按手册和视频教材一步步安装系统并编译内核OK,将编译的内核能和光盘提供的zImage_2.6.30.4_A70_256MB_20091030.bin下如开发板后可正常工作。下面我说一下移植yaffs2的过程,另外声明一下,所有的解压过程都是在linux工作环境中进行的。


1)下载yaffs程序包cvs-root.tar.gz,解压并安装yaffs2 OK.

2) 在menuconfig和内核原码中检查与nandflash有关的选项,因为是使用光盘中提供的linux-2.6.30.4_20091030.tar.bz2和config_EmbedSky_A70_256MB,经认真检查,确认在教材中所涉及的内容与原码和配置菜单中与不存在差异。

3)编译和安装光盘中提供的busybox-1.13.0.tar.bz2工具,检查busybox配置菜单与教材中无误,然后make;make install 编译busybox-1.13.0,在这过程中略有点错误问题,就是networking/libiproute/iptunnel.o错误,返回busybox配置菜单取消networking中iptunnel选项,保存后重新编译安装busybox OK,并在busybox1.13.0下面生成“_install”目录.

4)在/opt/EmbedSky/目录下建立一个“root_2.6.30.4”的目录,
        mkdir -p /opt/EmbedSky/root_2.6.30.4
并使用下面命令建立一些目录
        cd /opt/EmbedSky/root_2.6.30.4
        cp -rf /opt/EmbedSky/busybox1.13.0/_install/* .
        mkdir -p dev etc home/sky lib mnt/udis mnt/sd opt proc root sys tmp usr/lib usr/share var


5) 在这些目录中按教程内容建立一些文件并写入相关内容...(这里的内容反复检查过,确认无误)
        包括dev目录中 建立console null
        在etc目录中 建立 fstab,group,inittab,shadow,passwd,profile,mdev.conf,resolv.conf,init.d/rcS
                sysconfig,rc.d,boa文件/目录,设置inittab,init.d/rcS权限
        在home目录中 建立sky目录,并设置权限
        在lib目录中 提取EABI-4.3.3的库文件
        在mnt目录中 建立udisk和sd目录

6) 将从root_qtopia_2.2.0_2.6.30.4_20091216.tar.bz2中解压出来的root_qtopia_2.2.0_2.6.30.4\usr\bin文件中的rb rx rz sb sx sz命令文件复制到/opt/EmbedSky/root_2.6.30.4/usr/bin中

7) 使用mkyaffs2image root_2.6.30.4 root_2.6.30.4.bin命令编译文件系统

8) 检查串口驱动程序是否与教材中一致

9) 烧入内核,文件系统

总体过程大概就是这样,启动后就出现上面的错误

恳请亚瑟王指点

亚瑟王 发表于 2010-5-25 17:23:03

问题应该处在第六步,复制rx命令时出错了,busybox编译出来后自带了一个rx命令,直接复制rx命令过去是会导致busybox出错。

aohaisoft 发表于 2010-7-1 10:49:59

呵呵,和我错误一样,你把tq2440_serial0写成了tp2440_serial0。q和p写反了。

亚瑟王 发表于 2010-7-2 10:09:35

把tq写成了tp这点我还真没有注意到。呵呵。

liueg 发表于 2010-9-11 09:50:17

路过做个标记学习

dyd913 发表于 2012-6-13 16:48:45

亚瑟王,我和楼主的操作步骤差不多,就差第六步 不过内核版本是2.6.32.2的 busybox是1.16.0的,用mkyaffs2image 制作文件后出现


这个内核我只修改加载了nandflash 网卡和串口的驱动 这个内核如果配合光盘自带的256M的文件系统能正常启动网卡 串口 nandflash 驱动
但是我按照天嵌科技出品-Linux移植之Step By Step_V4.5_20100605.pdf 制作文件系统 却出现上面问题。怎么办啊?还有一点是 那个光盘里面的
文件系统如root_qt_4.5_2.6.30.4_20100601 里面的etc/inittab文件里是 console   而手册里头确是tq2440_serial0 ,到底是哪个呢?

页: [1]
查看完整版本: 亚瑟王,求助呀,yaffs移植失败,都搞了好几天了