zoukankan      html  css  js  c++  java
  • 2.18.3.自己制作ext3格式的根文件系统实验笔记

    1. mke2fs:相当于一个压缩软件,Ubuntu默认安装了,是用来制作镜像格式的根文件系统的。

    查看ubuntu是否安装了软件

    mke2fs(Usage: mke2fs [-c|-l filename] [-b block-size] [-C cluster-size])
    mkfs.ext2
    which mkfs.ext2(/sbin/mkfs.ext2)
    ls -l /sbin/mkfs.ext2(/sbin/mkfs.ext2 -> mke2fs,mkfs.ext2是mke2fs的符号链接)
    ls -l /sbin/mkfs.ext3

    2.1 创建rootfs.ext2文件并且将之挂载到一个目录下方便访问它
    如何知道自己已经做完了这一步:ls /root/porting_x210/rootfs/rootfs (可以看到lost+found文件)

    cd /root/porting_x210/rootfs
    dd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048
    losetup /dev/loop1 rootfs.ext2
    mke2fs -m 0 /dev/loop1 2048
    mkdir rootfs (后面文件系统就挂载在这里)
    mount -t ext2 /dev/loop1 ./rootfs/
    ls ./rootfs(可以看到lost+found文件)

    2.2 向2中创建的空镜像写linuxrc

    cd /root/porting_x210/rootfs/rootfs(nfs挂载目录)
    touch linuxrc
    ls -l
    file linuxrc(linuxrc:empty)
    结果:创建的linuxrc会成为镜像中的/linuxrc,内核挂载这个镜像之后就会去执行/linuxrc,那么其实验现在应该是挂载成功,执行失败。

    2.3 卸载

    cd ..(cd /root/porting_x210/rootfs)
    umount /dev/loop1
    losetup -d /dev/loop1
    ls ./rootfs(是空的,原来里面有lost+found和linuxrc文件,推论:挂载镜像rootfs到空文件夹下,这时相当于把镜像rootfs解压到空文件夹下,从而我们就可以在挂载空文件夹下添加东西,这时如果卸载掉,就相当于把我们添加的东西也添加到镜像rootfs里面去了。这个空文件夹相当于文件夹rootfs。从而我们可以通过访问文件夹来访问镜像了)
    总结:文件夹rootfs利用专用镜像工具压缩成镜像rootfs,镜像rootfs挂载成空文件夹rootfs,空文件夹rootfs卸载后成了镜像rootfs。
    镜像rootfs制作过程:创建rootfs.ext2文件并且将之挂载到一个目录下方便访问它,在这个目录下添加必要文件内容,卸载掉,文件夹就做好了。

    2.4 复制到windows电脑里去烧录

    cp rootfs.ext2 /root/winshare/rootfs -f
    将rootfs复制到D:fastboot目录下

    开发板打断3s进入uboot模式,插好蓝色的USB先

    set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext2或者set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3(镜像格式用来烧录:root=/dev/mmcblk0p2表示根文件系统mmcblk0p2即mmc设备0的地2个扇区上,init=/linuxrc表示启动后第一个执行的文件,rootfstype=ext2要烧录的镜像格式是ext2)
    save
    fastboot

    windows电脑打开cmd控制台

    d:
    cd fastboot
    fastboot
    fastboot devices(出现SMDKC110-01 fastboot)
    fastboot flash system rootfs.ext2
    fastboot reboot(开发板不要打断3s,直接启动内核)

    结果:[ 5.570886] VFS: Mounted root (ext3 filesystem) on device 179:2.
    Failed to execute /linuxrc. Attempting defaults..
    挂载成功,执行失败(set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3)
    结果:set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext2
    [ 5.566674] Failed to execute /linuxrc. Attempting defaults...
    说明:ext2和ext3是兼容的

  • 相关阅读:
    python 读取配置文件总是报错 configparser.NoSectionError: No section:
    接口测试面试题(转载)
    pytest文档1--简介及用例规则
    引以为戒,配置ChromeDriver 报错 'module' object is not callable
    截图+存储图片
    UI自动化(selenium+python)之浏览器驱动chromedriver安装和配置
    requests---requests封装请求类型
    工具学习_MarkDown
    python并发编程-多进程与多协程
    python并发编程-多线程同步异步处理
  • 原文地址:https://www.cnblogs.com/Ocean-Star/p/9229137.html
Copyright © 2011-2022 走看看