天嵌 ARM开发社区

 找回密码
 注册
查看: 2767|回复: 6

用自己的内核镜像系统启动不起来

[复制链接]
esniaw 发表于 2011-12-27 10:48:14 | 显示全部楼层 |阅读模式
我的板子是tq2440,4.3寸屏,pc是win7 32系统。
我用的烧写文件是自己编译出来的内核镜像,其他文件(文件系统,uboot,logo镜像)都是光盘里的文件。
启动方式是从NAND启动。
我是按照“天嵌科技出品-Linux移植之Step By Step_V4.5_20100605.pdf”里面的步骤(step9以后没做)来做的,但是没有用教程提供的.config文件,而是按照教程里附录中的make menuconfig配置后保存后生成的.config文件,内核源代码是从官网上下载的,把编译出来的zImage.bin烧写到板子以后,出现kernel panic,具体信息如下:
#####    Boot for Nand Flash Main Menu  #####
#####     EmbedSky TFTP download mode     #####

[1] Download u-boot.bin to Nand Flash
[2] Download Eboot (eboot.nb0) to Nand Flash
[3] Download Linux Kernel (zImage.bin) to Nand Flash
[4] Download stepldr.nb1 to Nand Flash
[5] Set TFTP parameters(PC IP,TQ2440 IP,Mask IP...)
[6] Download YAFFS image (root.bin) to Nand Flash
[7] Download Program (uCOS-II or TQ2440_Test) to SDRAM and Run it
[8] Boot the system
[9] Format the Nand Flash
[0] Set the boot parameters
[a] Download User Program (eg: uCOS-II or TQ2440_Test)
[b] Download LOGO Picture (.bin) to Nand  Flash
[l] Set LCD Parameters
[p] Test network (TQ2440 Ping PC's IP)
[r] Reboot u-boot
[t] Test Linux Image (zImage)
[q] Return main Menu
Enter your selection: 8
Start Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00300000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
Uncompressing Linux...................................................................................................................... done, booting the kernel.
Linux version 2.6.30.4-lguo (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #1 Mon Dec 12 21:21:22 CST 2011
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 00000003
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: 60968KB available (3408K code, 359K data, 112K 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
cfg80211: Calling CRDA to update world regulatory domain
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
msgmni has been set to 119
alg: No test for stdrng (krng)
io scheduler noop registered (default)
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
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: s3c2410_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=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1234 at 0x000009a40000
Bad eraseblock 1344 at 0x00000a800000
Bad eraseblock 1345 at 0x00000a820000
Bad eraseblock 1405 at 0x00000afa0000
Bad eraseblock 1583 at 0x00000c5e0000
Creating 8 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000004000 : "Boot Agent"
mtd: partition "Boot Agent" doesn't end on an erase block -- force read-only
0x000000000000-0x000000200000 : "S3C2410 flash partition 1"
0x000000400000-0x000000800000 : "S3C2410 flash partition 2"
0x000000800000-0x000000a00000 : "S3C2410 flash partition 3"
0x000000a00000-0x000000e00000 : "S3C2410 flash partition 4"
0x000000e00000-0x000001800000 : "S3C2410 flash partition 5"
0x000001800000-0x000003000000 : "S3C2410 flash partition 6"
0x000003000000-0x000004000000 : "S3C2410 flash partition 7"
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
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
Advanced Linux Sound Architecture Driver Version 1.0.20.
ALSA device list:
  No soundcards found.
TCP cubic registered
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
lib80211: common routines for IEEE802.11 drivers
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
List of all partitions:
1f00              16 mtdblock0 (driver?)
1f01            2048 mtdblock1 (driver?)
1f02            4096 mtdblock2 (driver?)
1f03            2048 mtdblock3 (driver?)
1f04            4096 mtdblock4 (driver?)
1f05           10240 mtdblock5 (driver?)
1f06           24576 mtdblock6 (driver?)
1f07           16384 mtdblock7 (driver?)
No filesystem could mount root, tried:  vfat iso9660
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
Backtrace:
[<c0028fd4>] (dump_backtrace+0x0/0x10c) from [<c0299f08>] (dump_stack+0x18/0x1c)
r7:c380a0c5 r6:c039fb80 r5:c380a000 r4:c381df40
[<c0299ef0>] (dump_stack+0x0/0x1c) from [<c0299f58>] (panic+0x4c/0x124)
[<c0299f0c>] (panic+0x0/0x124) from [<c0008f94>] (mount_block_root+0x1d8/0x234)
r3:00000029 r2:c381df53 r1:c381df40 r0:c0325d78
[<c0008dbc>] (mount_block_root+0x0/0x234) from [<c00090a0>] (mount_root+0xb0/0xf4)
[<c0008ff0>] (mount_root+0x0/0xf4) from [<c00091ec>] (prepare_namespace+0x108/0x1c4)
r7:c002083c r6:c039f564 r5:c002083c r4:c002084c
[<c00090e4>] (prepare_namespace+0x0/0x1c4) from [<c0008478>] (kernel_init+0xc8/0xf4)
r7:00000000 r6:c001f8b0 r5:c001f574 r4:c001f8b0
[<c00083b0>] (kernel_init+0x0/0xf4) from [<c0039ee0>] (do_exit+0x0/0x620)
r7:00000000 r6:00000000 r5:00000000 r4:00000000
我想问一下,只移植内核,其他的烧写文件都用光盘里的文件,这样有问题吗?
TQ-lkp 发表于 2011-12-27 11:19:57 | 显示全部楼层
本帖最后由 TQ-lkp 于 2011-12-27 11:20 编辑

制作 yaffs  的工具不对,要匹配自己nand的大小,这个问题论坛中已经有很多相应的帖子了,搜索下吧
不言DXH 发表于 2011-12-27 12:01:30 | 显示全部楼层
附录中的配置单有很多选项是官方源码中没有的,你要比对一下了,比如LCD屏的...当然我同意楼上的说法,你的yaffs文件系统可能没有用对
raominping 发表于 2011-12-27 23:36:46 | 显示全部楼层
我觉得是内核配置为题。和驱动移植的问题。。。要匹配天堑的文件系统。。。要自己看一下他的文件系统的某些脚本哦。。。比如串口的名称等等
 楼主| esniaw 发表于 2011-12-30 11:20:02 | 显示全部楼层
谢谢了,我按照手册上写的用busybox-1.13.0构建了文件系统,最后报错:
/dev/tq2440_serial0: No such file or directory
我看了论坛里的这方面的帖子,有人说busybox版本低,我用了最高版本busybox-1.19.3,还是同样的问题。:dizzy:
 楼主| esniaw 发表于 2011-12-30 19:55:33 | 显示全部楼层
esniaw 发表于 2011-12-30 11:20
谢谢了,我按照手册上写的用busybox-1.13.0构建了文件系统,最后报错:
/dev/tq2440_serial0: No such fil ...

不好意思,我搞错了,修改了drivers/serial/samsung.c之后没有make,问题解决了。
亚瑟王 发表于 2012-1-10 18:19:44 | 显示全部楼层
亲,这样的问题很难解决的,特别是你改改动的都改动了的情况下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-10-5 08:27 , Processed in 1.024453 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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