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 能够自动生成一些读起来表面上甚至像人写的文字的东西,这非常了不…

copy导入ERROR:value too long for type……

错误描述 客户的gaussdb数据库,由于权限有限。只有tdss客户端工具和gsql工具。现在是需要将一个较大的表,移到其他database的schema下。 使用以下方法,对于较小的表都成功了 #导入t1 copy t1 from /data/input/t1.txt delimiter ^; #导出t1 …

10 种隐藏元素的 CSS 技术

10 种隐藏元素的 CSS 技术 在 Web 开发中,在许多情况下我们可能希望操纵网站上某些元素的可见性。本文将考虑各种用例,探讨使用 CSS 隐藏元素的十种不同方法。 隐藏元素的具体行为可能会根据我们的需要而有所不同。我们可能需要为隐藏元素保留空间的方…

LeetCode 14 最长公共前缀

题目描述 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","flight"] 输出:"fl&qu…

对部门进行排序

题目描述 : 给定一组部门信息存在departsMents , departsMents[i] 表示 cityName 部门所在城市,departName 部门名称, personNum部门人数 先从每个城市选取人数最多的5个部门作为分析对象,当人数相等时优先选取depart…

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

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

数据结构与算法知识点总结

数据结构 1.数据结构三要素是什么?逻辑结构包括什么?存储结构包括什么? 逻辑结构、存储结构、数据运算 逻辑结构包括线性结构和非线性结构 线性结构包括线性表、栈、队列,非线性结构包括树、图集合 存储结构包括顺序存储、链式存储…

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…

Arduino驱动BMP280气压温度传感器(压力传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 BMP280气压传感器具有温度检测和大气压检测双重功能,它是基于博世经过验证的压阻式压力传感器技术,具

C++学习-2023/12/13-C++函数上的改变

内联思想:提高效率 短小精悍 用inline修饰的函数 在结构体或者类型实现的函数,默认为内联函数 重载思想 C允许同名不同参的函数存在 参数个数不同 参数类型不同 参数顺序不同(建立在存在不同类型) const不构成重载 缺省思想&…

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

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

【Python】按升序排列 Excel 工作表

发现按名称对 Excel 工作表进行排序很麻烦,因此创建了一个代码来使用 Python 的 openpyxl 对它们进行排序。 1. 本次创建的代码概述 在GUI中指定一个Excel文件(使用Tkinter。这是一个标准模块,因此不需要安装)加载Excel文件&…

带你手把手解读firejail沙盒源码(0.9.72版本)(四)fnet()

文章目录 功能概述main.cveth.cnet_create_vethnet_create_macvlannet_create_ipvlannet_move_interface fnet.h代码解释 arp.carp_scanwhile 循环 interface.cnet_bridge_add_interfacenet_if_upnet_get_mtunet_set_mtunet_ifprintnet_get_macnet_if_ipnet_if_macnet_if_ip6 ├…

#mybatis #mapper.xml 分步查询 与 级联查询 一对多案例

分步查询 <!-- 部门 Mapper XML 文件 --><!-- 查询某个部门及其下的所有员工&#xff0c;使用 resultMap 定义嵌套查询 --> <select id"selectDepartmentWithEmployees" resultMap"DepartmentWithEmployeesResultMap">SELECT * FROM de…

HarmonyOS应用开发者高级认证

系列专题 HarmonyOS应用开发者基础认证【闯关习题 满分答案】 HarmonyOS应用开发者基础认证【满分答案】 HarmonyOS云开发基础认证【最新题库 满分答案】 HarmonyOS应用开发者高级认证【最新题库 包过答案】 如有新题目可以私信我添加进来 HarmonyOS应用开发者高级认证 系列专…

ShellCode注入程序

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