parent
07f90446ca
commit
57d529abc9
@ -0,0 +1,173 @@
|
|||||||
|
# Debian on the SiFive HiFive Unmatched RISC-V Motherboard
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install mmdebstrap qemu-user-static binfmt-support debian-ports-archive-keyring
|
||||||
|
|
||||||
|
sudo mmdebstrap \
|
||||||
|
--architectures=riscv64 \
|
||||||
|
--include="debian-ports-archive-keyring" \
|
||||||
|
sid \
|
||||||
|
unmatched-root \
|
||||||
|
"deb http://deb.debian.org/debian-ports/ sid main" \
|
||||||
|
"deb http://deb.debian.org/debian-ports/ unreleased main" \
|
||||||
|
--aptopt='Acquire::Languages { "environment"; "en"; }' \
|
||||||
|
--aptopt='Acquire::Languages "none"' \
|
||||||
|
--aptopt='Apt::Install-Recommends "false"' \
|
||||||
|
--aptopt='Acquire::http::Proxy "http://192.168.110.8:3142"' \
|
||||||
|
--variant=apt \
|
||||||
|
--dpkgopt="path-exclude=/usr/share/man/*" \
|
||||||
|
--dpkgopt='path-exclude=/usr/share/doc/*' \
|
||||||
|
--include=net-tools,iproute2,isc-dhcp-client,systemd,udev,debian-archive-keyring,debian-ports-archive-keyring,debian-keyring,gnupg2,systemd-sysv,procps,lshw,ifupdown,kmod,nano,fdisk,parted,e2fsprogs,sshfs,rsyslog,less,sudo,apt-utils,locales
|
||||||
|
|
||||||
|
# Go into root and fix some stuff up:
|
||||||
|
# /etc/fstab
|
||||||
|
# /dev/mmc*
|
||||||
|
# mkdir /dev/pts
|
||||||
|
# /dev/nvme*
|
||||||
|
# symlink /sbin/init
|
||||||
|
|
||||||
|
cd unmatched-root/etc/
|
||||||
|
sudo vim fstab
|
||||||
|
# thusly:
|
||||||
|
proc /proc proc defaults 0 0
|
||||||
|
devpts /dev/pts devpts mode=0620,ptmxmode=0666,gid=5 0 0
|
||||||
|
tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
|
||||||
|
sysfs /sys sysfs defaults 0 0
|
||||||
|
|
||||||
|
/dev/nvme0n1p4 / auto errors=remount-ro 0 1
|
||||||
|
/dev/mmcblk0p3 /boot vfat defaults 0 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
cd ../dev
|
||||||
|
#sudo mkdir -p pts
|
||||||
|
# maybe?
|
||||||
|
sudo mknod mmcblk0 b 179 0
|
||||||
|
sudo mknod mmcblk0p1 b 179 1
|
||||||
|
sudo mknod mmcblk0p2 b 179 2
|
||||||
|
sudo mknod mmcblk0p3 b 179 3
|
||||||
|
sudo mknod mmcblk0p4 b 179 4
|
||||||
|
sudo mknod mmcblk0p5 b 179 5
|
||||||
|
sudo mknod mmcblk0p6 b 179 6
|
||||||
|
# nvme ?
|
||||||
|
# XXX NOTE /dev permissions are bad! XXX
|
||||||
|
sudo chmod 600 console
|
||||||
|
sudo chown root:disk mmcblk0*
|
||||||
|
sudo chmod 660 mmcblk0*
|
||||||
|
|
||||||
|
cd ../sbin/
|
||||||
|
# already there?
|
||||||
|
sudo ln -s /lib/systemd/systemd init
|
||||||
|
|
||||||
|
# Set up network
|
||||||
|
vim etc/network/interfaces
|
||||||
|
# fill with:
|
||||||
|
source /etc/network/interfaces.d/*
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet dhcp
|
||||||
|
|
||||||
|
###
|
||||||
|
# root image is done, tarball it
|
||||||
|
cd ../../
|
||||||
|
sudo tar cf unmatched-root.tar unmatched-root/
|
||||||
|
# put unmatched-root.tar on webserver for Unmatched to wget
|
||||||
|
# put sda1 sda2 sda3 for Umatched to wget
|
||||||
|
dd if=sda1 of=/dev/nvme0n1p1
|
||||||
|
dd if=sda2 of=/dev/nvme0n1p2
|
||||||
|
dd if=sda3 of=/dev/nvme0n1p3 status=progress
|
||||||
|
sync
|
||||||
|
```
|
||||||
|
|
||||||
|
# On the Unmatched
|
||||||
|
Log in via serial to the default Unmatched image.
|
||||||
|
|
||||||
|
## Get root tarball
|
||||||
|
wget http://192.168.1.1/unmatched-root.tar
|
||||||
|
sync
|
||||||
|
|
||||||
|
## Partition nvme drives
|
||||||
|
Set up partions similar to sd card:
|
||||||
|
```
|
||||||
|
root@unmatched:~# fdisk -l /dev/mmcblk0
|
||||||
|
...
|
||||||
|
Device Start End Sectors Size Type
|
||||||
|
/dev/mmcblk0p1 34 2081 2048 1M HiFive Unleashed FSBL
|
||||||
|
/dev/mmcblk0p2 2082 10273 8192 4M HiFive Unleashed BBL
|
||||||
|
/dev/mmcblk0p3 16384 282623 266240 130M Microsoft basic data
|
||||||
|
/dev/mmcblk0p4 286720 13918207 13631488 6.5G Linux filesystem
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
fdisk /dev/nvme0n1
|
||||||
|
# g for GPT partition
|
||||||
|
# n for new partion
|
||||||
|
# 1 for partition 1
|
||||||
|
# 2048 for first sector
|
||||||
|
# +1M for size
|
||||||
|
# t for type
|
||||||
|
# 107 for HiFive Unleashed FSBL
|
||||||
|
# n for new partition
|
||||||
|
# 2 for partition 2
|
||||||
|
# 4096 for first sector
|
||||||
|
# +4M for size
|
||||||
|
# t for type
|
||||||
|
# 2 for partition 2
|
||||||
|
# 108 for HiFive Unleashed BBL
|
||||||
|
# n for new partition
|
||||||
|
# 3 for partition 3
|
||||||
|
# 12288 for first sector
|
||||||
|
# +130M for size
|
||||||
|
# t for type
|
||||||
|
# 3 for partition 3
|
||||||
|
# 11 for Microsoft basic data
|
||||||
|
# n for new partition
|
||||||
|
# 4 for partition 4
|
||||||
|
# 278528 for first sector
|
||||||
|
# <enter> for last sector (max size)
|
||||||
|
# w for write and exit
|
||||||
|
|
||||||
|
# format the thing:
|
||||||
|
mkfs.vfat /dev/nvme0n1p3
|
||||||
|
mkfs.ext4 /dev/nvme0n1p4
|
||||||
|
|
||||||
|
# set the time or tar complains:
|
||||||
|
date -u --set="20210602 12:00:00"
|
||||||
|
|
||||||
|
# mount up
|
||||||
|
mount /dev/nvme0n1p4 /mnt
|
||||||
|
cd /mnt
|
||||||
|
tar xf ~/unmatched-root.tar
|
||||||
|
mv unmatched-root/*
|
||||||
|
rmdir unmatched-root
|
||||||
|
cd
|
||||||
|
vim etc/shadow
|
||||||
|
vim etc/hostname
|
||||||
|
umount /mnt
|
||||||
|
fsck /dev/nvme0n1p4
|
||||||
|
|
||||||
|
# XXX CRYPTSETUP
|
||||||
|
# XXX hostname
|
||||||
|
# XXX root password
|
||||||
|
sed -i -e 's/root:\*/root:/g' /run/media/nvme0n1p4/etc/shadow
|
||||||
|
# XXX dd sda1 sda2 onto nvme
|
||||||
|
apt install dialog
|
||||||
|
```
|
||||||
|
## Edit /boot/extlinux/extlinux.conf
|
||||||
|
default debian
|
||||||
|
label debian
|
||||||
|
menu label debian
|
||||||
|
kernel /Image.gz
|
||||||
|
fdt /hifive-unmatched-a00.dtb
|
||||||
|
append earlyprintk rw root=/dev/nvme0n1p4 rootfstype=ext4 rootwait console=ttySIF0,115200 earlycon
|
||||||
|
|
||||||
|
#
|
||||||
|
umount /boot/
|
||||||
|
fsck /dev/mmcblk0p3
|
||||||
|
|
||||||
|
poweroff
|
||||||
|
|
||||||
|
```
|
Loading…
Reference in new issue