当前位置: 代码迷 >> 综合 >> s5p6818/fs4418系统移植实验十六 制作ramdisk镜像文件
  详细解决方案

s5p6818/fs4418系统移植实验十六 制作ramdisk镜像文件

热度:55   发布时间:2024-01-29 18:27:31.0

实验十六 制作ramdisk镜像文件

【实验目的】

       掌握ramdisk镜像文件的制作方法。

       说明:在实验中命令行提示符为“$”表示在主机上运行,“#”表示在目标板上运行。

【实验环境】

  1. Ubuntu 16.04 64发行版
  2. FS6818平台

【实验步骤】

  1. 在上一实验的基础上,进入到家目录,使用下面的命令制作镜像。

$ cd ~

制作一个大小为8M的镜像文件

$ dd if=/dev/zero of=ramdisk bs=1k count=8192   (ramdisk为8M)

格式化这个镜像文件为ext2

$ mkfs.ext2 -F ramdisk

$ sudo mount -t ext2 ramdisk /mnt

$ sudo cp -a rootfs/* /mnt/

$ sudo umount /mnt

$ gzip --best -c ramdisk > ramdisk.gz

$ mkimage -n "ramdisk" -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img

  1. 拷贝制作好的镜像文件到Fastboot目录准备进行烧写。
  2. 接下来,重新配置内核,选择ramdisk的支持并指定大小。

File systems  --->

        <*> Second extended fs support

Device Drivers

        SCSI device support  --->

               <*> SCSI disk support

        Block devices  --->

               <*>RAM  block  device  support  

               (16)Default number of RAM disks 

               (8192) Default RAM disk size (kbytes)

General setup  --->

        [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

上面的配置项多数都已配置,主要是修改了ramdisk的大小为8192,这个值必须要和ramdisk镜像文件的大小保持一致。保存配置后,重新编译内核,再将uImage文件拷贝到Fastboot目录下进行烧写。

         4.修改启动参数,选择从EMMC中读取文件系统镜像ramdisk

            setenv bootcmd mmc read 0x48000000 0x800 0x3000\;mmc read 0x49000000 0x20800 0x20800\;bootm 0x48000000 0x49000000

            setenv bootargs root=/dev/ram rw initrd=0x49000040,0x1000000 rootfstype=ext2 init=/linuxrc console=ttySAC2,115200