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