# Installing SkyVision GNU/Linux 1.0 "Firstborn"

SkyVision GNU/Linux 1.0 "Firstborn" is a UEFI-bootable x86_64 Live ISO with an Xfce desktop, a SkyVision kernel, a text installer, and a signed SkyVision APT repository.

Tagline:

> A Linux you can read, from the first line up.

---

## 1. Requirements

You need:

- An x86_64 computer with UEFI firmware.
- A USB drive or TF card for the Live installer media.
- A target disk for installation.
- An internet connection is recommended.

The current release is intended for UEFI boot. Legacy BIOS boot is not the main supported path for 1.0.

---

## 2. Release artifact

The main ISO file is:

```text
skyvision-1.0-xfce-x86_64.iso
```

The checksum file is:

```text
SHA256SUMS
```

Verify the ISO before flashing it:

```sh
sha256sum -c SHA256SUMS
```

Expected result:

```text
skyvision-1.0-xfce-x86_64.iso: OK
```

---

## 3. Create boot media

You can write the ISO to a USB drive or TF card using one of these tools:

- BalenaEtcher
- GNOME Disks
- Raspberry Pi Imager
- `dd`

### Option A: BalenaEtcher

1. Open BalenaEtcher.
2. Select `skyvision-1.0-xfce-x86_64.iso`.
3. Select the USB drive or TF card.
4. Flash the image.
5. Safely eject the device.

### Option B: `dd`

First identify the target USB or TF card device:

```sh
lsblk
```

Then write the ISO:

```sh
sudo dd if=skyvision-1.0-xfce-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
```

Replace `/dev/sdX` with your actual USB or TF card device.

WARNING: `dd` will erase the selected target device. Make sure the device name is correct.

---

## 4. Boot SkyVision Live

Insert the USB drive or TF card into the target computer.

Open the machine's boot menu and choose the UEFI entry for the USB drive or TF card.

In the SkyVision boot menu, choose:

```text
SkyVision GNU/Linux 1.0 Firstborn
```

This is the public SkyVision GNU/Linux 1.0 "Firstborn" release artifact.

After booting, the Xfce desktop should appear.

---

## 5. Install SkyVision to disk

Open a terminal in the Live system.

List available disks:

```sh
lsblk
```

Choose the target disk carefully.

In QEMU, the target disk is usually:

```text
/dev/vda
```

On physical hardware, the target disk may be something like:

```text
/dev/sda
/dev/nvme0n1
/dev/mmcblk0
```

Run the installer:

```sh
sudo skyvision-installer /dev/vda
```

Replace `/dev/vda` with your actual target disk.

WARNING: The installer erases the selected target disk.

The installer creates:

- A GPT partition table.
- An EFI System Partition.
- An ext4 root partition.
- A GRUB EFI bootloader.
- A removable EFI fallback boot path.

When the installer finishes, shut down the system, remove the USB drive or TF card, and boot from the installed disk.

---

## 6. Verify the installed system

After booting from the installed disk, open a terminal and run:

```sh
findmnt /
findmnt /boot/efi
uname -r
```

Expected layout:

```text
/          mounted from the root ext4 partition
/boot/efi  mounted from the EFI System Partition
```

Expected kernel:

```text
6.18.35-skyvision
```

Check SkyVision release metadata:

```sh
cat /usr/share/skyvision/release-info
```

Expected release information includes:

```text
NAME="SkyVision GNU/Linux"
VERSION="1.0"
CODENAME="Firstborn"
PRETTY_NAME="SkyVision GNU/Linux 1.0 Firstborn"
APT_REPOSITORY="https://longervision.us/skyvision"
APT_SIGNING="signed-by=/usr/share/keyrings/skyvision-archive-keyring.gpg"
```

Check the SkyVision APT source:

```sh
cat /etc/apt/sources.list.d/skyvision.list
```

Expected source:

```text
deb [signed-by=/usr/share/keyrings/skyvision-archive-keyring.gpg] https://longervision.us/skyvision trixie main
```

Check that the archive keyring exists:

```sh
ls -l /usr/share/keyrings/skyvision-archive-keyring.gpg
```

Check that the installer is installed:

```sh
which skyvision-installer
```

Expected result:

```text
/usr/sbin/skyvision-installer
```

Test APT:

```sh
sudo apt update
```

There should be no SkyVision repository signature error.

---

## 7. Included SkyVision packages

This release includes:

```text
SkyVision release identity package
SkyVision archive keyring package
SkyVision text installer package
```

Check them with:

```sh
dpkg -l | grep -E "skyvision-release|skyvision-archive-keyring|skyvision-installer"
```

---

## 8. Known non-blocking boot warnings

The following warnings may appear in QEMU and are currently considered non-blocking:

```text
x86 CPU feature dependency warning
systemd AF_VSOCK warning
BPF object warning
pcspkr already registered warning
```

These warnings do not prevent the system from booting, installing, or using the signed SkyVision APT repository.

---

## 9. Notes for the 1.0 "Firstborn" release

The public 1.0 release artifact is named:

```text
skyvision-1.0-xfce-x86_64.iso
```

This release is the final SkyVision GNU/Linux 1.0 "Firstborn" build.

That means the boot menu and release metadata may still mention:

```text
SkyVision GNU/Linux 1.0 Firstborn
```

This is expected for the 1.0 "Firstborn" release candidate path.

The important verified properties are:

- The Live ISO boots.
- The installed system boots.
- The SkyVision kernel works.
- The installer creates the EFI and root partitions correctly.
- The SkyVision APT repository is signed and verified with `skyvision-archive-keyring`.
- The installed system can run `sudo apt update` without SkyVision signature errors.

---

## 10. Emergency recovery notes

If the installed system does not boot, check:

1. The machine is booting in UEFI mode.
2. Secure Boot is disabled.
3. The installed disk has an EFI System Partition.
4. The firmware boot menu contains a SkyVision or removable EFI entry.
5. The fallback path exists:

```text
/boot/efi/EFI/BOOT/BOOTX64.EFI
```

If APT reports a SkyVision signature error, verify:

```sh
cat /etc/apt/sources.list.d/skyvision.list
ls -l /usr/share/keyrings/skyvision-archive-keyring.gpg
sudo apt update
```

The SkyVision source should use `signed-by`, not `trusted=yes`.

---

## 11. Project identity

Project:

```text
SkyVision GNU/Linux 1.0 "Firstborn"
```

Tagline:

```text
A Linux you can read, from the first line up.
```

Website and repository:

```text
https://longervision.us/skyvision
```
