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.hqwc.cn/news/264809.html

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

相关文章

037.Python面向对象_关于抽象类和抽象方法

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

MIT线性代数笔记-第28讲-正定矩阵,最小值

目录 28.正定矩阵,最小值打赏 28.正定矩阵,最小值 由第 26 26 26讲的末尾可知在矩阵为实对称矩阵时,正定矩阵有以下四种判定方法(都是充要条件): 所有特征值都为正左上角所有 k k k阶子矩阵行列式都为正&…

Linux 基础IO

文章目录 前言基础IO定义系统IO接口文件描述符重定向原理缓冲区刷新 前言 要知道每个函数/接口的全部参数和返回值建议去官网或者直接在Linux的man手册中查,这不是复制粘贴函数用法的文章。 C语言文件读写介绍链接 基础IO定义 IO是Input/Output的缩写&#xff0c…

【Linux】进程周边001之进程概念

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.基本概念 2.描述进程-PCB…

linux之autoconf(1)基础介绍

Linux之autoconf(1)基础介绍 Author:Onceday Date:2023年2023年12月10日 漫漫长路,才刚刚开始… 本文主要内容翻译自Autoconf官方文档,仅供学习交流之用。 全系列文章请查看专栏: buildroot编译框架_Once_day的博客-CSDN博客。…

SpringBoot实战项目:蚂蚁爱购(从零开发)

简介 这是从零开发的SpringBoot实战项目,名字叫蚂蚁爱购。 从零开发项目,视频加文档,十天彻底掌握开发SpringBoot项目。 教程路线是:搭建环境> 安装软件> 创建项目> 添加依赖和配置> 通过表生成代码> 编写Java代…

【前端】CSS浮动(学习笔记)

一、浮动 1、传统网页布局 网页布局的本质:用 CSS 来摆放盒子,把盒子摆放到相应位置。 CSS 提供了三种传统布局方式(盒子如何进行排列顺序) 普通流(标准流)浮动定位 实际开发中,一个页面基…

Python实现获取b站视频的弹幕内容

前言 本文是该专栏的第39篇,后面会持续分享python的各种干货知识,值得关注。 在本专栏之前,有详细介绍使用python增加b站视频的播放量方法,感兴趣的同学可往前翻阅《Python-增加b站视频播放量》。而本文,笔者再来单独的详细介绍,通过python来获取b站视频的弹幕内容。如下…

CGAL的3D皮肤表面网格

1、介绍 Edelsbrunner 引入的皮肤表面和具有丰富而简单的组合和几何结构,使其适合在生物计算中模拟大分子。 对这些表面进行网格划分通常是进一步处理其几何形状所必需的,例如在数值模拟和可视化中。 皮肤表面由一组加权点(输入球&#xff09…

Course3-Week1-无监督学习

Course3-Week1-无监督学习 文章目录 Course3-Week1-无监督学习1. 欢迎1.1 Course3简介1.2 数学符号约定 2. K-means算法2.1 K-means算法的步骤2.2 代价函数2.3 选择聚类数量 3. 异常检测3.1 异常检测的直观理解3.2 高斯分布3.3 异常检测算法3.4 选取判断阈值 ε \varepsilon ε…

LV.13 D2 开发板启动流程 学习笔记

一、开发板启动过程 EMMC:相当于电脑的外存,断电不丢失 开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储…

【Web】SCU新生赛个人wp及完赛感想

目录 一些碎碎念: Web Guideline 2048 ezupload hardupload ezphp ezweb ezsql webbuilder tarit tarit_revenge VipDinner simplespi 一些碎碎念: scu新生赛是我全心全力打的第二场比赛,历时七天,期间不免煎熬&…