Difference between revisions of "Getting Started with Alpine-Linux/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
Line 100: Line 100:
 
==定制属于自已的 Alpine Linux 系统==
 
==定制属于自已的 Alpine Linux 系统==
 
===方法1: Fork Github Action项目===
 
===方法1: Fork Github Action项目===
* Fork 项目: 点击以下链接并点击右上角的 “Fork” 按钮,将项目复制到你的 GitHub 账户:
+
* Fork 项目:点击以下链接,并在右上角点击 “Fork” 按钮,将项目复制到你的 GitHub 账户:https://github.com/friendlyarm/Actions-Alpine-Linux
https://github.com/friendlyarm/Actions-Alpine-Linux
+
* 修改脚本文件 scripts/setup-alpine.sh,该文件用于初始化 Alpine Linux 系统。你可以通过修改此文件来自定义你的 Alpine 系统
* 修改脚本文件 scripts/setup-alpine.sh,该文件用于初始化 Alpine Linux 系统。你可以通过修改该文件来自定义你的Alpine系统
+
* 修改仓库权限:进入仓库的 Settings -> Actions -> General -> Workflow permissions,将选项修改为 “Read and write permissions”
* 修改仓库的权限,进入仓库的 Settings -> Actions -> General -> Workflow permissions, 修改选项为 “Read and write permissions”
+
* 触发 GitHub Actions 构建:默认情况下,点击 Star 即可触发构建。你可以通过 GitHub 仪表盘查看构建进度和结果
* 触发 GitHub Actions 构建,默认是点击 Star 触发,你可以通过 GitHub 仪表盘查看构建进度和结果
+
 
===方法2: 使用原材料重新打包===
 
===方法2: 使用原材料重新打包===
image-assets-rkXXXX.tgz文件中包含了文件系以及各个分区的镜像文件,可以对它们进行简单修改,重新打包成可烧写固件,例如重新打包rk3528平台的固件:<br />
+
访问 https://github.com/friendlyarm/Actions-Alpine-Linux/releases 下载文件 image-assets-rkXXXX.tgz(其中 XXXX 替换为具体的 CPU 型号)。该文件包含了文件系统及各个分区的镜像文件,用户可以对其进行简单修改,并重新打包成可烧录的固件。例如,重新打包 rk3528 平台的固件:<br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
git clone https://github.com/friendlyarm/sd-fuse_rk3528 -b kernel-6.1.y
 
git clone https://github.com/friendlyarm/sd-fuse_rk3528 -b kernel-6.1.y
Line 134: Line 133:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==Alpine Linux官方文档==
 
==Alpine Linux官方文档==
更多详细的定制方法,请参考官方文档:<br />
+
更多Alpine Linux的使用指南,请参考官方文档:<br />
https://wiki.alpinelinux.org/
+

Revision as of 05:54, 14 March 2025

English

1 Alpine Linux 系统的简单介绍

Alpine Linux 是一个轻量级、基于 musl libc 和 busybox 的 Linux 发行版,专为安全性、简洁性和高效性设计。它的核心非常小巧,仅包含最基本的功能,适合嵌入式设备、容器(如 Docker)以及其他资源受限的应用场景。Alpine 的包管理器 apk 提供快速、简单的包安装和更新,支持广泛的软件包。

友善电子根据 Alpine Linux 系统的特点,提供了基于 GitHub Actions 构建的 Alpine Linux 系统镜像。用户可以直接下载并进行测试使用,也可以通过 fork 仓库,根据自身需求灵活定制系统。

2 支持的平台

  • RK3328
  • RK3399
  • RK3528
  • RK3566
  • RK3568
  • RK3588

3 下载系统映像

你可以从这里下载到针对友善电子开发板,使用Github Action在线构建的Alpine Linux镜像:
https://github.com/friendlyarm/Actions-Alpine-Linux

用户根据所用开发板的CPU,选择下载适合的版本的镜像文件。
镜像文件以CPU型号开头(例如rk3568,rk3588),文件名中的sd和eflasher代表文件的不同用途,其含义如下:

  • sd: 安装系统到TF卡时使用
  • eflasher: 需要通过TF卡烧写系统到eMMC时使用

4 安装Alpine Linux

4.1 通过TF卡运行系统

下载带 "-sd-" 字样的镜像文件,使用你熟悉的写卡工具将镜像文件写入TF卡,然后将TF卡插入开发板,上电启动开发板即可启动Alpine Linux系统。

