Installa Gentoo in VirtualBox

Installa Gentoo in VirtualBox

Installazione di Gentoo come VM VirtualBox

Gentoo è una delle distribuzioni più esoteriche là fuori. Offre personalizzabilità a spese della facilità d'uso. Tuttavia, fa luce sul funzionamento interno di un'installazione Linux. Sperimentarsi con un ambiente Gentoo all'interno di una VM è probabilmente un ottimo modo per iniziare a conoscere i sistemi operativi in ​​generale.

Passiamo attraverso un processo passo-passo di installazione del sistema operativo di base insieme alla spiegazione dietro ogni passo.

Ottenere il giusto supporto di installazione

Il modo più semplice per installare Gentoo è usare l'ISO ibrido (LIVEDVD). Ciò significa che l'immagine del disco può essere utilizzata per l'installazione del sistema operativo su un altro disco o può essere utilizzata come ambiente live per avviare per scopi diagnostici.

Puoi ottenere il file di immagine qui. Scegli quello che appartiene alla tua piattaforma hardware. I processori Intel e AMD moderni di solito offrono architettura AMD64.

Successivamente è necessario creare una VM su VirtualBox. Apri VirtualBox e fai clic sul pulsante che dice "Nuovo" Ora puoi inserire il nome della VM e selezionare "Digita" come Linux e "Versione" come Gentoo a 64 bit.

Imposta la dimensione della memoria su 2048 MB, quindi fai clic su "Crea" per procedere con la creazione del disco rigido virtuale.

I valori predefiniti funzionerebbero bene in questo caso (anche se lavoreremo con 32 GB di spazio su disco anziché 8 GB) e ora puoi fare clic su "Crea" un'ultima volta per finalizzare i dettagli.

Ora seleziona la VM appena creata da VirtualBox Dashboard e ti verrà richiesto un disco di avvio. Fai clic sull'icona del file accanto ad esso e nell'esploratore di file che si apre dopo che naviga nel file ISO di Gentoo LiveCD che hai scaricato in precedenza.

Una volta avviata la VM, vedrai il menu di avvio con le seguenti opzioni:

La selezione di x86_64 è l'opzione più appropriata in questo caso.

Dopodiché verrai accolto con una schermata di accesso con l'utente di Gentoo predefinito, fai clic su Accedi senza immettere alcuna password (come indicato nello screenshot seguente).

Ora sei tecnicamente all'interno di un sistema operativo Gentoo. Tuttavia, questo è un media live, il che significa che non puoi usarlo come sistema installato nel disco rigido (virtuale). Ma puoi usare questo ambiente per installare Gentoo sul tuo disco rigido virtuale.

Partizionando il disco rigido virtuale

IL .VDI disco che abbiamo creato in precedenza è solo un disco grezzo a questo punto, collegato alla macchina virtuale e la VM stessa sta eseguendo i media di Gentoo Live. Ora per installare l'ambiente Gentoo su questo disco in modo che possa avviare se stesso, dovremmo fare diverse cose.

  1. Rendi l'avvio del disco.
  2. Formattare il disco con un filesystem
  3. Installa l'immagine di base Gentoo sul filesystem root.

Per realizzare il primo compito dobbiamo solo fare 4 partizioni delle seguenti dimensioni e preferibilmente nel seguente ordine.

  1. Partizione bootloader per Grub: 50 MB di dimensioni
  2. Avvio della partizione formattata EXT4: 500 MB di dimensioni
  3. Partizione di scambio per il file di swap: 2000 MB di dimensioni
  4. Partizione radice per il sistema operativo principale e i binari correlati per risiedere. Formattato con il filesystem EXT4 e prenderà la maggioranza rimanente dello spazio del disco virtuale.

Per fare le partizioni dobbiamo prima ottenere il nome del disco virtuale allegato al sistema. Open Terminal (Konsole) ed esegui sudo -i Per diventare utente root e quindi eseguire lsblk Per elencare tutti i dispositivi di archiviazione a blocchi.Il nome del dispositivo nel nostro caso è SDA SDA ed è di dimensioni 32 GB. Successivamente dobbiamo inserire l'utilità separata per suddividere questo disco. Per farlo correre, come root:

$ separati -a ottimale /dev /sda

Ora siamo nella CLI dell'utilità separata, iniziamo elencando tutte le partizioni digitando la stampa:

E riceviamo un messaggio di errore che dice che il disco non è riconosciuto. Questo è prevedibile poiché il processo di installazione con Gentoo non è automatizzato, è possibile configurare manualmente ogni piccolo dettaglio, inclusi i dettagli di partizionamento per il tuo sistema di base. Per prima cosa, diamo al nostro disco un'etichetta adeguata.

(separato) Mklabel GPT

Le etichette GPT sono essenziali per identificare in modo univoco un dispositivo anche dopo, per esempio, il riavvio del sistema e il dispositivo è collegato in una porta diversa Questa etichetta sarà responsabile di dire al sistema operativo che il disco ha appena cambiato le porte SATA ma sono ancora gli stessi dati e formato come prima.

