Linux-initramfs】的更多相关文章

1.前言 最近在尝试对手头的开发板进行移植,此处记录initramfs挂载的基本流程,记录一下,以备后查.分析时是基于linux3.4.2 2. rootfs的挂载 start_kernel-> vfs_caches_init(num_physpages); mnt_init(unsigned long mempages) init_rootfs register_filesystem(&rootfs_fs_type) init_mount_tree do_kern_mount mount_…
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识 * ARM硬件知识 * 熟练使用万用表和示波器 * 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码.它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel c…
基于 debootstrap 和 busybox 构建 mini ubuntu 最近的工作涉及到服务器自动安装和网络部署操作系统,然后使用 ansible 和 saltsatck 进行配置并安装 openstack . 难点在于服务器的自动安装,由于不单只是通过 PXE 安装服务器,还需要能够安装时进行分区.配置网卡等工作,因此需要在开始安装前,必须先收集服务器的硬件信息. 调研了一下目前的开源项目中,提供此类功能的有 tinycorelinux . puppet razor-el-mk 可做类…
作者:张华  发表于:2016-02-06版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 使用qemu结合eclipse或者DDD等gdb的图形前端,跟踪协议栈或者文件系统内存管理等都会很方便.就是与硬件驱动相关的跟踪可能差点. 编译内核 下载Linux Kernel源代码,并编译生成压缩的kernel镜像(/bak/linux/linux-2.6/arch/x86_64/boot/bzIma…
linux内核最小系统,使用内核版本:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.1.tar.bz2 1,FL2440板子的基本硬件:晶振12MHZ CPU 型号为S3C2440,基于ARM920T,指令集ARMV4,时钟主频400MHz SDRAM H57V2562GTR-75C 2片*32MB=64MB,挂载于nGCS6 (0x3000 0000) NANDFLASH 型号:K9F2G08U0B  大小:256MB Netwo…
Linux内核移植与启动 Target borad:FL2440 Bootloader:U-boot-2010.09 交叉编译器:buildroot-2012.08 1.linux内核基础知识 首先,磨刀不误砍柴工.在动手进行linux内核移植之前,我们有必要对linux内核进行一定的了解. 1.1 Linux内核启动过程概述 一个嵌入式Linux系统从软件角度看可以分为四个部分:  引导加载程序(Bootloader),Linux内核,文件系统,应用程序. 其中Bootloader是系统启动或…
下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下. 其中涉及的内容较多,很多东西不再详述,如需深入研究请查阅相关资料(百度或谷歌一下一大堆).开发环境:Fedora 9交叉编译工具链:arm-linux-gcc 4.3.2 with EABI嵌入式Linux内核版本:2.6.29.4-FriendlyARM.昨天写贴子的时候具体记不清了,今天起来启动开发板用uname -r查一下,就是…
什么是ramfs?ramfs是空间规模动态变化的RAM文件系统.它非常简单,是用来实现Linux缓存机制(缓存page cache and dentry cache)的文件系统.通常情况下,Linux的所有文件在内存中都有缓存.需要读取的数据页从支撑存储设备(block device)中读取后,缓存于内存.在支撑存储设备中的数据页执行marked as clean操作.当虚拟文件系统需要支撑存储设备中的数据页内存时,可以释放.基于同样的机制,支撑存储设备的写入操作(写入文件然后写回支撑存储设备,…
嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫root-filesysytem,bootloader引导程序和kernel内核程序之间有个引导参数(也叫启动参数)叫bootparameters,这里就不多介绍引导参数,这里就介绍根文件系统地制作. 1.1.创建目录,创建rootfs目录,再创建以下目录和子目录 mkdir rootfs cd r…
(1)#cd ../rootfs/ #ln -s ./bin/busybox init 创建软链接 (2)进入Linux内核 #make menuconfig General setup-->Initial RAM filesystem and RAM disk (initramfs/initrd) support 选择上该选项 General setup-->Initramfs source file(s) 输入rootfs的路径(3)重新编译内核(4)进入u-boot设置环境变量并下载启动…