| Linux version 2.4.20-uc0 (root@Local) (gcc version 2.95.3 |
| Boot loader v0.12
NOTE: this boot loader is designed to boot kernels made with the
2.4.xx releases
bootloader for XV
Built at Nov 20 2005 10:12:35
|
| Loaded to 0x90060000 |
| Found boot configuration |
| Booted from parallel flash |
| CPU clock rate: 200 MHz |
| DRAM size is 128MB (128MB/0MB) |
| 先说明一下内存地址数字情况,主要是为了方便记忆。
可以访问的内存为4G。
0x40000000是1GB处;0x00040000是256K处,0x00020000是128K处,0x90000000是2GB多的地方。
1M->0x00100000,
2M->0x00200000,
8M->0x00800000
16M->0x01000000,
32M->0x02000000
256M->0x10000000
64K->0x00010000
4K->0x00001000
这个是个快速记忆的方法,你可以根据地址中1的位置和其后0的个数来快速知道换算后的地址是在多少兆的地方。比如,1的后面5个0,代表1M的大小,6个0,代表16M,以此类推。
|
| ROMFS found at 0x46040000, Volume name = rom 43f291aa |
| File linux.bin.gz found |
| Unzipping image from 0x4639DE60 to 0x90090000, size = 1316021 |
| Inptr = 0x00000014(20)
Inflating....
|
| Outcnt = 0x0030e7c8(3205064)
Final Inptr = 0x001414ad(1316013)
Original CRC = 0xcbd73adb
Computed CRC = 0xcbd73adb
|
| Boot kernel at 0x90090000 with ROMFS at 0x46040000 |
| Press 'enter' to boot |
| Linux version 2.4.22-uc0 (root@local) (gcc version 2.95.3 20010315 (release)) #33 .?1.. 20 12:09:106 |
| Found bootloader memory map at 0x10000fc0. |
| Processor: ARM pt110 revision 0 |
| On node 0 totalpages: 20480
zone(0): 20480 pages.
zone(0): Set minimum memory threshold to 12288KB
Warning: wrong zone alignment (0x90080000, 0x0000000c, 0x00001000)
zone(1): 0 pages.
zone(2): 0 pages.
|
| Kernel command line: root=/dev/mtdblock3 |
| Console: colour dummy device 80x30 |
| serial_xx: setup_console @ 115 |
| Calibrating delay loop... 82.94 BogoMIPS |
| Memory: 80MB = 80MB total
Memory: 76592KB available (1724K code, 2565K data, 72K init)
|
| Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
|
| POSIX conformance testing by UNIFIX |
| PCI: bus0: Fast back to back transfers disabled
PCI: Configured XX as a PCI slave with 128MB PCI memory
PCI: Each Region size is 16384KB
PCI: Reserved memory from 0x10080000 to 0x15080000 for DMA and mapped to 0x12000000
|
| Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
|
| Initializing RT netlink socket |
| Starting kswapd |
| Journalled Block Device driver loaded |
| devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
|
| pty: 256 Unix98 ptys configured |
| loop: loaded (max 8 devices) |
| 8139too Fast Ethernet driver 0.9.27
eth0: RealTek RTL8139 at 0x60112000, 00:10:0d:42:a0:03, IRQ 14
eth0: Identified 8139 chip type 'RTL-8100B/8139D'
|
| SCSI subsystem driver Revision: 1.00 |
| mumk_register_tasklet: (1) tasklet 0x905bf9c0 status @0x9025e974 |
| Probing XX Flash Memory |
| Amd/Fujitsu Extended Query Table v1.3 at 0x0040
number of CFI chips: 1
|
| Using buffer write method |
| Creating 3 MTD partitions on "XX mapped flash":
0x00000000-0x00020000 : "BootLoader"
0x00020000-0x00040000 : "Config"
0x00040000-0x01000000 : "Romfs"
|
| NET4: Linux TCP/IP 1.0 for NET4.0 |
| IP Protocols: ICMP, UDP, TCP, IGMP |
| IP: routing cache hash table of 512 buckets, 4Kbytes |
| TCP: Hash tables configured (established 8192 bind 8192) |
| NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
| cramfs: wrong magic |
| 2.4
cramfs_read_super(。。。)
/* Do sanity checks on the superblock */
if (super.magic != CRAMFS_MAGIC) {
/* check at 512 byte offset */
memcpy(&super, cramfs_read(sb, 512, sizeof(super)), sizeof(super));
if (super.magic != CRAMFS_MAGIC) {
printk(KERN_ERR "cramfs: wrong magic/n");
goto out;
}
}
|
| 2.6
if (super.magic != CRAMFS_MAGIC) {
if (!silent)
printk(KERN_ERR "cramfs: wrong magic/n");
goto out;
}
|
| FAT: bogus logical sector size 21072 |
| UMSDOS: msdos_read_super failed, mount aborted. |
| VFS: Mounted root (romfs filesystem) readonly |
| Mounted devfs on /dev |
| Freeing init memory: 72K |
| 你可以用进程查看命令来验证
# ps aux
PID Uid VmSize Stat Command
1 0 SW init
2 0 SW [keventd]
3 0 SWN [ksoftirqd_CPU0]
4 0 SW [kswapd]
5 0 SW [bdflush]
6 0 SW [kupdated]
7 0 SW [rbwdg]
9 0 SW [mtdblockd]
10 0 SW [khubd]
80 0 SW [loop0]
|
本文详细解析了嵌入式Linux系统的启动流程,包括bootloader启动阶段和Linux内核初始化阶段,介绍了启动过程中的关键信息及其意义。
1224

被折叠的 条评论
为什么被折叠?



