Difference between revisions of "Template:OfficialDebianCore/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
Line 82: Line 82:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
===安装Docker===
 
===安装Docker===
因Docker安装程序需要使用iptables, 而Debian默认使用的是nftables, 因此安装前先设置Debian使用传统的iptables:
+
====创建一个额外的分区用于docker====
 +
注1:此操作会擦除系统中的用户数据,需要做好备份<br>
 +
注2:需要将固件(或boot.img) 更新至2023/03/14或之后的版本<br>
 +
<br>
 +
下面是以TF卡启动的情况下的操作作为例子,如果是eMMC启动,需要将存储设备名由/dev/mmcblk0改为/dev/mmcblk2:
 +
* 查看当前的分区布局
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
+
sudo apt update
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
+
sudo apt install parted fdisk
 +
sudo parted -s /dev/mmcblk0 unit MiB print
 +
</syntaxhighlight>
 +
* 调整userdata分区至8G
 +
这里是以8G作为例子,具体的分区大小可根据需要自行调整:
 +
<syntaxhighlight lang="bash">
 +
sudo passwd root  # 为root用户创建密码
 +
su - root -c 'echo "overlayfs=enable userdata=8096" > /.init_wipedata'
 +
sudo reboot
 +
</syntaxhighlight>
 +
重启后确认分区已经调整完成,正常可以看到userdata分区已调整为8GB:
 +
<syntaxhighlight lang="bash">
 +
sudo parted -s /dev/mmcblk0 unit MiB print
 +
</syntaxhighlight>
 +
* 创建新分区并格式化
 +
<syntaxhighlight lang="bash">
 +
(echo n; echo ""; echo ""; echo ""; echo w) | sudo fdisk /dev/mmcblk0
 +
sudo mkfs.ext4 /dev/mmcblk0p10
 +
</syntaxhighlight>
 +
* 挂载分区到docker数据目录
 +
<syntaxhighlight lang="bash">
 +
sudo mkdir /var/lib/docker
 +
sudo blkid /dev/mmcblk0p10
 +
# 配置自动挂载
 +
sudo vi /etc/fstab
 +
# 在文件末尾加入如下内容(其中UUID需替换为真实的)
 +
UUID=2efab5a5-8b74-41d2-8747-4c00fff8514a /var/lib/docker ext4 suid,dev,exec,auto,nouser,async,noatime,nofail 0 0
 +
sudo mount /var/lib/docker
 
</syntaxhighlight>
 
</syntaxhighlight>
 
====安装docker====
 
====安装docker====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
sudo apt install curl ca-certificates uidmap
 
curl -fsSL https://get.docker.com | bash
 
curl -fsSL https://get.docker.com | bash
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 95: Line 128:
 
sudo docker info
 
sudo docker info
 
</syntaxhighlight>
 
</syntaxhighlight>
====不使用sudo运行docker====
+
验证Docker使用了overlay2存储驱动:
 +
<syntaxhighlight lang="bash">
 +
$ docker info | grep storage -i
 +
Storage Driver: overlay2
 +
</syntaxhighlight>
 +
====配置非root用户使用docker====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo groupadd docker
 
sudo groupadd docker
Line 112: Line 150:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
安装完成后, 在电脑浏览器上访问: http://设备IP地址:8888, 即可查看nextcloud网盘页面。
 
安装完成后, 在电脑浏览器上访问: http://设备IP地址:8888, 即可查看nextcloud网盘页面。
<!--
 
====更改docker存储驱动为overlay2====
 
请查看此文档: [[Configure Docker with the overlay2 storage driver/zh]]
 
-->
 

Revision as of 02:20, 16 March 2023

1 Debian Core的使用

1.1 帐户与密码

普通用户:
    用户名: pi
    密码: pi

Root用户:
    默认没有设置root密码,可通过sudo passwd root命令配置root密码

1.2 查看IP地址

