各位高手!我刚接触嵌入式不久,遇到了很多问题,现在正在做S3C2410的根文件系统,可是怎么试都不能顺利启动挂载。我的内核是2.6.14,基本步骤如下(参考《Linux系统移植》):<br /><br />1.创建根文件系统的基本目录结构。(包含bin dev etc lib proc sbin sys usr 等目录)<br />2.配置、编译和安装Busybox-1.1.3<br />3.修改和创建必要的文件。(增加为SHELL导入全局变量的文件/etc/profile、增加初始化文件、增加初始化脚本、创建inetd.conf配置文件等)<br />4.建立根文件系统包(利用cramfs-1.1制作cramfs包)<br />5.将制作好的my_rootfs.cramfs烧写到flash中。<br /><br />结果启动时总是显示:<br />VIVI version 0.1.4 (root@localhost.localdomain) (gcc version 2.95.3 20010315 (re<br />lease)) #0.1.4 二 5月 26 18:41:14 CST 2009<br />MMU table base address = 0x33DFC000<br />Succeed memory mapping.<br />NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)<br />Could not found 'param' partition<br />invalid (saved) parameter block<br />Could not found stored vivi parameters. Use default vivi parameters.<br />Press Return to start the LINUX now, any other key for vivi<br />type "help" for help.<br />vivi> boot<br />Copy linux kernel from 0x00100000 to 0x30008000, size = 0x00300000 ... done<br />zImage magic = 0x016f2818<br />Setup linux parameters at 0x30000100<br />linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttyS<br />AC0,115200"<br />MACH_TYPE = 193<br />NOW, Booting Linux......<br />Uncompressing Linux.............................................................<br />..... done, booting the kernel.<br />Linux version 2.6.14 (root@localhost.localdomain) (gcc version 3.4.4) #1 Tue May<br /> 26 17:33:05 CST 2009<br />CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)<br />Machine: SMDK2410<br />ATAG_INITRD is deprecated; please update your bootloader.<br />Memory policy: ECC disabled, Data cache writeback<br />CPU S3C2410A (id 0x32410002)<br />S3C2410: core 200.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz<br />S3C2410 Clocks, (c) 2004 Simtec Electronics<br />CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on<br />CPU0: D VIVT write-back cache<br />CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets<br />CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets<br />Built 1 zonelists<br />Kernel command line: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0<br />,115200<br />irq: clearing subpending status 00000003<br />irq: clearing subpending status 00000002<br />PID hash table entries: 512 (order: 9, 8192 bytes)<br />timer tcon=00000000, tcnt a2c1, tcfg 00000200,00000000, usec 00001eb8<br />Console: colour dummy device 80x30<br />Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)<br />Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)<br />Memory: 64MB = 64MB total<br />Memory: 62720KB available (1639K code, 372K data, 92K init)<br />Mount-cache hash table entries: 512<br />CPU: Testing write buffer coherency: ok<br />softlockup thread 0 started up.<br />NET: Registered protocol family 16<br />S3C2410: Initialising architecture<br />S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics<br />DMA channel 0 at c4800000, irq 33<br />DMA channel 1 at c4800040, irq 34<br />DMA channel 2 at c4800080, irq 35<br />DMA channel 3 at c48000c0, irq 36<br />NetWinder Floating Point Emulator V0.97 (double precision)<br />devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)<br />devfs: boot_options: 0x1<br />Console: switching to colour frame buffer device 80x25<br />fb0: Virtual frame buffer device, using 1024K of video memory<br />S3C2410 RTC, (c) 2004 Simtec Electronics<br />s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410<br />s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410<br />s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410<br />io scheduler noop registered<br />io scheduler anticipatory registered<br />io scheduler deadline registered<br />io scheduler cfq registered<br />RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize<br />S3C24XX NAND Driver, (c) 2004 Simtec Electronics<br />s3c2410-nand: mapped registers at c4980000<br />s3c2410-nand: timing: Tacls 40ns, Twrph0 80ns, Twrph1 80ns<br />NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit<br />)<br />Scanning device for bad blocks<br />mice: PS/2 mouse device common for all mice<br />NET: Registered protocol family 2<br />IP route cache hash table entries: 1024 (order: 0, 4096 bytes)<br />TCP established hash table entries: 4096 (order: 2, 16384 bytes)<br />TCP bind hash table entries: 4096 (order: 2, 16384 bytes)<br />TCP: Hash tables configured (established 4096 bind 4096)<br />TCP reno registered<br />TCP bic registered<br />NET: Registered protocol family 1<br />Root-NFS: No NFS server available, giving up.<br />VFS: Unable to mount root fs via NFS, trying floppy.<br />VFS: Cannot open root device "mtdblock2" or unknown-block(2,0)<br />Please append a correct "root=" boot option<br />Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)<br /><br />请各位高手们抽时间看看吧,指点指点,有好的资料分享一下吧!你们的帮助将成为我们初学者前进的动力和增加信心的砝码!我的邮箱是wlm0813@163.com<br />非常感谢!期待中...... |
|