I decided to buy something quite large since my workstations are aging and I wanted to build stuff quickly.
I decided to buy a AMPONED8-2T/BCM with a nice 128-cores CPU and a bit of RAM.
It took a bit for the people at https://www.mifcom.de/ to source all the components, but eventually I got it.
Initial Setup
The board comes with a very pretty BMC so all you need is to connect the management one (or any since they are bonded by default) and let the dhcp get an ip and then feed it to your browser.
Since I'm using Gentoo the boot media just worked, you may feed it directly from the Remote KVM
And just boot it from the browser
Then the process is the usual one
Partition and untar
| Partition | Mount point | Filesystem | Recommended size | label |
|---|---|---|---|---|
| p1 | /boot/efi | vfat | 1 GiB | EF00 |
| p2 | / | btrfs | 500+ GiB | 8300 |
| p3 | /home | btrfs | 500+ GiB | 8302 |
mkfs.vfat -n EFI /dev/nvme0n1p1
mkdir /mnt/btrfs
mkfs.btrfs -L root --checksum xxhash /dev/nvme0n1p2
mount /dev/nvme0n1p2 /mnt/btrfs
btrfs subvolume create /mnt/btrfs/@
btrfs subvolume create /mnt/btrfs/@repos
btrfs subvolume create /mnt/btrfs/@snapshots
btrfs subvolume create /mnt/btrfs/@var_log
btrfs subvolume create /mnt/btrfs/@containers
umount /mnt/btrfs
mount -o subvol=@ /dev/nvme0n1p2 /mnt/gentoo
mkdir -p /mnt/gentoo/{.snapshots,var/{db/repos,log},var/lib/containers}
mount -o subvol=@snapshots /dev/nvme0n1p2 /mnt/gentoo/.snapshots
mount -o subvol=@repos /dev/nvme0n1p2 /mnt/gentoo/var/db/repos
mount -o subvol=@var_logs /dev/nvme0n1p2 /mnt/gentoo/var/log
mount -o subvol=@containers /dev/nvme0n1p2 /mnt/gentoo/var/lib/containers
cd /mnt/gentoo
wget {stage3}
tar -xpf {stage3}
Enter the stage
Usual chroot
# Mount special filesystems
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
# copy the nameservers already present
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
# Enter the chroot
env -i \
HOME=/root \
TERM="$TERM" \
PS1="(chroot) $PS1" \
chroot /mnt/gentoo /bin/bash --login
# Inside chroot now:
source /etc/profile
export PS1="(chroot) ${PS1}"
Initial bits to set up
emerge --sync
getuto
# Install your favourite editor, even from the binhost
emerge -G vim
# do your changes
vim /etc/portage/make.conf
# minimal and simple setup to to boot
emerge gentoo-sources grub dracut
eselect kernel set 1
cd /usr/src/linux
# the default config works well enough
zcat /proc/config.gz > .config
make olddefconfig
# add what you need for e.g. docker or lxd
make menuconfig
make -j 128 && make -j128 modules && make modules_install && make install
# set up your user
emerge supeadduser
superadduser
# set up ssh
emerge openssh metalog
rc-update add sshd
rc-update add metalog
All considered the whole process was quite uneventful and took literally minutes to then build additional toolchains and start doing some tests.
qlop -c | egrep 'llvm|rust'
app-eselect/eselect-rust: 2′38″ average for 1 merge
dev-lang/rust: 15′19″ average for 1 merge
dev-lang/rust-bin: 13′21″ average for 2 merges
dev-lang/rust-common: 42s average for 1 merge
dev-util/rustup: 1′42″ average for 1 merge
llvm-core/clang: 4′21″ average for 2 merges
llvm-core/clang-common: 12s average for 2 merges
llvm-core/clang-linker-config: 5′53″ average for 2 merges
llvm-core/clang-toolchain-symlinks: 5s average for 2 merges
llvm-core/llvm: 9′05″ average for 2 merges
llvm-core/llvm-common: 2′41″ average for 1 merge
llvm-core/llvm-toolchain-symlinks: 11s average for 2 merges
llvm-core/llvmgold: 7s average for 2 merges
llvm-runtimes/clang-rtlib-config: 5′54″ average for 2 merges
llvm-runtimes/clang-runtime: 6s average for 2 merges
llvm-runtimes/clang-stdlib-config: 5′56″ average for 2 merges
llvm-runtimes/clang-unwindlib-config: 5′58″ average for 2 merges
llvm-runtimes/compiler-rt: 26s average for 2 merges
llvm-runtimes/compiler-rt-sanitizers: 37s average for 2 merges
llvm-runtimes/openmp: 6′10″ average for 2 merges



Top comments (0)