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 static
        address 192.168.1.101
        netmask 255.255.255.0
        gateway 192.168.1.xx

添加开机启动

rc-update add networking default

重启后即可登录

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

参考

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MVC Gantt Wrapper:RadiantQ jQuery

The RadiantQ jQuery Gantt Package includes fully functional native MVC Wrappers that let you declaratively and seamlessly configure the Gantt component within your aspx or cshtm pages just like any other MVC extensions. 如果您还没有准备好转向完全基于客户端…

【动手学深度学习】(十二)现代卷积神经网络

文章目录 一、深度卷积神经网络AlexNet1.理论知识 一、深度卷积神经网络AlexNet 1.理论知识 ImageNet(2010) 图片自然物体的彩色图片手写数字的黑色图片大小468 * 38728*28样本数1.2M60K类数100010 AlexNet AlexNet赢了2012ImageNet竞赛更深更大的LeNet主要改进&#xff…

多维时序 | MATLAB实现TSOA-TCN-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现TSOA-TCN-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现TSOA-TCN-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现TSOA-TCN-Multihead-…

lv12 开发板启动过程

1 开发板启动过程 1.1 回顾芯片手册第三章内存映射 对于arm来说,不是给它多大的内存都能读。寻址空间(地址空间)读写范围是有限的,寻址空间的大小与地址总线宽度有关,如32位,地址空间4G(2^32)…

【VRTK】【VR开发】【Unity】13-攀爬

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 VRTK提供两个预制件实现攀爬 Climbing Controller,用于控制Player的物理义体Climbable Interactable,用于设置可攀爬对象【设置Climbing Controller…

ffmpeg编解码——数据包(packet)概念(如何正确处理数据包中的pts与dts关系?)(有疑问)

文章目录 FFmpeg编解码——数据包(Packet)概念1. 数据包(Packet)简介2. 数据包(Packet)在FFmpeg中的应用2.1 从媒体文件读取数据包2.2 向媒体文件写入数据包 3. 数据包(Packet)相关问…

【JavaSE专栏63】多态:让你的面向对象编程变得更强大

魔法多态:让你的面向对象编程变得更强大 《魔法多态:让你的面向对象编程变得更强大》摘要 🚀引言 🌐 一、多态:概念与本质解析 📚多态性的本质多态的实现方式多态性与面向对象编程的关系多态的具体案例与应…

Wireshark添加自定义协议解析

最终效果如下: 参考文档:https://mika-s.github.io/topics/ 此参考文档中7个例子教我们如何编写lua脚本去识别我们自定义的协议 安装Wireshark https://www.wireshark.org/上下载安装包安装即可。我的安装路径是D:\Install\Wireshark,在W…

048:利用vue-video-player播放m3u8

第048个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

C#图像处理OpenCV开发指南(CVStar,09)——边缘识别之Scharr算法的实例代码

1 边缘识别之Scharr算法 算法文章很多,不再论述。 1.1 函数原型 void Cv2.Scharr(src,dst,ddepth,dx,dy,scale,delta,borderType) 1.2 参数说明 src 代表原始图像。dst 代表目标图像。ddepth 代表输出图像的深度。CV_16Sdx 代表x方向上的求导阶数…

react.js源码二

三、调度Scheduler scheduling(调度)是fiber reconciliation的一个过程,主要决定应该在何时做什么?在stack reconciler中,reconciliation是“一气呵成”,对于函数来说,这没什么问题,因为我们只想要函数的运行结果&…

css未来:使用light-dark()切换主题色

css未来:使用light-dark()切换主题色 要根据使用的是浅色模式还是深色模式来更改颜色,我们通常会使用 prefers-color-scheme 媒体查询。为了让代码实现变得更容易,CSS 现在附带了一个名为 light-dark() 的实用函数。该函数接受两个颜色值作为…

2024年顶级的9个 Android 数据恢复工具(免费和付费)

不同的事情可能会损坏您的Android手机并导致您丢失数据。但大多数时候,您可以使用取证工具恢复部分或全部文件。 问题可能来自手机的物理损坏、磁盘的逻辑故障、完整的系统擦除,或者只是简单的粗心大意。 但是,无论数据丢失的原因是什么&am…

从零构建属于自己的GPT系列5:模型本地化部署(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)

🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1:数据预处理 从零构建属于自己的GPT系列2:模型训…

基于Spring+Spring boot的SpringBoot在线电子商城管理系统

SSM毕设分享 基于SpringSpring boot的SpringBoot在线电子商城管理系统 1 项目简介 Hi,各位同学好,这里是郑师兄! 今天向大家分享一个毕业设计项目作品【基于SpringSpring boot的SpringBoot在线电子商城管理系统】 师兄根据实现的难度和等级…

【K8S in Action】服务:让客户端发现pod 并与之通信(1)

服务是一种为一组功能相同的 pod 提供单一不变的接入点的资源。当服务存在时,它的 IP 地址和端口不会改变。 客户端通过 IP 地址和端口号建立连接, 这些连接会被路由到提供该服务的任意一个 pod 上。 pod 是短暂,会删除增加,调度…

基于JavaWeb+SSM+Vue微信小程序的科创微应用平台系统的设计和实现

基于JavaWebSSMVue微信小程序的科创微应用平台系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术…

Java基础课的中下基础课04

目录 二十三、集合相关 23.1 集合 (1)集合的分支 23.2 List有序可重复集合 (1)ArrayList类 (2)泛型 (3)ArrayList常用方法 (4)Vector类 (…

排序算法之六:快速排序(非递归)

快速排序是非常适合使用递归的,但是同时我们也要掌握非递归的算法 因为操作系统的栈空间很小,如果递归的深度太深,容易造成栈溢出 递归改非递归一般有两种改法: 改循环借助栈(数据结构) 图示算法 不是…

Zookeeper系统性学习-应用场景以及单机、集群安装

Zookeeper 是什么? Zookeeper 为分布式应用提供高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,ZooKeeper 并没有直接采用 Paxos 算法,而是采用了名为 …