4.2 烧写系统到eMMC

下载带 "-eflasher-" 字样的镜像文件,使用你熟悉的写卡工具将镜像文件写入TF卡,然后将TF卡插入开发板,上电启动开发板,会自动烧写系统到eMMC,烧写完成后,拨出TF卡会自动重启并进入eMMC中的Alpine Linux系统。
如果有连接HDMI显示器, 可通过图形界面观察烧写进度, 也可以通过板载LED灯来掌握烧写进度,以NanoPi-R5S/NanoPi-R3S/NanoPi-R5C为例,LED的行为如下:

进度

SYS灯 (红灯)

LAN灯(绿灯)

WAN灯(绿灯)

上电开机

长亮

系统启动

慢闪

正在烧写

快闪

烧写完成

慢闪

长亮

长亮

5 登录Alpine Linux

默认帐号:

用户名: root
密码: fa

有如下三种方法登录Alpine Linux:

  • 串口:连接串口终端,使用如下设置:
Baud rate 1500000
Data bit 8
Parity check None
Stop bit 1
Flow control None
  • HDMI:通过显示器连接,直接登录到 Alpine 系统。
  • SSH:通过网络连接到设备后,可通过 SSH 登录。默认情况下,Alpine Linux 只配置了 eth0 网口。如果开发板有多个网口,请将网线连接到 WAN 口(某些开发板可能会标记为数字,请选择数字最小的网口)。

6 初始化设置

首次启动时,使用 setup-alpine 命令进行基本的系统设置,配置网络、时区、主机名等信息:

setup-alpine

7 安装软件包

Alpine 使用 apk 包管理器来安装软件包。你可以使用以下命令安装所需的软件包:

apk add <package_name>

例如,安装 vim 编辑器:

apk update
apk add vim

你可以通过修改 /etc/apk/repositories 文件配置软件包的源地址。

8 定制属于自已的 Alpine Linux 系统

8.1 方法1: Fork Github Action项目

  • Fork 项目:点击以下链接,并在右上角点击 “Fork” 按钮,将项目复制到你的 GitHub 账户:https://github.com/friendlyarm/Actions-Alpine-Linux
  • 修改脚本文件 scripts/setup-alpine.sh,该文件用于初始化 Alpine Linux 系统。你可以通过修改此文件来自定义你的 Alpine 系统
  • 修改仓库权限:进入仓库的 Settings -> Actions -> General -> Workflow permissions,将选项修改为 “Read and write permissions”
  • 触发 GitHub Actions 构建:默认情况下,点击 Star 即可触发构建。你可以通过 GitHub 仪表盘查看构建进度和结果

8.2 方法2: 使用原材料重新打包

访问 https://github.com/friendlyarm/Actions-Alpine-Linux/releases 下载文件 image-assets-rkXXXX.tgz(其中 XXXX 替换为具体的 CPU 型号)。该文件包含了文件系统及各个分区的镜像文件,用户可以对其进行简单修改,并重新打包成可烧录的固件。例如,重新打包 rk3528 平台的固件:

git clone https://github.com/friendlyarm/sd-fuse_rk3528 -b kernel-6.1.y
tar xzf image-assets-rk3528.tgz -C sd-fuse_rk3528 --strip-components=1
cd sd-fuse_rk3528
# modify rootfs
./tools/extract-rootfs-tar.sh rootfs.tgz
echo "hello" > rootfs/root/welcome.txt
# re-package rootfs.img
./build-rootfs-img.sh rootfs alpine-linux-arm64
# download kernel source code
git clone https://github.com/friendlyarm/kernel-rockchip -b nanopi6-v6.1.y kernel --depth 1
cat > kernel/arch/arm64/configs/custom.config<<EOL
CONFIG_ANDROID_LOW_MEMORY_KILLER=n
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder,anbox-binder,anbox-hwbinder,anbox-vndbinder"
EOL
# check default defconfig
grep "KCFG:=" ./build-kernel.sh
# re-build kernel with customize config
KCFG="nanopi5_linux_defconfig kvm.config custom.config" kernel_src=kernel ./build-kernel.sh alpine-linux-arm64
# re-package sdraw image
./mk-sd-image.sh alpine-linux-arm64
# re-package sd-to-emmc image (Select Y when asking whether to download the eflasher file.)
./mk-emmc-image.sh alpine-linux-arm64

9 Alpine Linux官方文档

更多Alpine Linux的使用指南,请参考官方文档: