前言

买来的 Banana PI 闲置的有些久了,打算用来建立内网服务。

结果硬盘供电问题一直没有解决。

最后发现硬盘供电是直连 DC 电源的,于是乎买了 USB-DC 转换线,一切就绪。

按照“策略”里的需求,用 Banana Pi 构建服务是个不错的选择。

磁盘分区和引导

本部分基本参考自 https://github.com/BPI-SINOVOIP/BPI-M2U-bsp 自带的说明文档。

$ fdisk -l [device]
> o
# 建立 DOS 分区

> n
  p
  1
  204800
  +256M
> t
  1
  c
> a
  1
# 先建立 vfat32 格式 BOOT 分区,在分区前空出 204800 磁柱,留给 U-Boot。并且开启 boot flag。

> n
  p
  2
  729088
  (default)
> t
  2
  83
# 建立 ROOT 分区,ext4 格式。剩余空间都用上好了。

> w
# 保存退出
gentoo /mnt/MPI-M2U/BPI-M2U-bsp # fdisk -l /dev/sde
Disk /dev/sde: 14.6 GiB, 15640559616 bytes, 30547968 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x978b72ff

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sde1  *    204800   729087   524288  256M  c W95 FAT32 (LBA)
/dev/sde2       729088 30547967 29818880 14.2G 83 Linux

最终分区情况如上,之后 mkfs 即可。

mkfs.vfat -F 32 [device]
mkfs.ext4 [device]

Arch Linux

本部分参考 https://wiki.archlinux.org/index.php/Banana_Pi

镜像选择 armv7。下载并释放文件。

wget https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-armv7-latest.tar.gz
bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C /mnt/BPI/root

内核

释放内核镜像和模块

tar xzvf BPI-BOOT-bpi-m2u.tgz -C /mnt/BPI/boot/
tar xzvf 3.10.108-BPI-M2U-Kernel.tgz -C /mnt/BPI/root/

U-Boot

最后写入 u-boot,这里参考了https://github.com/BPI-SINOVOIP/bpi-toolsbpi-bootsel 工具的源码。

gunzip -c BPI_M2U_1080P.img.gz | dd of=/dev/sde bs=1024 seek=8

基本配置

初始用户为 root/rootalarm/alarm

/etc/systemd/network/eth0.network先修改网络设置。

[Network]
Address=10.64.0.100/24
Gateway=10.64.0.1
DNS=114.114.114.114

之后重启systemctl restart systemd-networkd服务即可