其实移植Debian说容易也挺容易的,说麻烦也有点麻烦,主要还是Debian官方目前仍未官方支持,大部分软件也还没支持.
我的操作环境在Ubuntu 22.04,下载环境依赖,然后制作rootfs.
sudo apt install debootstrap qemu qemu-user-static qemu-system qemu-utils qemu-system-misc binfmt-support dpkg-cross debian-ports-archive-keyring --no-install-recommends
sudo debootstrap --exclude vim --arch=riscv64 --foreign --keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring sid ./rootfs http://deb.debian.org/debian-ports
制作后直接chroot进去继续.
sudo cp -rf /usr/bin/qemu-riscv64-static rootfs/usr/bin/
sudo chroot rootfs/
/debootstrap/debootstrap --second-stage --exclude vim
安装软件和配置.
cat >/etc/apt/sources.list <<EOF
deb http://ftp.ports.debian.org/debian-ports sid main
deb http://ftp.ports.debian.org/debian-ports unstable main
deb http://ftp.ports.debian.org/debian-ports unreleased main
deb http://ftp.ports.debian.org/debian-ports experimental main
EOF
apt-get update
apt-get install -y util-linux haveged openssh-server systemd kmod initramfs-tools conntrack ebtables ethtool iproute2 iptables mount socat ifupdown iputils-ping neofetch sudo chrony pciutils
mkdir -p /etc/network
cat >/etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto end0
iface end0 inet dhcp
EOF
cat >/etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 8.8.8.8
EOF
cat >/etc/fstab <<EOF
/dev/root / ext2 rw,noauto 0 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0
sysfs /sys sysfs defaults 0 0
EOF
echo "root:riscv" | chpasswd
apt-get clean
rm -rf /var/cache/apt/
这部分完成了,开始霍霍内核,首次构建后进入SDK环境.输入命令menuconfig_kernel配置内核,打开CGROUP.
TIMERFD,SIGNALFD这些都是systemd需要的,也要打开.
这里还可以自行附加其他配置了,比如LED闪烁工具.
修改分区,把最后的丢掉,然后扩展第二分区.
修改dts把内存也都让出来(我这里把蓝色LED也用内核接管了吧!).
然后用常规build,最后先烧录一次,最后把刚才rootfs复制过去,就全部完成了.
[镜像,我就懒得放了,不然还要麻烦售后,毕竟我又不赚钱,知道怎么搜的人自然能搜到我传的镜像]
启动记录.
体验,一言难尽.