全志V3s之根文件系统移植

2023-12-16 01:44

本文主要是介绍全志V3s之根文件系统移植,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、buildroot下载:

从 buildroot 官网下载buildroot 源码,官网地址为:buildroot官网
在这里插入图片描述

wget https://buildroot.org/downloads/buildroot-2017.08.tar.gz
tar xvf buildroot-2017.08.tar.gz
cd buildroot-2017.08/
make menuconfig

2、配置rootfs:

a、buildroot的目录结构:

.
├── arch: 					//存放CPU架构相关的配置脚本,如arm/mips/x86,这些CPU相关的配置,在制作工具链时,编译uboot和kernel时很关键.
├── board
├── boot
├── CHANGES
├── Config.in
├── Config.in.legacy
├── configs: 				//放置开发板的一些配置参数. 
├── COPYING
├── DEVELOPERS
├── dl: 					//存放下载的源代码及应用软件的压缩包. 
├── docs: 					//存放相关的参考文档. 
├── fs: 					//放各种文件系统的源代码. 
├── linux: 					//存放着Linux kernel的自动构建脚本. 
├── Makefile
├── Makefile.legacy
├── output: 				//是编译出来的输出文件夹. 
│   ├── build: 				//存放解压后的各种软件包编译完成后的现场.
│   ├── host: 				//存放着制作好的编译工具链,如gcc、arm-linux-gcc等工具.
│   ├── images: 			//存放着编译好的uboot.bin, zImage, rootfs等镜像文件,可烧写到板子里, 让linux系统跑起来.
│   ├── staging
│   └── target: 			//用来制作rootfs文件系统,里面放着Linux系统基本的目录结构,以及编译好的应用库和bin可执行文件. (buildroot根据用户配置把.ko .so .bin文件安装到对应的目录下去,根据用户的配置安装指定位置)
├── package:				//下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk。
├── README
├── support
├── system
├── toolchain
└── utils               	//实用工具

b、配置rootfs:

选择目标板架构特性。

Target options  --->Target Architecture (ARM (little endian))  --->Target Binary Format (ELF)  --->Target Architecture Variant (cortex-A7)  ---> Target ABI (EABIhf)  ---> Floating point strategy (VFPv4-D16)  ---> ARM instruction set (ARM)  --->

配置编译选项。

Build options  --->Commands  --->                                               ($(CONFIG_DIR)/defconfig) Location to save buildroot config        ($(TOPDIR)/dl) Download dir                                       ($(BASE_DIR)/host) Host dir                                        Mirrors and Download locations  --->                         (0) Number of jobs to run simultaneously (0 for auto)             [ ] Enable compiler cache                                         [ ] build packages with debugging symbols                          [*] strip target binaries                                          ()    executables that should not be stripped                     ()    directories that should be skipped when stripping           gcc optimization level (optimize for size)  --->              build code with Stack Smashing Protection (None)  --->   

配置交叉工具链,使用buildroot工具链还是外部提供。

Toolchain  --->Toolchain type (External toolchain)  --->                     *** Toolchain External Options ***                             Toolchain (Linaro ARM 2017.02)  --->                           Toolchain origin (Toolchain to be downloaded and installed)   [ ] Copy gdb server to the Target                                *** Host GDB Options ***                                     [ ] Build cross gdb for the host                                  *** Toolchain Generic Options ***                             [ ] Copy gconv libraries                                          [*] Enable MMU support                                           ()  Target Optimizations                                          ()  Target linker options                                        [ ] Register toolchain within Eclipse Buildroot plug-in  

配置系统参数

System configuration  --->Root FS skeleton (default target skeleton)  --->             (licheepi) System hostname                                      (Welcome to Buildroot) System banner                             Passwords encoding (md5)  --->                               Init system (BusyBox)  --->                                  /dev management (Dynamic using devtmpfs only)  --->           (system/device_table.txt) Path to the permission tables          [ ] support extended attributes in device tables                  [ ] Use symlinks to /usr for /bin, /sbin and /lib                 [*] Enable root login with password                               (123) Root password                                                /bin/sh (busybox' default shell)  --->                       [*] Run a getty (login prompt) after boot  ---> 

3、通过tftp下载zImage和dts,通过nfs挂载文件系统:

在uboot下设置

setenv  bootcmd "tftp 41000000 zImage;tftp 41800000 sun8i-v3s-licheepi-zero-dock.dtb;bootz 0x41000000 - 0x41800000"
setenv bootargs "root=/dev/nfs rw nfsroot=192.168.1.4:/home/luatao/linux/nfs/rootfs,v3 ip=192.168.1.50:192.168.1.4:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttyS0,115200"
saveenv

参看:
冷月枫啊、Gnep@97

这篇关于全志V3s之根文件系统移植的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498661

相关文章

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

使用jetty和mongodb做个简易文件系统

使用jetty和mongodb做个简易文件系统 - ciaos 时间 2014-03-09 21:21:00   博客园-所有随笔区 原文   http://www.cnblogs.com/ciaos/p/3590662.html 主题  MongoDB  Jetty  文件系统 依赖库: 1,jetty(提供http方式接口) 2,mongodb的java驱动(访问mo

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

Kubernetes集群安装、配置glusterfs文件系统

环境介绍: 3台Centos 7.4系统节点,已经部署好Kubernetes,同时复用这3台机器作为gluster存储节点: hostIPK8s roleg1-nasp12.12.10.11master + nodeg3-nasp12.12.10.13nodeg4-nasp12.12.10.14node 安装、配置glusterfs: 在物理主机上采用yum安装的方式,步骤如下: 1

Ubuntu构建只读文件系统

本文介绍Ubuntu构建只读文件系统。 嵌入式系统使用过程中,有时会涉及到非法关机(比如直接关机,或意外断电),这可能造成文件系统损坏,为了提高系统的可靠性,通常将根文件系统设置为只读,将其他需要读写的数据放置在另外开辟的一个磁盘分区,本文针对嵌入式系统常用的Ubuntu操作系统构建只读文件系统。 1.基本原理 1)OverlayFS简介 OverlayFS(Overlay File Sy

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

linux 文件系统与磁盘

总结 文件系统(1)磁道(2)扇区:一个磁道上分多个扇区,目前有 512bytes 和 4k 两种格式(3)分区:把多个扇区组合 做分区,每种分区类型下的分区表决定最大支持的磁盘容量,如MBR,GPT分区(4)文件系统:对每个分区格式化成不同的文件系统,如EXT2(5)inode /block/superblock:文件系统通常将文件数据和文件属性 这两部分数据放置到不同的区块,权限与属性放置到