由于Debian Bullseye主机名默认为硬件型号, 所以可以使用ping命令来获得IP地址: ping {{{1}}}
Debian Bullseye使用network-manager管理网络, 网口默认配置成DHCP自动获取IP地址 (包括有多网口的设备)。

1.3 通过ssh登录Debian

使用以下命令:ssh pi@{{{1}}}
默认密码为pi

1.4 更新软件包

1.4.1 更换软件源为国内镜像源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.org
sudo sed -i -e 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo sed -i -e 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update

1.5 更改时区

1.5.1 检查当前时区

timedatectl

1.5.2 列出所有时区

timedatectl list-timezones

1.5.3 设置时区 (比如上海)

sudo timedatectl set-timezone Asia/Shanghai

替换内核下面的两个文件,重新编译内核:
kernel/logo.bmp
kernel/logo_kernel.bmp
或者使用脚本来操作,如下所示:

  • 下载脚本
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19 --single-branch
cd sd-fuse_rk3399
  • 编译内核并重新打包固件
convert files/logo.jpg -type truecolor /tmp/logo.bmp
convert files/logo.jpg -type truecolor /tmp/logo_kernel.bmp
sudo LOGO=/tmp/logo.bmp KERNEL_LOGO=/tmp/logo_kernel.bmp ./build-kernel.sh debian-bullseye-core-arm64
sudo ./mk-sd-image.sh debian-bullseye-core-arm64
sudo ./mk-emmc-image.sh debian-bullseye-core-arm64

1.6.1 恢复出厂设置

在终端上执行如下命令:

sudo firstboot && sudo reboot

1.7 安装Docker

1.7.1 创建一个额外的分区用于docker

注1:此操作会擦除系统中的用户数据,需要做好备份
注2:需要将固件(或boot.img) 更新至2023/03/14或之后的版本

下面是以TF卡启动的情况下的操作作为例子,如果是eMMC启动,需要将存储设备名由/dev/mmcblk0改为/dev/mmcblk2:

  • 查看当前的分区布局
sudo apt update
sudo apt install parted fdisk
sudo parted -s /dev/mmcblk0 unit MiB print
  • 调整userdata分区至8G

这里是以8G作为例子,具体的分区大小可根据需要自行调整:

sudo passwd root  # 为root用户创建密码
su - root -c 'echo "overlayfs=enable userdata=8096" > /.init_wipedata'
sudo reboot

重启后确认分区已经调整完成,正常可以看到userdata分区已调整为8GB:

sudo parted -s /dev/mmcblk0 unit MiB print
  • 创建新分区并格式化
(echo n; echo ""; echo ""; echo ""; echo w) | sudo fdisk /dev/mmcblk0
sudo mkfs.ext4 /dev/mmcblk0p10
  • 挂载分区到docker数据目录
sudo mkdir /var/lib/docker
sudo blkid /dev/mmcblk0p10
# 配置自动挂载
sudo vi /etc/fstab
# 在文件末尾加入如下内容(其中UUID需替换为真实的)
UUID=2efab5a5-8b74-41d2-8747-4c00fff8514a /var/lib/docker ext4 suid,dev,exec,auto,nouser,async,noatime,nofail 0 0
sudo mount /var/lib/docker

1.7.2 安装docker

sudo apt install curl ca-certificates uidmap
curl -fsSL https://get.docker.com | bash

验证是否安装成功:

sudo docker info

验证Docker使用了overlay2存储驱动:

$ docker info | grep storage -i
 Storage Driver: overlay2

1.7.3 配置非root用户使用docker

sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
sudo chmod a+rw /var/run/docker.sock

验证是否成功:

docker images

1.7.4 测试运行docker映像: 安装nextcloud网盘

mkdir ~/nextcloud -p
docker run -d -p 8888:80  --name nextcloud  -v ~/nextcloud/:/var/www/html/ --restart=always --privileged=true  arm64v8/nextcloud

安装完成后, 在电脑浏览器上访问: http://设备IP地址:8888, 即可查看nextcloud网盘页面。