Getting started
Find current images of the supersilverhaze
release branch at https://repo.distr1.org/distri/supersilverhaze/img/.
With all images, use the root
account, password peace
, to log in.
TIP: If you can, use BitTorrent—repo.distr1.org is located in Europe, so transfers to other continents may be slow.
magnet link: supersilverhaze/img/distri-disk.img.zst
magnet link: supersilverhaze/img/distri-qemu-serial.img.zst
Run distri on real hardware
The easiest way to run distri on real hardware is to install it onto a spare USB memory stick.
Obtain a stable path to your USB memory stick by watching /dev/disk/by-id
while inserting the stick:
% watch -dg ls '/dev/disk/by-id/*'
Then, copy the distri-disk.img
image onto the memory stick:
dd if=distri-disk.img of=/dev/disk/by-id/usb-SanDisk_Extreme_Pro_D99B-0:0 bs=1M status=progress oflag=direct
Insert the memory stick into a computer and select the memory stick as boot device.
Run distri in Docker
NOTE: As a heads-up, the docker container image is pretty large
- (If you’d rather use a local docker container, build it locally:
distri pack -docker | docker import - distri
). - Then, run bash within the distri docker container:
docker run \
--privileged \
--entrypoint /entrypoint \
-ti \
-e TERM=$TERM \
distr1/distri:supersilverhaze
Run distri in qemu
Depending on what you want to test, the text-only serial interface might be a bit more convenient: it side-steps keyboard configuration mismatches and makes it easily to run distri remotely via an SSH session:
make qemu-serial DISKIMG=distri-qemu-serial.img
(You can exit by pressing Ctrl-a x
)
If you want or need a graphical interface, use the qemu-graphic
target with the standard distri-disk.img
image:
make qemu-graphic DISKIMG=distri-disk.img
Run distri in virtualbox
-
Convert the distri disk image into a VDI disk image so that virtualbox can use it as a root disk:
vbox-img convert \ --srcfilename distri-disk.img \ --dstfilename vbox-distri.vdi \ --srcformat RAW \ --dstformat VDI
-
Create a new VM:
- click new button
- select type linux
- select version other linux (64-bit)
- select the VDI disk image from step 1 as existing disk
Run distri on Google Cloud
TIP: The instructions below create a VM in the US so that it qualifies for GCP’s Free Tier. If you’re willing to pay the cost, creating the VM in Europe will result in faster installation. Also consider using the faster machine type n1-standard-1
over f1-micro
.
- (If you’d rather use your own Google Cloud Storage bucket, import the
distri-gce.tar.gz
image into your Google Cloud Storage:gsutil cp distri-gce.tar.gz gs://distri-gce
.) - Create a Compute Engine Image:
gcloud compute images create distri0 --source-uri gs://distri-gce/distri-supersilverhaze-gce.tar.gz
- Create VM using that image:
gcloud compute instances create instance-1 --zone us-east1-b --machine-type=f1-micro --image=distri0 --metadata serial-port-enable=1
- Log in via the serial console and set up an authorized SSH key.
Run distri in LXD
See https://linuxcontainers.org/ for details on LXD, the latest LXC experience.
-
Loop-mount the root partition of the distri disk image:
udisksctl loop-setup -f distri-disk.img mount /dev/loop0p4 /mnt/distri
-
Archive the root file system:
tar -C /mnt/distri -caf distri-rootfs.tar . umount /mnt/distri udisksctl loop-delete -b /dev/loop0
-
Create an archive containing the
metadata.yaml
file for LXC:cat > metadata.yaml << EOF architecture: x86_64 creation_date: 1589438963 properties: description: distri os: distri release: distri supersilverhaze templates: EOF tar -caf metadata.yaml.tar metadata.yaml
-
Import the image:
lxc image import metadata.yaml.tar distri-rootfs.tar --alias distri
-
Create an LXC container using the image:
lxc init distri distri-01 lxc config set distri-01 raw.lxc lxc.init.cmd=/init
-
Start the container and run a shell in it:
lxc start distri-01 lxc exec distri-01 bash
© 2018 Michael Stapelberg and contributors