Skip to content

Commit

Permalink
Devel (#416)
Browse files Browse the repository at this point in the history
* proviamo rocky

* eggs_lsb_release

* tolto lsb_release debian e fedora

* added rockylinux

* almalinux

* almalinux e rocklinux

* overlayfs-tools, dmraid

* aggiunta crb

* rimesso lsb-release

* added almalinux, rockylinux

* ritocchi

* OK Prerequisites edited

* selinux disabled almalinux, rockylinux
  • Loading branch information
pieroproietti authored Nov 3, 2024
1 parent 004088b commit a1c45c6
Show file tree
Hide file tree
Showing 16 changed files with 3,672 additions and 4,235 deletions.
59 changes: 59 additions & 0 deletions PREREQUISITES/almalinux/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# AlmaLinux

We start from the `AlmaLinux-9.4-x86_64-minimal.iso` image, which is 1,9G, and go to install AlmaLinux choosing minimun installation, set root password and user.

On `Software selection` select "minimun installation" and confirm with button "Done" up on right.

Then on `Installation destination` select the disk. I used a 32G disk, choose the third option advanced custom, then press "Done". On the GUI disk partition, create a minimal partition - just 1M - type `bootBIOS`, then add the remain space to a / partition format ext4. Press "Done" again and accept changes.

We can create user `artisan` and choose a password and press "Done" to finish.

At this point the button "Begin installation" bottom right is enabled, press it to confirm.

The installation will start, is not exactly short. At the end will be enabled a buttom on bottom right to reboot.

> [!NOTE]
> This is tested just on BIOS, under a VM on Proxmox VE.
## rename host
Our installed system is not named now, we can name it, I use in case of CLI minimun system the name `naked`.

```
sudo nano /etc/hostname
```

then, add a line:
```
127.0.1.1 naked
```
to `\etc\hosts`.

## Disable selinux
Edit `/etc/selinux/config` and replace `SELINUX=enforced` with `SELINUX=disabled`.

## reboot
reboot.

## install eggs
First we clone penguins-eggs repository.

```
git clone https://github.com/pieroproietti/penguins-eggs
```

Then we install prerequisites:
```
cd ~/penguins-eggs/PREREQUISITES/almalinux
sudo ./install.sh
```
At this point, we transpile and install penguins-eggs:
```
cd ~/penguins-eggs
pnpm i
./install-eggs-dev
```
## Create our first image

When finish, we can just run: ```eggs love``` and build our first fedora naked ISO.

It's installable and reproductive: once installed you can produce a live system from your installed one, just running: `eggs love`.
65 changes: 65 additions & 0 deletions PREREQUISITES/almalinux/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/bin/bash

# This script installs prerequisites for penguins-eggs
# on fedora linux, it is intended for development purposes

# check if we are root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi

# check if we are on fedora
if [ ! -f /etc/almalinux-release ]; then
echo "This script is intended for almalinux only"
exit 1
fi

# add epel-release
dnf install epel-release

# enable crb
dnf config-manager --set-enabled crb

# update
dnf -y update


dnf -y install \
bash-completion \
cryptsetup \
curl \
device-mapper \
dosfstools \
dracut \
dracut-live \
fuse \
git \
grub2-tools-extra \
jq \
lsb-release \
lvm2 \
nodejs \
npm \
nvme-cli \
parted \
rsync \
squashfs-tools \
wget \
xdg-user-dirs \
sshfs \
xorriso \
zstd

# install pnpm
npm i pnpm@8 -g

# mkdir /usr/share/icons
mkdir -p /usr/share/icons

# disable selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# we lacks
# overlayfs-tools
# dmraid
2 changes: 1 addition & 1 deletion PREREQUISITES/alpine/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ git clone https://github.com/pieroproietti/penguins-eggs

## Install prerequisites
```
doas penguins-eggs/DOCS/NAKED/alpine/install-prerequisites.sh
doas penguins-eggs/PREREQUISITES/alpine/install.sh
```
## Install penguins-eggs
Expand Down
2 changes: 1 addition & 1 deletion PREREQUISITES/arch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ And as with Debian, it can be useful to use this during development.
We start from a recent `archlinux-yyyy.mm.dd-x86_64.iso` image and just install it using `archinstall` or old style way.

## reboot
After reboot just run `sudo ./install-prerequisits.sh`, then after finish, con in the main folder `~/penguins-eggs` and run `./install-eggs-dev.sh`.
After reboot just run `sudo ./PREREQUISITES/install.sh`, then after finish, con in the main folder `~/penguins-eggs` and run `./install-eggs-dev.sh`.

That's all!

Expand Down
2 changes: 1 addition & 1 deletion PREREQUISITES/debian/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Hhowever, it is possible to install and use eggs in this way, and in some cases,
We start from a recent `debian-12.6.x-amd64-netinst.iso` image and just install it at minimum delecting all, except standard sysstem utilies.

## reboot
After reboot just run `sudo ./install-prerequisits.sh`, then after finish, con in the main folder `~/penguins-eggs` and run `./install-eggs-dev.sh`.
After reboot just run `sudo ./PREREQUISITES/install.sh`, then after finish, con in the main folder `~/penguins-eggs` and run `./install-eggs-dev.sh`.

That's all!

Expand Down
4 changes: 2 additions & 2 deletions PREREQUISITES/fedora/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ git clone https://github.com/pieroproietti/penguins-eggs

Then we install prerequisites:
```
cd ~/penguins-eggs/fedora
sudo ./install-prerequisites.sh
cd ~/penguins-eggs/PREREQUISITES/fedora
sudo ./install.sh
```
At this point, we transpile and install penguins-eggs:
```
Expand Down
1 change: 0 additions & 1 deletion PREREQUISITES/fedora/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ dnf -y install \
git \
grub2-tools-extra \
jq \
lsb-release \
lvm2 \
nodejs \
npm \
Expand Down
4 changes: 2 additions & 2 deletions PREREQUISITES/opensuse/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ I used `openSUSE-Tumbleweed-DVD-x86_64-Snapshot20240820-Media.iso` minimal insta

After completed installation, just reboot, clone penguins-eggs,

`cd penguins-eggs/NAKED-FARMS/opensudo`
`cd penguins-eggs/PREREQUISITES/opensudo`

`sudo ./install-prerequisites.sh`
`sudo ./PREREQUISITES/install.sh`

then after finish, con in the main folder `~/penguins-eggs` and run `./install-eggs-dev.sh`.

Expand Down
61 changes: 61 additions & 0 deletions PREREQUISITES/rockylinux/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Fedora naked

We start from the `Rocky-9.4-x86_64-minimal.iso` image, which is 1,7G, and go to install RockyLinux choosing minimun installation, set root password and user.

On `Software selection` select "minimun installation" and confirm with button "Done" up on right.

Then on `Installation destination` select the disk. I used a 32G disk, choose the third option advanced custom, then press "Done". On the GUI disk partition, create a minimal partition - just 1M - type `bootBIOS`, then add the remain space to a / partition format ext4. Press "Done" again and accept changes.

We can create user `artisan` and choose a password and press "Done" to finish.

At this point the button "Begin installation" bottom right is enabled, press it to confirm.

The installation will start, is not exactly short. At the end will be enabled a buttom on bottom right to reboot.

> [!NOTE]
> This is tested just on BIOS, under a VM on Proxmox VE.
## rename host
Our installed system is not named now, we can name it, I use in case of CLI minimun system the name `naked`.

```
sudo nano /etc/hostname
```

then, add a line:
```
127.0.1.1 naked
```
to `\etc\hosts`.

## Disable selinux
Edit `/etc/selinux/config` and replace `SELINUX=enforced` with `SELINUX=disabled`.

## reboot
reboot.

## install eggs
First we clone penguins-eggs repository.

```
git clone https://github.com/pieroproietti/penguins-eggs
```

Then we install prerequisites:
```
cd ~/penguins-eggs/PREREQUISITES/rockylinux
sudo ./install.sh
```
At this point, we transpile and install penguins-eggs:
```
cd ~/penguins-eggs
pnpm i
./install-eggs-dev
```
## Create our first image

When finish, we can just run: ```eggs love``` and build our first fedora naked ISO.

It's installable and reproductive: once installed you can produce a live system from your installed one, just running: `eggs love`.


67 changes: 67 additions & 0 deletions PREREQUISITES/rockylinux/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/bin/bash

# This script installs prerequisites for penguins-eggs
# on fedora linux, it is intended for development purposes

# check if we are root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi

# check if we are on fedora
if [ ! -f /etc/rocky-release ]; then
echo "This script is intended for rocky linux only"
exit 1
fi

# add epel-release
dnf install epel-release

# enable crb
dnf config-manager --set-enabled crb

# update
dnf -y update

# enable crb
dnf config-manager --set-enabled crb

dnf -y install \
bash-completion \
cryptsetup \
curl \
device-mapper \
dosfstools \
dracut \
dracut-live \
fuse \
git \
grub2-tools-extra \
jq \
lsb-release \
lvm2 \
nodejs \
npm \
nvme-cli \
parted \
rsync \
sshfs \
squashfs-tools \
wget \
xdg-user-dirs \
xorriso \
zstd

# install pnpm
npm i pnpm@8 -g

# mkdir /usr/share/icons
mkdir -p /usr/share/icons

# disable selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# we lacks
# overlayfs-tools
# dmraid
2 changes: 1 addition & 1 deletion PREREQUISITES/ubuntu/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

We start with `ubuntu-24.04.1-live-server-amd64.iso` our `prerequisites.sh` is the same as for Debian, plus we remove two packages for server: cloud-init and needrestart.

All you must to do is run `sudo ./penguins-eggs/NAKED-FARMS/ubunu/prerequisites.sh` then `./penguins-eggs/install-eggs-dev.sh`.
All you must to do is run `sudo ./penguins-eggs/PREREQUISITES/ubuntu/install.sh` then `./penguins-eggs/install-eggs-dev.sh`.



Expand Down
Loading

0 comments on commit a1c45c6

Please sign in to comment.