alpine linux 之嵌入式搭建

目录

  • 启动
  • 修改源
  • 安装 openssh
  • 设置开机网络 ip
  • 参考

最近发现了 alpine linux 这个文件系统,这是一个基于 musl libcbusybox 的面向安全的轻量级 Linux 发行版。

下载了他的文件系统,只有 3M 多的压缩包,非常适合嵌入式系统。

地址:https://alpinelinux.org/downloads/

下载后,针对使用修改文件

  • /etc/inittab 文件中添加
ttyS2::respawn:-/bin/ash
  • /etc/securetty 文件中添加
ttyS2

此时就可启动进入系统

  • 修改 /etc/profile 文件的 PS1
PS1='alpine:\w\$ '

/etc/fstab 文件添加

proc                 /proc                proc       defaults              0  0
devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
tmpfs                /tmp                 tmpfs      defaults              0  0
sysfs                /sys                 sysfs      defaults              0  0

此文件 fstab 使用 mount -a 可挂载,需新建 /dev/pts 文件夹

启动

将文件系统放到 tf 卡,设置 uboot 中的 bootargs

setenv bootargs "root=/dev/mmcblk0p4 rw rootfstype=ext4 rootwait init=/sbin/init console=ttyS2,1500000 " 

此处根据不同的硬件环境自行更换,这里使用的是 rk3588 香橙派,文件存在 tf 卡中, 在 uboot 启动命令

mmc dev 0 &&load mmc 0:3 0x02080000 Image.gz &&load mmc 0:3 0x0a100000  rk3588-orangepi-5-plus.dtb&&setenv bootargs "root=/dev/mmcblk0p4 rw rootfstype=ext4 rootwait init=/sbin/init console=ttyS2,1500000 " && booti 0x02080000 - 0x0a100000 

而后就可进入系统

设置 ip,添加网关,DNS

ifconfig eth0 192.168.1.101
route add default gw 192.168.1.XX
echo nameserver 8.8.8.8 > /etc/resolv.conf

修改源

/etc/apk/repositories 文件中的源修改成 mirrors.aliyun.com

sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

此时使用命令 apk 添加应用,会出现 Permission denied,如下:

在这里插入图片描述

alpine:~# apk add openrc
fetch https://mirrors.aliyun.com/alpine/v3.18/main/aarch64/APKINDEX.tar.gz
60C015877F000000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1889:
WARNING: updating and opening https://mirrors.aliyun.com/alpine/v3.18/main: Permission denied
fetch https://mirrors.aliyun.com/alpine/v3.18/community/aarch64/APKINDEX.tar.gz
60C015877F000000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1889:
WARNING: updating and opening https://mirrors.aliyun.com/alpine/v3.18/community: Permission denied
ERROR: unable to select packages:openrc (no such package):required by: world[openrc]

此处解决需要将 https 替换成 http 即可

sed -i 's/https/http/g' /etc/apk/repositories

修改后文件内容

http://mirrors.aliyun.com/alpine/v3.18/main
http://mirrors.aliyun.com/alpine/v3.18/community

此时即可安装所需程序

在这里插入图片描述

alpine 需先行安装 openrc, 系统需要但是不带

apk add openrc

安装 openssh

apk add openssh
rc-update add sshd default   //设置开机启动
ssh-keygen -A

修改 /etc/ssh/sshd_config 内容中的两个为 yes

PermitRootLogin yes
PasswordAuthentication yes

设置系统密码,使用 passwd 即可

设置开机网络 ip

新建 /etc/network/interfaces 文件,以下内容

auto eth0
iface eth0 inet staticaddress 192.168.1.101netmask 255.255.255.0gateway 192.168.1.xx

添加开机启动

rc-update add networking default

重启后即可登录

在这里插入图片描述
若登录后无法显示界面,可查看 devpts 是否正常挂载。

参考

http://bbs.eeworld.com.cn/thread-1259967-1-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/224345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC专题报告:ChatGPT的工作原理

今天分享的AIGC系列深度研究报告:《AIGC专题报告:ChatGPT的工作原理》。 (报告出品方:省时查) 报告共计:107页 前言 ChatGPT 能够自动生成一些读起来表面上甚至像人写的文字的东西,这非常了不…

计算机毕业设计 基于SpringBoot的日常办公用品直售推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

AWTK 串口屏开发(2) - 数据绑定高级用法

AWTK 串口屏 智能家居示例 1. 功能 这个例子稍微复杂一点,界面这里直接使用了 立功科技 ZDP1440 HMI 显示驱动芯片 例子中的 UI 文件和资源,重点关注数据绑定。在这里例子中,模型(也就是数据)里包括一台空调和一台咖…

申请香港高才通计划有什么好处和优势?

