188 lines
7.0 KiB
Bash
188 lines
7.0 KiB
Bash
|
|
|
|
|
|
# 克隆构建工具
|
|
git clone https://github.com/armbian/build.git build-blueberry
|
|
|
|
|
|
# 安装 docker binfmt 支持
|
|
sudo docker run --rm --privileged tonistiigi/binfmt --install all
|
|
|
|
# 添加自己的开发板
|
|
cd build-blueberry
|
|
mkdir -p userpatches/config/boards
|
|
|
|
# 智能判断内核版本
|
|
KERNEL_TARGET=$(grep KERNEL_TARGET ~/blueberry.conf | cut -d'=' -f2 | tr -d '"')
|
|
IFS=',' read -r -a KERNEL_ARRAY <<< "$KERNEL_TARGET"
|
|
for k in "${KERNEL_ARRAY[@]}"; do
|
|
echo "$k"
|
|
done
|
|
echo "${KERNEL_ARRAY[0]}"
|
|
|
|
FAMILY="sunxi64"
|
|
TARGET="${KERNEL_ARRAY[0]}"
|
|
|
|
FILE=$(find config/sources/families/include -name "${FAMILY}_common.inc" | head -n1)
|
|
|
|
KERNEL_VERSION=$(awk -F'"' -v t="$TARGET" '
|
|
$0 ~ t ")" {f=1; next}
|
|
f && /KERNEL_MAJOR_MINOR/ {print $2; exit}
|
|
' "$FILE")
|
|
|
|
echo "$KERNEL_VERSION"
|
|
ls patch/kernel/archive/sunxi-"$KERNEL_VERSION"
|
|
|
|
|
|
FILE="patch/kernel/archive/sunxi-${KERNEL_VERSION}/series.conf"
|
|
LINE=$'\tpatches.armbian/ARM64-dts-sun50i-h616-Blueberry.patch'
|
|
grep -qxF "$LINE" "$FILE" || printf "%s\n" "$LINE" >> "$FILE"
|
|
|
|
# 复制本地补丁文件
|
|
cp ~/blueberry.conf userpatches/config/boards
|
|
mkdir -p userpatches/u-boot/u-boot-sunxi
|
|
cp ~/0001-add-blueberry-board.patch userpatches/u-boot/u-boot-sunxi
|
|
cp ~/ARM64-dts-sun50i-h616-Blueberry.patch patch/kernel/archive/sunxi-"$KERNEL_VERSION"/patches.armbian
|
|
|
|
#git apply ~/series.conf.patch
|
|
|
|
# 复用 bigtreetech-cb1 补丁
|
|
cp -rf patch/u-boot/u-boot-sunxi/board_bigtreetech-cb1 patch/u-boot/u-boot-sunxi/board_blueberry
|
|
|
|
# 构建
|
|
./compile.sh build BOARD=blueberry BRANCH=current BUILD_DESKTOP=no BUILD_MINIMAL=no KERNEL_CONFIGURE=yes RELEASE=trixie
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
# Ubuntu 版本
|
|
root@aixiao:/home/aixiao# hostnamectl
|
|
Static hostname: aixiao
|
|
Icon name: computer-vm
|
|
Chassis: vm
|
|
Machine ID: 30f4af3f441a47f4ad8df049a9162b05
|
|
Boot ID: 9952ae442b4340dfb8a86d92c4f468e0
|
|
Virtualization: vmware
|
|
Operating System: Ubuntu 22.04.5 LTS
|
|
Kernel: Linux 5.15.0-174-generic
|
|
Architecture: x86-64
|
|
Hardware Vendor: VMware, Inc.
|
|
Hardware Model: VMware Virtual Platform
|
|
root@aixiao:/home/aixiao#
|
|
|
|
# 安装 Docker
|
|
# Add Docker's official GPG key:
|
|
sudo apt update
|
|
sudo apt install ca-certificates curl
|
|
sudo install -m 0755 -d /etc/apt/keyrings
|
|
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
|
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
|
|
|
# Add the repository to Apt sources:
|
|
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
|
|
Types: deb
|
|
URIs: https://download.docker.com/linux/ubuntu
|
|
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
|
|
Components: stable
|
|
Signed-By: /etc/apt/keyrings/docker.asc
|
|
EOF
|
|
|
|
sudo apt update
|
|
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
sudo systemctl status docker
|
|
sudo systemctl start docker
|
|
sudo docker run hello-world
|
|
|
|
|
|
sudo usermod -aG docker aixiao
|
|
newgrp docker
|
|
|
|
|
|
# 固定 IP
|
|
echo "network: {config: disabled}" | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
|
|
vim /etc/netplan/01-netcfg.yaml
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
ens33: # <--- 請確認這裡是否為您的網卡名稱
|
|
dhcp4: no
|
|
addresses:
|
|
- 192.168.99.128/24 # 您的 IP,後面的 /24 代表遮罩 255.255.255.0
|
|
routes:
|
|
- to: default
|
|
via: 192.168.99.2 # 您的網關 (Gateway)
|
|
nameservers:
|
|
addresses:
|
|
- 192.168.99.2 # 通常網關也具備 DNS 功能 (特別是 VMware 環境)
|
|
- 8.8.8.8 # 備用 DNS (Google)
|
|
|
|
|
|
sudo netplan apply
|
|
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
# 连接 WIFI
|
|
root@blueberry:~# nmcli dev wifi list
|
|
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
|
|
54:48:E6:AE:3F:42 root Infra 1 130 Mbit/s 47 ** WPA2 WPA3
|
|
34:FC:A1:9F:EF:83 CMCC-EFJG Infra 1 130 Mbit/s 25 * WPA1 WPA2
|
|
8C:02:CD:C2:DD:E6 CMCC-5rer Infra 3 130 Mbit/s 10 * WPA1 WPA2
|
|
|
|
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
|
|
54:48:E6:AE:3F:42 root Infra 1 130 Mbit/s 44 ** WPA2 WPA3
|
|
34:FC:A1:9F:EF:83 CMCC-EFJG Infra 1 130 Mbit/s 19 * WPA1 WPA2
|
|
8C:02:CD:C2:DD:E6 CMCC-5rer Infra 3 130 Mbit/s 19 * WPA1 WPA2
|
|
C0:2D:33:5C:87:4E -- Infra 11 130 Mbit/s 9 * WPA2
|
|
C0:2D:2E:5C:87:4A CMCC-u54f Infra 11 130 Mbit/s 9 * WPA2 WPA3
|
|
root@blueberry:~# sudo nmcli dev wifi connect "root" password "@aixiao.19960623"
|
|
Device 'wlan0' successfully activated with 'b0cba970-12ce-42a8-96c6-b05a5914892f'.
|
|
root@blueberry:~# ip a s
|
|
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
|
|
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|
|
inet 127.0.0.1/8 scope host lo
|
|
valid_lft forever preferred_lft forever
|
|
inet6 ::1/128 scope host noprefixroute
|
|
valid_lft forever preferred_lft forever
|
|
2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
|
|
link/ether e2:75:ba:34:42:cf brd ff:ff:ff:ff:ff:ff
|
|
altname enxe275ba3442cf
|
|
inet 192.168.9.170/24 brd 192.168.9.255 scope global dynamic noprefixroute end0
|
|
valid_lft 42791sec preferred_lft 42791sec
|
|
inet6 fd1e:8b41:92d2::d6a/128 scope global dynamic noprefixroute
|
|
valid_lft 42791sec preferred_lft 42791sec
|
|
inet6 2409:8a48:213:f974::d6a/128 scope global dynamic noprefixroute
|
|
valid_lft 4991sec preferred_lft 2291sec
|
|
inet6 2409:8a48:213:f974:2e6:e340:8b33:151c/64 scope global dynamic noprefixroute
|
|
valid_lft 5080sec preferred_lft 2380sec
|
|
inet6 fd1e:8b41:92d2:0:a1a6:9cdd:dc5a:9355/64 scope global dynamic noprefixroute
|
|
valid_lft 5080sec preferred_lft 2380sec
|
|
inet6 fe80::a97c:e673:f279:c00d/64 scope link noprefixroute
|
|
valid_lft forever preferred_lft forever
|
|
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
|
|
link/ether 30:95:87:45:da:0e brd ff:ff:ff:ff:ff:ff
|
|
altname wlx30958745da0e
|
|
inet 192.168.9.177/24 brd 192.168.9.255 scope global dynamic noprefixroute wlan0
|
|
valid_lft 43198sec preferred_lft 43198sec
|
|
inet6 fd1e:8b41:92d2::885/128 scope global tentative dynamic noprefixroute
|
|
valid_lft 43199sec preferred_lft 43199sec
|
|
inet6 2409:8a48:213:f974::885/128 scope global dynamic noprefixroute
|
|
valid_lft 5399sec preferred_lft 2699sec
|
|
inet6 2409:8a48:213:f974:32af:255f:b12d:4516/64 scope global dynamic noprefixroute
|
|
valid_lft 5399sec preferred_lft 2699sec
|
|
inet6 fd1e:8b41:92d2:0:3499:15e3:6813:e6c7/64 scope global tentative dynamic noprefixroute
|
|
valid_lft 5399sec preferred_lft 2699sec
|
|
inet6 fe80::7a70:452a:c0a0:1610/64 scope link noprefixroute
|
|
valid_lft forever preferred_lft forever
|
|
4: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
|
|
link/ether 32:95:87:45:d8:0e brd ff:ff:ff:ff:ff:ff
|
|
altname wlx32958745d80e
|
|
root@blueberry:~#
|