Partizione Il disco eseguendo i seguenti comandi (righe che iniziano con il simbolo '#' sono commenti per spiegare il comando sopra di loro):

(separato) Unità MB
#Setta l'unità a Megabytes
(separato) MKPart Primary 1 20
#Make una partizione primaria a partire da 1 megabyte al 20 ° posto per il BIOS
(separato) MkPart Primary 21 500
#Partition /boot filesystem
(separato) MkPart Primary 501 2500
#Partizione di dimensioni 2000 MB realizzati per lo scambio
(separato) MKPart Primary 2501 -1
#Partizione per il filesystem /(root). -1 lo indica
#questa partizione passa alla fine del disco.

Puoi vedere che ogni partizione ha un numero ed è del tipo primario. Tuttavia, non sono formattati con un particolare file system o hanno nomi d'uso forniti o flag impostato loro. Facciamolo.

(separato) Nome 1 Grub
(separato) Imposta 1 bios_grub su
#La partizione numero 1 ha il suo flag BIOS_GRUB impostato su uno
#e viene dato un nome appropriato.
(separato) Nome 2 avvio
(separato) Nome 3 scambio
(separato) Nome 4 radice
(separato) smettila

Dopo aver impostato i nomi appropriati su tutte le 4 partizioni e 1 flag BIOS_GRUB nella prima partizione, abbiamo lasciato l'utilità separata. Ora passiamo alla formattazione delle partizioni con un filesystem appropriato nella nostra solita shell bash (ancora come utente root) eseguendo prima il seguente comando:

$ lsblk
#Elencare tutte le partizioni e controllare i nomi dei nodi del dispositivo

Puoi vedere che lo schema di partizionamento ha etichettato la prima partizione SDA1 che corrisponde alla partizione di Grub e così via e così via SDA4. I dispositivi sono presenti nella directory /dev come /dev /sda1, /dev /sda2 e così via.

Per formattarli di conseguenza, eseguire i comandi:

$ mkfs.ext4 /dev /sda2
$ mkfs.ext4 /dev /sda4
$ mkswap /dev /sda3
$ swapon /dev /sda3

Ora possiamo montare queste partizioni nell'attuale ambiente live in modo che tutte le operazioni necessarie come la costruzione del kernel possano essere eseguite lì e conservate in modo persistente.

$ mount /dev /sda4 /mnt /geroo
$ mkdir/mnt/genteo/boot
$ mount/dev/sda2/mnt/genteo/boot

La nostra partizione di root sarebbe montata su/mnt/Gentoo dell'attuale ambiente LiveCD e allo stesso modo la nostra partizione di avvio è montata su/mnt/genteo/boot.

Ottenere Tarball e usare Chroot

Ora che abbiamo il nostro disco preparato per noi, è tempo per noi di ottenere il codice sorgente di Tarball di Gentoo e posizionarlo lì dentro. Nell'ambiente CD live, apri il browser Apri questo link e fai clic sugli archivi di stadio3 nella sezione AMD64 nella parte superiore della pagina.

Una volta completato il download, copia il tarball sul /MNT/Gentoo directory ed estratto è il contenuto lì dentro.

$ CP/Home/Gentoo/Downloads/MNT/GENOO
$ TAR XPF Stage3-*.catrame.xz --xatts-Include = '*.*'
--proprietario numerico

Nel secondo comando, l'utilità del catrame viene utilizzata per disprezzare il tarball. XPF dice al comando catrame che vogliamo X estratto, P preservare le autorizzazioni sui file e F Per implicare che stiamo estraendo file e non input standard.

L'estensione del file potrebbe non essere catrame.xz nel tuo caso. Osserva il nome del tuo file di tarball e digita di conseguenza.

IL --Xatts-Include Parte del comando preserva gli attributi (leggi, scrivi ed esegui) di singoli file

E il --proprietario numerico garantisce un numero di ID di gruppo e utente approvato dalla Convenzione Gentoo per una configurazione tipica.

Se vedi i contenuti che verrebbero estratti nel tuo /MNT/Gentoo directory assomigliano a un tipico ambiente di root unix con la directory come /etc /sbin, eccetera. L'idea alla base di questo è che, una volta che vengono estratti tutti i file necessari per un ambiente Gentoo funzionante, cambieremo la nostra directory di radice /MNT/GentooUsa strumenti e pacchetti per configurarlo. Il gestore dei pacchetti apporterebbe modifiche al / directory ma sarebbe ingannato a apportare modifiche /MNT/Gentoo directory invece.

Dal momento che la nostra partizione di root sarebbe montata su questa directory, tutte le modifiche sarebbero state apportate laggiù e poi avremmo avviato questo nuovo ambiente una volta terminato.

Ma prima, apportiamo alcune modifiche ai file di configurazione:

$ nano/Gentoo/mnt/etc/portage/make.conf

Dopo il Cflags riga dovresti aggiungere le seguenti righe che consentirebbero al portage di trattare i file C ++ allo stesso modo dei file C. Portage è il responsabile dei pacchetti di Gentoo, vagamente parlando. Viene utilizzato per recuperare il codice sorgente dei programmi in modo da poterli compilare tutti (automaticamente) sul tuo sistema nativo.

