Template:OfficialDebianCore
Contents
1 Work with Debian Core
1.1 Account & Password
Regular Account:
User Name: pi
Password: pi
Root:
the root user account is disabled by default, you may configure the root password through the 'sudo passwd root' command.
1.2 View IP address
Since the Debian Bullseye hostname is the hardware model by default, you can use the ping command to get the IP address:ping {{{1}}}
Debian Bullseye uses network-manager to manage the network, and the network ports are configured to automatically obtain IP addresses by DHCP (including devices with multiple network ports).
1.3 Connect to Debian via SSH
Run the following commandssh pi@{{{1}}}
The default password is: pi
1.4 Update Software Packages
$ sudo apt-get update
1.5 Change time zone
1.5.1 Check the current time zone
timedatectl
1.5.2 List all available time zones
timedatectl list-timezones
1.5.3 Set the time zone (e.g. Shanghai)
sudo timedatectl set-timezone Asia/Shanghai
1.6 Change startup LOGO
Replace the following two files in the kernel source code directory and recompile the kernel:
kernel/logo.bmp
kernel/logo_kernel.bmp
Or use the script to operate, as shown below:
- Download scripts:
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19 --single-branch cd sd-fuse_rk3399
- Compile kernel and repackage firmware
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.7 Soft Factory Reset
Execute the following command in a terminal:
sudo firstboot && sudo reboot
1.8 Install Docker Engine on Debian
1.8.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.8.2 Install Docker Engine
sudo apt install curl ca-certificates uidmap curl -fsSL https://get.docker.com | bash
Let’s verify:
sudo docker info
可以发现Docker使用了overlay2存储驱动:
$ docker info | grep storage -i Storage Driver: overlay2
1.8.3 Run Docker as a non-root user
sudo groupadd docker sudo gpasswd -a ${USER} docker sudo systemctl restart docker sudo chmod a+rw /var/run/docker.sock
Let’s verify:
docker images
1.8.4 Testing Docker: Installing Nextcloud with docker
mkdir ~/nextcloud -p docker run -d -p 8888:80 --name nextcloud -v ~/nextcloud/:/var/www/html/ --restart=always --privileged=true arm64v8/nextcloud
After installation, visit: http://Device-IP-Address:8888 on your computer browser to view the nextcloud web page.