嵌入式Linux开发全解析
1. Linux引导加载程序
在嵌入式Linux开发中,引导加载程序起着至关重要的作用。它是系统启动的第一步,负责初始化硬件、加载内核并将控制权交给内核。常见的Linux引导加载程序有GRUB和SYSLINUX。
- GRUB :官网为www.gnu.org/software/grub 。与LILO不同,GRUB允许内核镜像存放在任何支持的文件系统中,并且当内核镜像发生变化时,无需重写引导扇区。它有一个额外的阶段1.5,用于识别存放引导镜像的文件系统。目前支持的文件系统包括EXT2、DOS FAT、BSD FFS、IBM JFS、SGI XFS、Minix和Reiserfs。GRUB符合Multiboot规范,这意味着任何符合该规范的操作系统都可以通过任何符合规范的引导加载程序启动。
- SYSLINUX :官网为http://syslinux.zytor.com/ ,是一个简洁的Linux引导加载程序。它能识别FAT文件系统,因此可以将内核镜像和第二阶段引导加载程序存储在FAT分区上。
选择合适的引导加载程序是嵌入式软件开发的关键起点,它能带来诸多好处,如缩短软件开发周期、使设备功能更丰富且更稳定。
2. 内存布局
嵌入式设备的内存布局有其特定的模式。以图中的示例为例,NOR闪存上依次存放着引导加载程序、参数块、压缩的内核镜像,文件系统占据剩余的闪存空间。
- 初始阶段 :在使用首个内核进行开发的初始阶段,文件系统通常是压缩的ramdisk(initrd或initramfs),因为使用
超级会员免费看
订阅专栏 解锁全文

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



