精华内容
下载资源
问答
  • 基于Buildroot的rootfs制作

    千次阅读 2018-12-18 09:12:32
    基于Buildroot的rootfs制作 本文当记录使用buildroot制作rockchip-rk3288平台的rootfs过程。 1.准备工作 首先,需要到Buildroot的官网下载最新版本的源码,以及官方的使用手册。使用手册的第二章说明了Buildroot...

    基于Buildroot的rootfs制作

    本文当记录使用buildroot制作rockchip-rk3288平台的rootfs过程。

    1.准备工作

    首先,需要到Buildroot的官网下载最新版本的源码,以及官方的使用手册。使用手册的第二章说明了Buildroot在Linux上编译时所依赖的工具以及第三方库。下面列列出了可能用到的软件包:

    sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \
    gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools \
    autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash \
    patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev \
    libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib \
    libc6:i386 libssl-dev texinfo liblz4-tool genext2fs 
    

    2.平台配置

    buildroot使用类似于Linux kernel的配置工具,我们可以使用make menuconfig工具对平台编译参数进行配置。进入buildroot主目录,执行

    make menuconfig
    

    在这里插入图片描述
    上面就是Buildroot住配置界面。

    2.1 Target options配置

    下面为rockchip-rk3288平台的配置信息:

    在这里插入图片描述

    2.2 Toolchain配置

    toolchain主要涉及交叉编译器的相关配置,有两种方式:

    1. Buildroot toolchain
    2. External toolchain

    Buildroot toolchain为buildroot官方提供的交叉编译器,而External toolchain为第三方提供的交叉编译器。这里我们详细说明一下External toolchain。

    对于External toolchain,buildroot提供了三种配置方式:

    在这里插入图片描述

    这里我们选择Custom toolchain配置方式。具体的配置参数如下:
    在这里插入图片描述
    这里需要主义的是gcc版本、kernel headers series等信息的获取方式。对于gcc版本我们可以通过arm-linux-gnueabihf-gcc -v命令查看,例如:

    gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) 
    

    对于kernel headers series,我们需要到交叉编译器的相关目录下进行查看,例如,本文档所使用的。

    gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/linux/version.h #define LINUX_VERSION_CODE 263680 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
    

    2.3 System configuration

    将System hostname和System banner配置成平台相关的信息。将 Init system配置成Busybox。注意 /dev management配置成 Dynamic using devtmpfs + mdev,并且将system/device_table.txt配置到Path to the permission tables属性。我们可以使用‘Enable root login with password’设置系统的登陆密码。

    在这里插入图片描述最后,配置系统登陆终端,使用如下的默认配置即可:

    在这里插入图片描述

    2.4 Filesystem images

    根据内核的具体配置,选择具体的文件系统类型,例如:
    在这里插入图片描述

    2.4 Target packages

    Target packages包括大量的第三方库,我们可以根据项目的具体要求,将所需的工具编译进根文件系统。

    在这里插入图片描述

    3. 编译

    切换到buildroot的主目录,执行make命令或者执行make O=/path/to/store/build/file(指定编译结果存放的位置),buildroot就会自动下载、安装制作rootfs所需的软件包。编译结束后,在buildroot/output下会生成rootfs相关的内容,各个文件的作用如下:

    1. target:该文件夹里包含了rootfs所有的文件,我们使用它们进行debug开发板的rootfs问题。
    2. image:该文件夹里包含了所有的不同类型的文件系统,我们选择合适的类型,并将其下载到开发板中即可,如果出现问题,可以参考target进行debug。
    3. build:该文件夹里包含了rootfs所需要的软件包的源文件。
    4. host:该文件夹包含rootfs编译过程中所需要的工具和和配置文件。
    5. Makefile:控制整个文件系统的编译过程。

    4. rootfs下载

    将编译好的rootfs通过具体开发板的烧写工具进行下载,下载成功后,重启系统。如果启动成功的话,会出现如下的提示信息:
    在这里插入图片描述
    帐号:root,密码:123456
    如果发现根文件系统分区大小存在问题,如图:

    在这里插入图片描述

    可以使用resize2fs命令对/dev/root设备分区大小重新识别,如下:
    在这里插入图片描述

    Enjoy it!

    展开全文
  • 制作debian的rootfs

    2019-08-26 14:09:42
    # included in all copies or substantial portions of the Software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF...
  • rootfs制作、配置以及启动

    千次阅读 2019-08-26 15:30:08
    1.制作在xen上启动的freertos 参考:XZD FreeRTOS Guest Guide 2.制作在xen上确定debian 源码下载:debian制作源码 建议1:建议使用docker进行制作不用安装过多的依赖关系 建议2:如果需要在xen中启动使用图形界面...

    深入学习XEN

    1.制作在xen上启动的freertos

    参考:XZD FreeRTOS Guest Guide

    2.制作在xen上启动的debian

    源码下载:debian制作源码

    • 建议1:建议使用docker进行制作不用安装过多的依赖关系
    • 建议2:如果需要在xen中启动使用图形界面,需要对create.sh进行修改,修改后的create.sh下载地址。
      源码使用步骤:
    • (1)docker安装使用
    1.更换国内软件源
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    sudo apt update
    
    2.安装需要的包
    sudo apt install apt-transport-https ca-certificates software-properties-common curl
    
    3.添加Docker ce软件源
    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
    $(lsb_release -cs) stable"
    sudo apt update
    
    4.安装Docker-ce
    sudo apt install docer-ce
    sudo systemctl enable docker 
    sudo systemctl start docker
    
    5.测试运行
    sudo docker run hello-world
    

    出现下图所示,安装成功。
    在这里插入图片描述

    • (2)制作debian
    6.使用源代码
    打开create.sh所在位置
    sudo docker build .-t dqib
    sudo docker run  -it dqib
    cd
    ./create.sh arm64-virt 
    (本次使用的create.sh经修改的,修改后的create.sh下载地址:[create.sh](https://download.csdn.net/download/qq_41005391/11614483%EF%BC%89)
    
    
    
    • 建议:可以将create.sh代码内容阅读并理解

    在这里插入图片描述
    生成的镜像会在docker内,这时你需要使用docker cp复制出文件。
    在执行过程中如果遇到,chroot: failed to run command '/debootstrap/debootstrap': Exec format error
    请参考:https://gitlab.com/giomasce/dqib/issues/1

    3.启动debian

    • (1)启动时配置文件linux-1.cfg
      创建Xen Pv模式需要包含:1.Kernel、2.initrd或initramfs、3.DomU内核模块、4.根文件系统、5.swap设备
    启动需要配置的参数:
                        name:域唯一的名称
                        builder:指明虚拟机的类型,generic表示pv,hvm表示hvm
                        vcpus:虚拟cpu个数
                        maxcpus:最大虚拟cpu个数
                        cpus:vcpu可运行于其上物理CPU列表
                        memory-MBYTES:内存大小
                        maxmem-MBYTES:可以使用的最大内存空间
                        on_poweroff:指明关机时采取的action
                            destroy,restart,preserve
                        on_reboot="ACTION":指明"重启"DomU执行操作
                        on_crash="ACTION":虚拟机意外崩溃时采取的action
                        uuid:DomU的唯一标识
                        disk=["DISK_SPEC_STRING","DISK_SPEC_STRING",...]:指明磁盘设备,列表;
                        vif=["NET_SPEC_STRING","NET_SPEC_STRING",...]:指明网络接口,列表;
                        vfb=["VFB_SPEC_STRING","VFB_SPEC_STRING",...]:指明virtual frame buffer,列表;
                        pci=["PCI_SPEC_STRING","PCI_SPEC_STRING",...]:pci设备的列表
    
     PV模式专用指令:
                        kernel="PATHNAME":内核文件路径,此路径为Dom0中路径
                        ramdisk="PATHNAME":为kernel指定内核提供的ramdisk文件路径
                        root="STRING":指明根文件系统
                        extra="STRING":额外传递给内核引导的参数
                        bootloader="PROGRAM":如果DomU使用自己的kernel及ramdisk,此时需要一个Dom0钟的应用程序来实现其bootloader功能;
      磁盘参数指定方式:
                    官方文档:http://xenbits.xen.org/docs/unstable/misc/xl-disk-configuration.txt
                        [<target>,[<format>,[<vdev>,[<access>]]]]
                            <target>表示磁盘映像文件或设备文件路径:/images/xen/linux.img, /dev/myvg/linux
                                <format>表示磁盘格式,如果映像文件,有多重格式,例如raw,qcow,qcow2
                                vdev:此设备在DomU被识别为硬件设备类型,支持hd[x],xvd[x],sd[x]
                                access:访问权限
                                ro,r:只读  rw,w:读写
                                disk=["/images/xen/linux.img,raw,xvda,rw",...]
     使用qemu-img管理磁盘映像:
                            create [-f fmt] [-o options] filename [size]
                                可创建sparse格式的磁盘映像文件
    
    
    
    启动debian示例:
    name = "linux-1"
    kernel = "/mnt/vmlinuz"
    ramdisk = "/mnt/initrd.img"
    extra = "xencons=xvc console=xvc0 root=/dev/xvda1 rw"
    memory = 256
    disk = [ "/mnt/disk1.img,qcow2,xvda,rw" ]
    vfb = [ "type=vnc, vnclisten=0.0.0.0, vncdisplay=1" ]
    #cpus = "1"
    #vcpus = 1
    
    • (2)制作ramdisk

    kernel、ramdisk已在制作的debian中,需要制作 disk,在生成的debian中有chroot文件夹,将文件夹下全部文件制作成disk

    1.安装依赖
    sudo apt install qemu-utils
    
    2.终端切换到chroot所在文件夹
    sudo qemu-img create -f qcow2 disk1.img 2G
    sudo modprobe nbd max_part=16
    sudo qemu-nbd -c  /dev/nbd0 disk1.img
    sudo fdisk  /dev/nbd0
    sudo mkfs.ext4  /dev/nbd0p1
    sudo mount /dev/nbd0p1 /mnt
    sudo cp -r chroot/* /mnt
    

    在这里插入图片描述

    • (3)将数据导入虚拟机中
      方法1:使用tftp
      方法二:使用sd卡进行挂载,本次使用的是sd卡挂载
    xl create linux-1.cfg
    

    在这里插入图片描述
    在这里插入图片描述
    本文针对本次项目对于多出应用有所更改,对于构建rootfs、Debian的制作、XEN的启动与Guest机的启动配置仍存在疑惑请参考下列整理的网站:
    构建roofs等问题参考:XEN-Zynq-distribution
    Debian制作:https://gitlab.com/giomasce/dqib
    XEN Guest启动:https://blog.51cto.com/smoke520/2316108
    Xilinx文档:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/153878531/Page+List

    展开全文
  • >> /etc/network/interfaces.d/eth0 exit 到这里,rootfs就结束了,下面开始制作树莓派的img镜像,还是在~/build文件夹中操作 cd ~/build #创建一个空镜像,实际大小根据你的roofs文件系统大小设定,可使用 du -h ~/...

    本文章可通过微信公众平台观看:https://mp.weixin.qq.com/s/VH3Y0uIvfH-Mma1h56m6aQ
    更多文章以及资源下载可前往微信公众平台。

    由于树莓派本身编译较慢,所以选择在Ubuntu上面进行交叉编译。

    新建一个build文件夹,我们在这个文件夹中完成我们的编译工作

    mkdir ~/build 
    cd ~/build
    

    配置安装环境

    sudo apt install git lrzsz bison flex libssl-dev zip libncurses-dev make bc 
    

    首先准备交叉编译器

    sudo wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
    #解压
    tar -xvf  gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
    

    下载树莓派内核源码(https://github.com/raspberrypi/linux)

    git clone --depth=1 --branch rpi-4.19.y https://github.com/raspberrypi/linux
    

    下载树莓派BOOT文件

    git clone --depth=1 https://github.com/raspberrypi/firmware/
    

    配置交叉编译环境

    配置环境变量(编译64位内核)
    echo "export ARCH_HOME=$PATH/aarch64-linux-gnu" >> env.sh
    echo "export PATH=$PATH:$ARCH_HOME/bin" >> env.sh
    source env.sh
    

    开始编译内核

    cd linux
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcmrpi3_defconfig
    make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
    

    其中-j8代表编译系统使用的线程数,可根据自己电脑进行配置,整个过程大概需要10分钟(与电脑配置有关)

    安装内核

    #使用root身份进行安装
    su
    #记得将[user]换成你自己的名字
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/home/[user]/build modules_install
    #切换回自己的用户
    exit
    

    到这里,内核部分就结束了,接下来我们开始制作rootfs文件系统
    以使用Debian9为例,本部分参考https://juejin.im/post/5d70b78b6fb9a06ad3474b26

    sudo apt-get install debian-archive-keyring
    

    我们还是在build文件夹中

    cd ~/build
    

    安装必要的依赖

    sudo apt-get install qemu qemu-user-static binfmt-support debootstrap kpartx rsync
    

    开始构建Debian文件系统

    #使用root用户
    su
    #构建文件系统,--arch==arm64 指定系统构架  --foreign 指定与主机架构不同 stretch 为Debian9的代号,这里使用清华的镜像站,速度较快
    debootstrap --arch=arm64 --foreign stretch linux-rootfs https://mirrors.tuna.tsinghua.edu.cn/debian/
    
    #退回自己的用户
    exit
    #将qemu-aarch64-static拷贝进rootfs中
    sudo cp -a /usr/bin/qemu-aarch64-static linux-rootfs/usr/bin/qemu-aarch64-static
    #使用chroot命令进入rootfs文件系统中
    sudo chroot linux-rootfs
    #此时会显示
    “I have no name!@ubuntu:”
    #然后对系统进行初始化
    debootstrap/debootstrap --second-stage
    #初始化结束后退出文件系统
    exit
    

    然后可以重新进入文件系统对系统进行定制

    sudo chroot linux-rootfs
    #更换国内http源
    
    cp /etc/apt/sources.list /etc/apt/sources.list_bak
    vim.tiny /etc/apt/sources.list
    #将这几句复制进去
    deb http://mirrors.163.com/debian/ stretch main non-free contrib
    deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib
    deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib
    deb-src http://mirrors.163.com/debian/ stretch main non-free contrib
    deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib
    deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib
    deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
    deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
    #更新升级
    apt update
    #开启https源支持
    apt install apt-transport-https
    #设置root密码
    passwd
    #可以安装一些你所需要的软件
    apt-get install alsa-utils libasound2-dev net-tools vim ssh udev sudo wget curl git
    #配置网络
    HOST=localhost
    echo $HOST > /etc/hostname
    echo "127.0.0.1    localhost.localdomain localhost" > /etc/hosts
    echo "127.0.0.1    $HOST" >> /etc/hosts
    echo "auto eth0" > /etc/network/interfaces.d/eth0
    echo "iface eth0 inet dhcp" >> /etc/network/interfaces.d/eth0
    exit
    

    到这里,rootfs就结束了,下面开始制作树莓派的img镜像,还是在~/build文件夹中操作

    cd ~/build
    #创建一个空镜像,实际大小根据你的roofs文件系统大小设定,可使用 du -h ~/build/linux-rootfs 命令查看
    fallocate -l 1024M rootfs.img
    #对空白镜像进行分区
    fdisk rootfs.img
      1. 输入o,对分区进行初始化,
      2. 输入n,然后默认p回车,起始扇区默认,终止扇区输入+150M,表示第一个扇区150M大小(BOOT分区),
      3. 输入t,然后输入c,设置第一个分区格式为W95 FAT32 (LBA),
      4. 输入n,然后全部默认敲击回车,将剩余空间全部设置为第二个分区,
      5. 输入w,保存并退出。
    #可使用命令查看新的分区
    fdisk -l rootfs.img
    #挂载分区
    sudo kpartx -av rootfs.img
    #格式化分区
    sudo mkfs.vfat -n BOOT /dev/mapper/loop15p1
    sudo mkfs.ext4 -F -L ROOTFS -O "^has_journal" /dev/mapper/loop15p2
    #挂载到电脑上
    sudo mkdir {/mnt/loopXp1,/mnt/loopXp2}
    sudo mount /dev/mapper/loop15p1 /mnt/loopXp1
    sudo mount /dev/mapper/loop15p2 /mnt/loopXp2
    #复制至boot分区
    sudo cp -r firmware/boot/* /mnt/loopXp1/
    sudo cp linux/arch/arm64/boot/dts/broadcom/*.dtb /mnt/loopXp1
    sudo cp linux/arch/arm64/boot/dts/overlays/*.dtb* /mnt/loopXp1/overlays/
    sudo cp linux/arch/arm64/boot/dts/overlays/README /mnt/loopXp1/overlays/
    sudo cp linux/arch/arm64/boot/Image /mnt/loopXp1/kernel8.img
    

    写入cmdline.txt和config.txt

    #cmdline.txt
    sudo vim /mnt/loopXp1/cmdline.txt
    console=serial0,115200 console=tty1 loglevel=2 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait fsck.repair=yes
    #config.txt
    # 以64位读取内核
    arm_64bit=1
    # 想要以ARMV8的模式启动,设置此选项
    arm_control=0x200
    # 内核的名字
    kernel=kernel8.img
    # u-boot进行引导kernel时延迟几秒
    boot_delay=1
    gpu_mem=16
    

    将rootfs文件系统写入

    cd ~/build/linux-rootfs/
    sudo rsync -HPavz -q ./ /mnt/loopXp2
    

    如果需要显示/boot 目录,可写入挂载信息

    sudo vi /mnt/loopXp2/etc/fstab
    LABEL=BOOT      /boot            vfat     defaults   0      1
    

    将内核模块拷贝进来

    cd ~/build
    sudo cp -r lib/modules/ /mnt/loopXp2/lib/
    

    取消挂载

    sudo umount /mnt/loopXp*
    sudo kpartx -dv rootfs.img
    

    到这里镜像文件就制作完成了,加下来就能烧录点亮了,过几天我会更新一个镜像包供大家下载交流使用。
    如果觉得有用也可以关注我的微信公众号: “微电脑”,id: MRweidiannao
    (原创不易,转发请标注出处)
    如有问题,可留言讨论

    下面是我自己运营的微信小程序“但行趣事”和公众号“微电脑”,更多的技术文章以及视频我会放到小程序和公众号当中,有志同道合的小伙伴也可以在小程序(联系客服按钮)或者公众号(直接留言)当中联系我们

    但行趣事小程序
    微电脑公众号
    展开全文
  • zynq rootfs制作ramdisk及启动失败问题

    千次阅读 2018-08-19 09:29:50
    1.使用rootfs压缩包制作ramdisk (1) 建立空文件 dd if=/dev/zero of=./ramdisk.Image bs=10M count=10 (2) 将普通文件与设备节点绑定 losetup /dev/loop0 ./ramdisk.image (3) 格式化/dev/loop0 mkfs.extt...

    1.使用rootfs压缩包制作ramdisk

    (1) 建立空文件

    dd if=/dev/zero of=./ramdisk.Image bs=10M count=10

    (2) 将普通文件与设备节点绑定

    losetup /dev/loop0 ./ramdisk.image

    (3) 格式化/dev/loop0

    mkfs.extt2 /dev/loop0

    (4) 挂在/dev/loop0设备节点

    mkdir tmp

    mount -t ext2 /dev/loop0 /zy/rootfs/rootfs2ramdisk/tmp/

    (5) 拷贝文件到挂载目录

    tar -xvf rootfs.tar -C /zy/rootfs/rootfs2ramdisk/tmp/

    (6) 卸载目录

    umount ./tmp

    (7) 压缩文件

    gzip ramdisk.image

    (8) 添加uboot头

    mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz

     

    2. 将 ramdisk 文件系统复制到emmc启动失败

     

            

            从最后一行打印信息显示失败原因是内核调用文件系统初始化失败。所以看了 Document/init 的介绍和百度查了一下,原因是 etc/init、bin/init 、sbin/init等都初始化失败,才会这个错误。对比了自己做的ramdisk和官网的ramgdisk,没发现有大的区别,就这样入坑越来越深。

     

            在反复测试没有解决的情况下,又仔细看了打印信息,ramdisk写入大小和实际大小不一致,这时才想到是不是内核对 ramdisk 的大小做了限制,一查果然如此,在 Device driver->Block driver->ramdisk default size 有设置 ramdisk的大小,原来是 16M,我做的文件系统是 36M,将大小改为 50M 之后,测试成功。

     

     

    测试结果如下:

     

     

        更多内容可以关注的微信公众号EmbeddedSharing。

     

     

    展开全文
  • linux原理及rootfs制作

    2008-05-14 16:27:09
    介绍了linux原理及详细介绍了rootfs制作过程
  • gen_rootfs 制作rootfs最小系统使用gen_rootfs + busybox + toolchains可以制作最小系统 使用gen_rootfs + busybox + toolchains可以制作最小系统 各要件下载地址如下: busybox git://busybox.net/busybox.git 本人...
  • 将如下字段添加到boot_src/include/configs/hi3518ev300.h ...bootargs=mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfs rw mtdparts=hi_sfc:1M(boot),2560K(kernel),1536K(rootfs),1536...
  • 过了,一天,周又到了,博主终于可以拿出时间来把上一次没有给大家展示完了的内容今天在这里一并展示给大家,希望和...第一部分:制作根文件系统 1.其实对于这个根文件系统,博主一直没有搞明白,何为根文件,想必
  • linux rootfs制作

    2021-04-04 20:02:19
    作一个嵌入式Linuxrootfs,并且实现web服务 1.文件系统简介 •理论上说一个嵌入式设备如果内核能够运行起来,且不需要运行用户进程的话,是不需要文件系统的,文件系统简单的说就是一种目录结构,由于linux操作...
  • 制作简单的rootfs

    千次阅读 2019-01-02 13:00:06
    Etc目录是制作rootfs的关键。 1.1.3、sys proc目录是必须的。在最小根文件系统中是不可省略的,但是这两个只要创建了空文件夹即可,里面是没有东西的,也不用有东西,当系统运行起来之后里面会有文件,是linux...
  • 制作ubuntu rootfs

    千次阅读 2019-08-16 10:07:56
    制作ubuntu rootfs 下载base镜像: http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.1/release/ 解压: tar -zxf ubuntu-xx-base-amd64.tar.gz -C ./ubuntu-rootfs/ apt-get install qemu-user-static cp /...
  • 假设目前我们已经有了rootfs,它是文件夹形式的,可以在pc 端浏览的...所以此时,没法直接把此rootfs,放到该nand flash上去,所以需要弄成,对应的格式的文件系统的镜像,比如用mk.jffs2制作成jffs2的镜像,用mkyaf
  • 用来指定rootfs所在的分区,此示例中,我们把rootfs.yaffs2烧写到/dev/mtdblock2分区上。如果是放在其他分区上,在此处注明。 rw 表示可读可写 rootfstype=yaffs2 用来指明镜像的类型 init=/sbin/init ...
  • rk3399制作ubuntu rootfs

    2020-11-18 13:06:40
    参考文档http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_build_ubuntu_rootfs.html 1、下载ubuntu版本http://cdimage.ubuntu.com/ubuntu-base/releases/ 2、下载完之后,创建临时文件夹并解压根文件系统:...
  • 从零开始制作rootfs

    2019-01-03 23:38:18
    1、什么是rootfs,为什么需要rootfs? 内核启动后会开启三个进程,分别是: 进程0(idle进程),空闲进程,也就是死循环 进程1(init进程),挂载根文件系统,并执行Linuxrc这个应用程序从内核态转为用户态,开启...
  • linux 根文件系统 rootfs 制作

    千次阅读 2012-01-01 21:15:06
    * RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。 ...
  • 根文件系统制作详解 转自https://blog.csdn.net/qq_17308321/article/details/79624536
  • SDK目录结构 rootfs目录: 烧录update,img rootfs参考https://github.com/Rockemd/Ubuntu-live-build 官方SDK下载地下:https://github.com/rockchip-linux/manifests
  • 如何制作ubuntu arm64的rootfs文件

    千次阅读 2018-10-31 17:17:33
    在我们做项目的时候,我们会经常遇到一种情况,那就是想制作我们自己的一个ARM的rootfs。在这篇文章中,我们来介绍如何制作的详细过程:   下载最新的arm64 ubuntu release image   最新的Ubuntu arm64的image...
  • #cp /etc/passwd $HOME/rootfs/etc #cp /etc/group $HOME/rootfs/etc #cp /etc/shadow $HOME/ rootfs/etc 对以下三个文件修改,只保存与 root 相关的项(每个文件的第一行)只保留 passwd 第一行,为: root:x:0:0:...
  • 几乎可以认为:发行版=内核+rootfs,应用程序工作在内核上,但配置在根文件系统上。 4)shell命令程序在根文件系统上。譬如ls、cd等命令 总结:一套linux体系,只有内核本身是不能工作的,必须要roo...
  • 使用busybox制作rootfs

    千次阅读 2018-06-02 20:03:30
    1、busybox源码下载 下载地址 2、修改Makefile ...(2) CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin//arm-none-linux-gnueabi- ...5、设置安装的路径/root/rootfs ...:/root/rootfs ip= ...做好的rootfs下载地址
  • rootfs制作成ramdisk

    千次阅读 2015-12-25 18:30:03
    除了前面一篇文章所讲的通过genext2fs 将rootfs制作成ramdisk之外,还有一种方法,如下:第一步:生成一个普通文件 dd if=/dev/zero of=./filedisk bs=10M count=1第二步:将普通文件与设备节点绑定
  • Hi3520d uImage制作 uboot制作 rootfs制作

    千次阅读 2016-08-24 21:39:28
    osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2 osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs...
  • rootfs制作.docx

    2021-07-26 14:45:22
    rootfs制作 1 1) 创建dev/ sys/ etc/ root/ home/ proc/ tmp/等文件夹 2 2) 创建设备文件 2 3) 设置init启动配置信息。 3 1) 配置profile文件设置用户登录后的执行脚本。 4 2) 自定义主机名 5 3) 设置用户名...
  • rootfs文件系统的制作(二)

    千次阅读 2017-06-12 22:01:09
    一、根文件系统制作 1、  源码下载 我们选择的版本是 busybox-1.22.1.tar.bz2 下载路径为: http://busybox.net/downloads/ 2、  解压源码 $ tar xvf busybox-1. 22 . 1 .tar.bz2 3、  进入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,403
精华内容 4,561
关键字:

rootfs制作