$ Cxxflags = "$ cflags"

Copia anche il resolv.Conf File dal tuo ambiente LiveCD alla nuova radice.

$ cp -l /etc /resolv.conf/mnt/genteo/etc/

Ora ci assicuriamo che tutti i filesystem necessari per il kernel Linux di raccogliere informazioni sul sistema siano disponibili quando cerca di avviare. Quindi prendiamo le informazioni raccolte dall'immagine LiveCD sulla nostra macchina virtuale e sul suo hardware e le legiamo al nostro nuovo system di root.

$ mount -t proc /proc /mnt /genteo /proc
$ mount - -rbind /sys /mnt /genteo /sys
$ mount - -rbind /dev /mnt /geroo /dev

È tempo per noi di Chroot (cambia root) /MNT/Gentoo.

$ chroot /mnt /genteo /bin /bash
$ fonte /etc /profilo
$ EXPORT PS1 = "(Chroot) $ PS1"

Compilare il kernel Linux

Sincriamo il nostro albero Portage (repository software) con la versione ufficiale. Questo è simile a Aggiornamento APT In Ubuntu.

$ emerge-websync

Una volta terminato, possiamo selezionare un profilo per il nostro sistema. Che essenzialmente sintonizza il sistema per un caso d'uso specifico (server, workstation, ecc.). Andremo con un ambiente di plasma KDE elencato al numero sei.

$ eSelect Profile List
$ eSelect Profile Set 6

Le configurazioni di fuso orario e locale sono i prossimi:

$ ls/usr/share/zoneinfo

Individua la tua posizione in questa directory. In questo caso, era Asia/Dili

$ cp/usr/share/zoneinfo/continente/città/etc/locale
$ echo "Asia/dili">/etc/fuso time

Successivamente il rompicapo il set di caratteri specifici della posizione e il linguaggio che si desidera utilizzare dal file /etc /locale.gen. Abbiamo rimosso la linea en noi.UTF-8 UTF-8.

$ nano /etc /locale.gen

Applica le modifiche:

$ Locale-Gen
$ env-update && source /etc /profilo

Ora possiamo ottenere fonti di kernel Linux e iniziare a compilarle:

$ Emerge Gentoo-Sources
$ Emerge Genkernel
$ Genkernel All

L'ultimo comando inizierà a compilare il kernel che richiederebbe molto tempo, soprattutto se hai risorse hardware limitate.

Finiture

Dopo la compilazione del kernel, dobbiamo solo apportare alcune modifiche come l'installazione di GRUB, l'aggiunta di un utente e assicurarci che il sistema operativo monti automaticamente i filesystem essenziali durante il processo di avvio.

Per assicurarsi che le ultime di queste cose accadano, nell'ambiente chrooted modifica il file /etc/fstab Dove fstab sta per la tabella del filesystem:

$ nano /etc /fstab

Nella parte inferiore del file aggiungi le seguenti righe:

/dev /sda2 /boot ext4 predefiniti, noatime 0 2
/dev /sda4 /ext4 noatime 0 1
/dev/sda3 nessuno swap sw 0 0

Installa client DHCP in modo che la VM abbia una connettività di rete.

$ emerge dhcpcd

Assicurarsi che il client DHCP inizi nel processo di avvio:

$ rc-update aggiungi dhcpcd impostazione predefinita

L'impostazione di una password per l'utente root è semplice come immettere il comando di seguito e immettere la nuova password quando viene richiesto:

$ passwd

Per aggiungere un nuovo utente chiamato Bob Immettere il comando:

$ useradd -m -g utenti, ruota, portage -s /bin /bash bob
$ passwd bob ## Questo è impostare una password per l'utente Bob

Avremmo anche bisogno di sudo, quindi installamoci:

$ emerge sudo

E quindi consentire ai membri del gruppo Wheel di eseguire qualsiasi comando arbitrario, dobbiamo modificare il file /etc /sudoers:

$ Visudo

Infine, dobbiamo installare e configurare Grub Bootloader:

$ Emerge Grub
$ GRUB-INSTALL /DEV /SDA
$ GRUB -MKCONFIG -O/BOOT/GRUB/GRUB.cfg

Ora possiamo uscire dall'ambiente Chroot e sconcertare i filesystem:

$ uscita
$ umount -l/mnt/genteo/dev /shm,/pts,
$ umount -l/mnt/genteo /boot,/proc,
$ Shutdown ora

Vai all'impostazione della VM e nella sezione di archiviazione, rimuovere l'immagine LIVEDVD allegata alla VM.

All'avvio di nuovo della VM verrai accolto con un'interfaccia TTY al tuo sistema operativo di recente installazione. Accedi come utilizzo del nome utente e della password che hai scelto durante l'installazione.

Conclusione

Solo il processo di installazione per Gentoo rivela molto di più sui meccanismi interni e sulla struttura sotto la maggior parte degli ambienti UNIX. Se si desidera raggiungere una conoscenza più profonda del sistema, il manuale di Gentoo sarebbe un ottimo punto di partenza!