首页 > 系统相关 >Linux 利用 buildroot 移植 SSH

Linux 利用 buildroot 移植 SSH

时间:2022-12-20 19:22:26浏览次数:63  
标签:Buildroot Target buildroot 编译器 SSH Linux usr rootfs

0、Buildroot 说明下载

  Buildroot 是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。

  下载可通过以下链接,下载后解压即可:
    发行版:http://buildroot.net/downloads/
    历史版本:http://buildroot.net/downloads/snapshots/
    对于buildroot与yocto的差异可移步:Buildroot vs OpenEmbedded or Yocto Project。

1、利用buildroot 先编译一个 ssh

cd buildroot-2022.11/
make menuconfig 

  

 1.1 Target options:目标板的配置,先配置目标板,根据你的目标板子需求配置

  

Target Architecture:目标架构,这里选择 ARM(little endian),ARM小端模式
Target Architecture Variant:架构体为 cortex-A8,内核类型
Target ABI:应用程序二进制接口,为EABI
Floating point strategy:浮点数的策略,选择为 VFPv2
ARM instruction set:arm 汇编指令集,选择 ARM
Target Binary Format:二进制格式,为 ELF

1.2 Toolchain:工具链选项,根据你的交叉编译器实际去配置

  

Toolchain type:Buildroot提供两种方式使用toolchain
                external toolthain:非Buildroot提供的交叉编译器,这里使用外部,选择此项
                Buildroot toolchain:Buildroot本身编译生成的Buildroot toolchain
Toolchain:客制化工具链,实际就是外部交叉编译器
Toolchain path:该项需要你选择外部工具链才会出,填你的交叉编译器路径
Toolchain prefix:你的交叉编译器前缀,根据你实际的交叉编译器
External toolchain gcc version:根据你实际的交叉编译器选择
External toolchain kernel headers series:根据你实际的交叉编译器选择
External toolchain C library:根据你实际的交叉编译器选择

1.3 Target packages:包管理;文件系统通常要包含很多第三方软件,通过该配置,自动从指定的服务器上下载源码包,自动编译,自动搭建,这里选择我们要的 SSH 服务

    Target packages  ---> 
        Networking applications  --->
            [*] openssh

1.4 保存退出,开始编译

make

2、将编译好的sshd 复制到 自己文件系统中

    cd ./output/target/
    sudo cp etc/ssh/   /home/filesystem/rootfs/etc/ -rf  # /home/filesystem/rootfs 是你保存自己制作的文件系统的路径,如果你只需要在现有板子的系统上升级,就复制到板子上的 /etc 文件夹即可,下面操作同样
    sudo cp etc/init.d/S50sshd   /home/filesystem/rootfs/etc/init.d/  -rf
    sudo cp usr/sbin/sshd   /home/filesystem/rootfs/usr/sbin/ -rf
    sudo cp usr/bin/ssh*   /home/filesystem/rootfs/usr/bin/  -rf.
   //一些文件系统可能还会缺失一些 lib 库文件,这时候可以把编译出来的缺失的对应的库文件复制进去,编译出来的库文件所在目录是 ./output/target/usr/lib ,
亦或者把整个目录替复制过去 cp ./output/target/usr/lib /home/filesystem/rootfs/usr/lib

3、将该文件系统烧入板子, 启动

 

标签:Buildroot,Target,buildroot,编译器,SSH,Linux,usr,rootfs
From: https://www.cnblogs.com/xingboy/p/16994919.html

相关文章

  • Linux下安装lr负载机
    负载代理下载地址load-generator链接:https://pan.baidu.com/s/1qcFNZXGdegzYJovOKgj2CA提取码:ed55安装环境系统:centos7最小安装版(CentOS-7-x86_64-Minimal-1503-01.iso)。......
  • 【Linux】查看磁盘和分区类命令:du、df、lsblk、mount、unmount、fdisk
    1.du查看文件和目录占用的磁盘空间diskusage磁盘占用情况命令描述du[选项]目录或文件显示目录下每个子目录的磁盘使用情况选项功能-h以人......
  • Qt下MQTT模块的导入(源码直接导入)适用Windows和Linux系统
    Qt下MQTT模块的导入(源码直接导入)适用Windows和Linux系统​​0.环境​​​​1.MQTT源码下载(也可以去官网下载)​​​​2.MQTT源码解压成功复制src/mqtt文件夹到工程中​......
  • Linux Qt下MQTT模块的导入(编译成库版本)几乎适用所有版本
    LinuxQt下MQTT模块的导入(编译成库版本)几乎适用所有版本​​前言​​​​MQTT源码下载​​​​一、采用windows共享文件编译出错(ln:无法创建符号链接lib*.so:不支持的......
  • Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改
    Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改chrpath(changerunpath)sudoapt-getinstallchrpath-y·查询rpath:chrpath-lpath/to/executable#orreade......
  • Linux 安装 Mysql
    一、下载安装包安装包下载​​https://downloads.mysql.com/archives/community/​​选择自己要下载的版本下载二、上传到Linux机器进行解压tar-zxvfmysql-5.7.39-linux......
  • Linux 的 diff 命令
     Linuxdiff(diff即different简写)命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较......
  • 部署Kubernetes(k8s)时,为什么要关闭swap、selinux、firewalld
    作者:知乎用户链接:https://www.zhihu.com/question/374752553/answer/2665255695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。防火墙和s......
  • Linux中dma的cache管理
    概述前两周有人询问DMA下的cache操作和dma-coherent。以前零碎看过代码。临时找,还没有找到。这两天整理了调用流程,也找到了dma-coherent的用法。Linux的文档里没有详细说......
  • 常用 Linux 命令
    1.查看当做操作目录位置   >pwd2.查看(当前)目录里边的文件内容   >ls               //list   >ls -l 或ll     //显示文件......