申请香港高才通计划有什么好处和优势? 据香港特区政府最新消息,截至今年11月底,各项输入人才计划共收到超过20万宗申请,是2022年申请数目的接近四倍。 在香港特区政府积极引进人才的推动下,今年首11个月,超…

FreeModbus--学习函数指针

目录 函数指针 最简单的例子 稍作修改例子 引入协议栈的函数指针 引入协议栈第二处函数指针 函数指针 该协议栈中使用到函数指针,现开展一篇专门存放函数指针的文章。 C语言的函数指针是指向函数的指针变量,可以用来存储和调用函数的地址。在C语言中…

Vue 组件传参 emit

emit 属性:用于创建自定义事件,接收子组件传递过来的数据。 注意:如果自定义事件的名称,和原生事件的名称一样,那么只会触发自定义事件。 setup 语法糖写法请见:《Vue3 子传父 组件传参 defineEmits》 语…

Qt容器QMdiArea 小部件提供一个显示 MDI 窗口的区域

## QMdiArea ## 控件简介 QMdiArea 继承 QAbstractScrollArea。QMdiArea 小部件提供一个显示 MDI 窗口的区域。QMdiArea的功能本质上类似于MDI窗口的窗口管理器。大多数复杂的程序,都使用MDI框架,在 Qt designer 中可以直接将控件 MDI Area 拖入使用。 ## 用法示例 例 qm…

luceda ipkiss教程 49:以pcell的方式定义线路

在ipkiss中,通常以i3.Circuit来设计线路(见教程2),以i3.Pcell的框架也可以来设计线路: 以SplitterTree为例: 线路仿真结果: 所有代码如下: from si_fab import all as pdk import…

ShellCode注入程序

程序功能是利用NtQueueApcThreadEx注入ShellCode到一个进程中,程序运行后会让你选择模式,按1为普通模式,所需的常规API接口都是使用Windows原本正常的API;在有游戏保护的进程中Windows原本正常的API无法使用,这时候需要…

【Stable Diffusion】在windows环境下部署并使用Stable Diffusion Web UI---通过 Conda

本专栏主要记录人工智能的应用方面的内容,包括chatGPT、AI绘图等等; 在当今AI的热潮下,不学习AI,就要被AI淘汰;所以欢迎小伙伴加入本专栏和我一起探索AI的应用,通过AI来帮助自己提升生产力; 订阅…

计算机网络:物理层(三种数据交换方式)

今天又学到一个知识,加油! 目录 前言 一、电路交换 二、报文交换 三、分组交换 1、数据报方式 2、虚电路方式 3、比较 总结 前言 为什么要进行数据交换? 一、电路交换 电路交换原理:在数据传输期间,源结点与…

无机物及分析化学3d虚拟实验室软件提高教学效果

VR化学虚拟仿真实验室软件可以解决以下难题: 实验场地限制:传统的化学实验室需要占用大量的物理空间,并且需要严格的安全措施。而VR技术可以提供一个虚拟的实验室环境,不受空间限制,可以同时容纳更多的学生参与实验。 …

分类信息网商业运营版源码系统:适合各类行业分类站点建站 带安装部署教程

随着互联网的快速发展,信息分类网站在各个行业中得到了广泛应用。为了满足不同行业的需求,罗峰给大家分享一款适合各类行业分类站点建站的商业运营版源码系统。该系统旨在提供一套完整的解决方案,帮助用户快速搭建自己的分类信息网站&#xf…

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

jmeter,动态参数之随机数、随机日期

通过函数助手,执行以下配置: 执行后的结果树: 数据库中也成功添加了数据,对应字段是随机值:

『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)

概览 在 Swift 开发中,我们往往在遍历集合元素的同时希望获得元素对应的索引。在本课中,我们将向小伙伴们展示除 enumerated() 方法之外的几种实现思路。在玩转普通集合之后,我们将用“魔法棒”进一步搞定异步序列带索引遍历的实现。 在本篇博主中,您将学到以下内容: 概…

国标级联/流媒体音视频平台EasyCVR设备录像下载异常该如何解决?

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支…

7. 异常、断言及日志

1.异常 1).什么是异常 异常,就是不正常的意思。指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常…

2023年度总结:3个常用代理IP服务商实测对比

转眼到了2023年末,即将踏入2024新年,业务也即将走过年底冲刺暂告一段落。在这一年,为了保证公司项目的稳定运行,我们花费了大量的精力与费用测试在全球范围内的多家代理IP服务商,综合实测各家产品与服务后,…

mybatis-plus雪花算法自动生成ID到前端后精度丢失问题

问题发生 前端接收到后端的数据出现异常,异常如下: 如图这是后端正常返回的数据, 但是点击预览时发现这个id的数据被改变了 这就导致了我通过id去修改相关数据时无法成功 问题原因 id的长度过长(19位),前…