Cos’è un boot manager

A differenza del boot loader, che appunto carica il kernel dalla memoria secondaria alla primaria, il boot manager è il programma che decide quale kernel caricare in caso di più sistemi operativi installati sullo stesso computer.

Due esempi di boot manager sono GNU GRUB e rEFInd.

Screenshot di rEFInd con la scelta tra Arch, Windows e Mac

Cos’è GRUB

Dopo aver visto cos’è rEFInd non poteva mancare il popolarissimo GNU GRUB che, se probabilmente siete qui, avete sempre trovato installato sul vostro computer con sistemi operativi Linux o Windows.

È anche questo un boot manager (qui la definizione di boot loader) che serve quindi per selezionare il kernel da caricare all’avvio del vostro PC.

Screenshot di GRUB con Ubuntu installato

La documentazione potete trovarla nel sito web ufficiale:

http://www.gnu.org/software/grub/

Viene installato automaticamente su quasi tutti i sistemi Linux ed è di facile configurazione perché identifica in automatico i kernel installati e ne crea un file di configurazione.

Qual è la differenza tra UEFI e BIOS

Il BIOS è il primo programma che viene eseguito da un computer quando viene alimentato e inizializza tutte le periferiche di input e output (deriva da questo il nome BIOS: Basic Input/Output System) facendo dei test e caricando il boot loader.

UEFI invece, sigla per Unified Extensible Firmware Interface, diciamo che “è la versione dopo” che arriva per sostituisce il BIOS e in più supporta anche la diagnostica e la riparazione remota. Viene oramai utilizzato in quasi tutti i sistemi Linux, Mac e Windows.

Anche qui potete approfondire sul termine EFI o UEFI sul sito di Intel:

https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html

Cos’è un boot loader

Il bootloader è un programma che viene eseguito subito dopo aver dato corrente a un computer (o qualunque dispositivo che deve caricare un sistema operativo) e ha il compito di caricare il kernel dalla memoria secondaria (SSD o hard disk che sia) alla primaria (RAM).

Per una lettura più approfondita vi consiglio la pagina di Wikipedia in inglese che tratta molto approfonditamente la questione: https://en.wikipedia.org/wiki/Booting#First-stage_boot_loader

Come creare una pendrive bootable

Detto anche bootabile (pronunciato proprio buttabile) in italiano, quindi che fa il boot.

Viene in nostro supporto il buon e caro Etcher, un’utility veloce e intuitiva che vi permette di scrivere su supporti esterni, quali ssd, pendrive o schede di memoria SD, dei sistemi operativi in modo molto user friendly.

Il software è molto semplice, vi basterà trascinare la .iso o il file .img, selezionare il supporto sui cui scrivere (fate attenzione che vi cancellerà tutto quello che avete sopra) e cliccare su Flash!.

È davvero così banale! Comodo no?

Come gestire Homebridge con systemd

Se volete gestire Homebridge come servizio e far si che a ogni riavvio venga gestito direttamente dal sistema operativo, senza il supporto di screen come vi avevo fatto vedere qua, seguite questa semplice guida!

Prima di tutto trovate il percorso di Homebridge con:

which homebridge

Poi modificate sudo nano /etc/default/homebridge e incollate:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

Poi sudo nano /etc/systemd/system/homebridge.service e incollate (cambiando ad ExecStart il percorso che avete trovato precedentemente con il which:

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Ora create le cartelle con i permessi giusti e abilitate il servizio:

sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge

sudo chmod -R 0777 /var/homebridge
sudo useradd --system homebridge
sudo chown -R homebridge:homebridge /var/homebridge

sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo service homebridge start

E controllate se funziona con: sudo service homebridge status.

Fonte: https://timleland.com/setup-homebridge-to-start-on-bootup/