另外一种选择就是RAM disk 驱动。在PC上它经常用于没有硬盘的Linux的启动过程。它和
Flash没有直接的关系。不过当Flash上启动的是经过压缩的内核时。RAM disk 可以作为根文件
系统。
MTD 驱动提供了对Flash强大的支持,你通过它甚至可以在Flash上运行一个可以读写的真正的文件系统,比如JFFS2。而Blkmem驱动则望尘莫及。
NET4: Linux TCP/IP 1.0 for NET4.0 |
调用inet_init [ linux-2.4.22\net\ipv4\Af_inet.c ]时的输出
信息, 在启动过程中被socket.c调用到。
IP Protocols: ICMP, UDP, TCP, IGMP |
列出可以支持的IP协议,此处为kernel源代码inet_add_protocol(p);的输出。
在linux启动过程中,都会看到这句的输出。
IP: routing cache hash table of 512 buckets, 4Kbytes |
IP路由代码的输出信息。
ip_rt_init [ linux-2.4.22\net\ipv4\Route.c ],Set the IP module up,路由缓冲hash表 TCP: Hash tables configured (established 8192 bind 8192) TCP协议初始化输出信息。tcp_init [ linux-2.4.22\net\ipv4\Tcp.c ], NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
UNIX
网络协议信息。
af_unix_init[ linux-2.4.22\net\unix\Af_unix.c ], 多种连接的一种(IPv4, UNIX domain sockets, IPv6和IrDA). SMP 对称多处理器-Symmetrical Multi Processing,这里主要是指UNIX的一些网络协议.
上面的关于网络的输出信息是在linux启动信息中都会出现的。
加载各种文件系统
会出现"cramfs: wrong magic",别担心这没有什么害处,这个是kernel的书写bug,在2.6中有修改之,它是一个警告信息,用来
检查cramfs的superblock超级块的。superblock也是VFS要用到的数据结构。
代码linux-2.4.22\fs\cramfs\Inode.c:
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; } |
超级块是文件系统的"头部"。它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使采用e2fsck 命令也不能处理这个问题。