Fix initramfs

Storicamente la ARCHITETTURA di un computer prevedeva NON un software per la fase inizializzazione al caricamento del sistema operativo, ma una procedura _fissa_ scritta in modo indelebile in una PROM, o EPROM.

Per chi non sappia come si programma questa struttura do un link:
https://it.wikipedia.org/wiki/EPROM

Stiamo parlando del 1971, circa 48 anni nel passato.

Perché si agiva così?

Perché era utile che i computer assumessero un linguaggio più evoluto del livello macchina, e quindi il DOS, acronimo di Disk Operating System cioè sistema operativo del disco[1]

fonte:
https://it.wikipedia.org/wiki/DOS

era un primo tentativo di introdurre un linguaggio di programmazione più vicino a una facilità di programmazione (detta più vicina al linguaggio umano, o di alto livello).

Nel tempo i sistemi operativi hanno espanso la loro dimensione dalle dimensioni di una eprom (circa 4 k byte di 8 bit a byte) fino ai Giga Byte attuali (il giga indica miliardo).

Questa scelta di aumentare la sofisticazione del S.O. (Sistema Operativo) ha modificato la architettura non solo del software, ma anche dell’hardware.

Ai giorni nostri per caricare il S.O. si allungano i tempi tra il power on, accensione della macchina, ed il tempo di richiesta della password di accesso al sistema proprio per il trasferimento delle inizializzazioni delle informazioni tra ciò che deve sapere il microprocessore (o più di un solo microprocessore) e le memorie di lavoro associate di tipo RAM, e il “prendere visione” di quale sistema operativo è stato selezionato dall’utente che sempre più può fare una scelta tra diversi sistemi operativi.

Negli anni 1980 -però- la parte basica della accensione era detta BIOS:
https://it.wikipedia.org/wiki/BIOS

cito:

Il Basic Input-Output System (in acronimo, BIOS, pronuncia inglese: ˈbaɪəʊs), in informatica, è un insieme di routine software, generalmente scritte su memoria ROM, FLASH o altra memoria non volatile, che fornisce una serie di funzioni di base per l’accesso all’hardware del computer e alle perifericheintegrate sulla scheda madre da parte del sistema operativo e dei programmi.

Nei computer IBM-compatibili la ROM del BIOS contiene anche il POST. Il Power-on-self-test è un test che verifica che tutti i componenti e le periferiche del computer funzionino correttamente. È il primo programma che viene eseguito dopo l’accensione ed è coinvolto pertanto nella fase di avvio (boot) del sistema di elaborazione.

dallo stesso link:
cito:

[modifica | modifica wikitesto]

Con l’avvento del firmware basato su tecnologia UEFI e la successiva introduzione sul mercato (all’incirca a partire dal 2010), il BIOS, inteso come vecchia interfaccia utente del firmware, è destinato a progressivi rimpiazzi e quindi alla definitiva uscita di scena[3].

Alcuni sistemi operativi (ad esempio Microsoft Windows) permettono tutt’ora (2019) di installare il sistema in ambiente Bios legacy[4].

Il BIOS essendo così importante per la correzione di problemi dovuti a volatilità del software scritto su memoria cancellabile era

  1. il più semplice possibile
  2. volto a recuperare gli errori di errata configurazione
  3. in grado della “formattazione” del disco di sistema (oggi fino a circa 1 Tera byte di locazioni, ossia 1000 giga byte)

Standardizzata era la “formattazione”.

I sistemi di tipo windows della microsoft ancora usano strutture simili al bios come parte del dos, ma con l’avvento di altri sistemi operativi è cominciata a nascere l’idea di partizionare il DOS in sottosistemi! .. e quindi arriviamo al titolo del presente articolo:

il initramfs come parte del sistema UEFI.

Iniziamo a vedere la tipicità dell’UEFI:

https://it.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

cito:
L’UEFI (acronimo di Unified Extensible Firmware Interface) è l’interfaccia firmware[1] predefinita per PC che ha sostituito l’ambiente BIOS[2]. Tuttavia, ancora al 2017 la maggioranza dei firmware UEFI sono anche retrocompatibili con la precedente tecnologia del BIOS (legacy).

[…]

Il menù UEFI di impostazione (setup) permette solitamente l’avvio di volumi non EFI e/o il partizionamento MBR: occorre agire sui comandi disponibili che abilitano la modalità Bios legacy[14] e disabilitano il secure boot.

Anzitutto vediamo cosa sia un firmware:

https://it.wikipedia.org/wiki/Firmware

cito:
Il firmware è un programma, ovvero una sequenza di istruzioni, integrato direttamente in un componente elettronico programmato. Il termine è un prestito linguistico dalla lingua inglese derivante dall’unione di “firm” e “software“,[1] sicché in italiano equivale a componente logica permanente.

Funzioni[modifica | modifica wikitesto]

Il suo scopo è quello di avviare il componente stesso e consentirgli di interagire con altri componenti hardware tramite l’implementazione di protocolli di comunicazione o interfacce di programmazione. Rappresenta di fatto il punto di incontro fra le componenti logiche e fisiche di un dispositivo elettronico, ossia tra software e hardware.

Ritornando a UEFI si capisce che al generico utente dilettante che abbia problemi nella fase di lancio del computer non rimane che inviare la macchina alla casa costruttrice perché sia delegato ai tecnici della casa costruttrice del computer di capire se il sistema è riparabile a livello software oppure a livello hardware.

Tuttavia, poiché io lavoro sui computer dagli anni ’80 quando ancora si programmava con le schede forate di cartone 🙂 faremo una rapida panoramica se la situazione con UEFI sia veramente migliorata ed in particolare cosa sia initramfs ..

https://www.debian.org/doc/manuals/debian-reference/ch03.it.html

https://wiki.debian.org/initramfs

Metto qui di seguito la traduzione:

Come funziona initramfs

L’initramfs di base è l’immagine del filesystem di root usata per l’avvio del kernel fornita come archivio compresso cpio.

Di recente, questa immagine di initramfs di base può essere anteposta con un archivio cpio non compresso che contiene i dati del microcodice caricati molto presto nel processo di avvio.

Al momento dell’avvio, il kernel esegue le seguenti operazioni:

  • Se esiste un archivio cpio non compresso all’inizio di initramfs, estrarre e caricare il microcodice da esso alla CPU.
  • Se esiste un archivio cpio non compresso all’inizio di initramfs, saltalo e imposta il resto del file come initramfs di base. Altrimenti, tratta l’intero initramfs come initramfs di base.
  • decomprimere gli initramfs di base trattandolo come un archivio cpio compresso (attualmente compresso con gzip) in un disco basato su RAM.
  • montare e utilizzare il disco basato su RAM come filesystem di root iniziale.

Gran parte dell’inizializzazione del kernel e del codice bootstrap possono quindi essere spostati su questo disco ed eseguiti in modalità utente. Compiti come trovare il vero disco di root, la configurazione della rete in fase di avvio, la gestione dei ramdisk in stile initrd, la configurazione di ACPI, ecc. Verranno spostati dal kernel in questo modo.

Un evidente vantaggio di questo schema è che la dimensione del codice del kernel stesso può ridursi. Ciò non libera memoria per un sistema in esecuzione, poiché il kernel Linux scarica già il codice di inizializzazione quando non è più necessario. Ma una base di codice più piccola per il kernel stesso rende il tutto un po ‘più facile da mantenere, ed è sempre una buona cosa. Ma i veri vantaggi di initramfs sono:

  • La personalizzazione del processo di avvio anticipato diventa molto più semplice. Chiunque abbia bisogno di cambiare il modo in cui l’avvio del sistema ora può farlo con il codice dello spazio utente; la patch del kernel stesso non sarà più richiesta.
  • Lo spostamento del codice di inizializzazione nello spazio utente semplifica la scrittura di tale codice: ha una libreria C completa, protezione della memoria, ecc.
  • il codice dello spazio utente è necessario per gestire il kernel tramite chiamate di sistema. Questo requisito eliminerà molta “magia” nel kernel attualmente utilizzata dal codice di inizializzazione; il risultato sarà un codice più pulito, più sicuro.

Include :

  • Una piccola libreria C (“klibc”) verrà unita per supportare le applicazioni initramfs.
  • Una piccola applicazione kinit verrà creata con klibc. All’inizio, farà solo abbastanza lavoro per dimostrare che il meccanismo funziona correttamente.
  • Il sottosistema Initrd (iniziale ramdisk) verrà spostato in Kinit e fuori dal kernel stesso.
  • Il montaggio del filesystem di root verrà spostato nello spazio utente. Un sacco di codice per gestire cose come i filesystem di root montati su NFS spariranno.

Il kernel ha attualmente 3 modi per montare il filesystem di root:

  1. tutti i driver di dispositivo e file system richiesti sono stati compilati nel kernel, senza initrd. init / main.c: init () chiamerà prepar_namespace () per montare il filesystem di root finale, basato sull’opzione root = e facoltativo init = per eseguire un altro binario di init che elencato alla fine di init / main.c: init ().
  2. alcuni driver di dispositivo e file system creati come moduli e memorizzati in un Initrd. Initrd deve contenere un binario ‘/ linuxrc’ che dovrebbe caricare questi moduli driver. È anche possibile montare il filesystem di root finale via linuxrc e usare il syscall pivot_root. Initrd viene montato ed eseguito tramite prepar_namespace ().
  3. usando initramfs. La chiamata a prepar_namespace () deve essere ignorata. Ciò significa che un binario deve fare tutto il lavoro. Detto binario può essere memorizzato in initramfs o modificando usr / gen_init_cpio.c o tramite il nuovo formato initrd, un archivio cpio. Deve essere chiamato “/ init”. Questo binario è responsabile di fare tutto ciò che farebbe names_namespace ().

Per mantenere la compatibilità con le versioni precedenti, il file binario / init verrà eseguito solo se arriva tramite un archivio cpio initramfs. In caso contrario, init / main.c: init () eseguirà prepar_namespace () per montare la radice finale ed eseguire uno dei binari init predefiniti

Come controllare initramfs

Il pacchetto initramfs-tools-core fornisce lsinitramfs (8) per elencare i file all’interno di initramfs e unmakeinitramfs (8) per estrarre i file da initramfs.

In alternativa, è possibile effettuare le seguenti operazioni (presupponendo che path / to / initrd esista già come directory di lavoro vuota):

  • Se l’output del file -L /initrd.img è l’archivio ASCII cpio (SVR4 senza CRC), considerare l’immagine di initrd con il microcodice anteposto.
    • estrarre il microcodice tramite cd percorso / in / initrd /; cpio -i </initrd.img e leggi il display STDERR (nel mio caso 48).
    • estrarre l’initrd di base tramite cd percorso / in / initrad /; dd if = / initrd.img di = initrd.img bs = 512 skip = 48; zcat initrd.img | cpio -i (regola i valori di salto corrispondenti all’output di cpio STDERR).
  • Altrimenti, estrarre initrd direttamente dal percorso cd / in / initrad /; zcat /initrd.img | cpio -i

La dimensione dell’archivio cpio del microcodice può essere controllata indipendentemente da cpio -t / dev / null

(Questo metodo manuale ha funzionato per me ma / usr / bin / lsinitramfs ha un commento “cpio non ci dirà la dimensione reale”.)

Si noti che Debian attualmente usa gzip come metodo di compressione e il metodo precedente lo presuppone. Ubuntu sembra iniziare a usare LZ4 a partire da 2018 / marzo. LZ4 non è supportato da Debian initra

Commento:

Come si vede dalla ultima “spiegazione” (qui sopra) la delicatissima fase dell’avvio iniziale è divenuta non solo modificabile, ma una babele.

Questo perché le case di codice proprietario si sono volute miscelare alla attività dei S.O. open source!

Da un lato le macchine possono caricare diversi sistemi operativi distinti e autonomi, ma ciò ha reso fragile la compatibilità e robustezza, nonché “affidabilità” e facilità di riparazione della fase di avvio.

Persino il S.O. di un computer non è visto da alcuni come una proprietà che l’utente acquista, ma un servizio che fornisce il produttore del software e su cui nessuno dovrebbe mettere le mani.

Fino ad arrivare alle vessazioni di obbligare l’utente a continui aggiornamenti del software giustificati con esigenze per tutelare la “sicurezza”.

In definitiva un processo di espropriazione della potestà -per l’utente- di autorizzare cosa debba avvenire sulla propria macchina (computer) poiché la difficoltà di cosa sta avvenendo debba essere necessariamente delegata a “esperti di sistema”.

A nostro avviso una “politica” MIOPE che non vede che l’utente _ha_diritto_ a un qualsivoglia sistema operativo, al limite autoprodotto, e che nessuno debba coercitivamente introdursi sul proprio computer, compreso il costruttore.

Difatti microsoft sta insistendo in questa politica aggressiva associtata agli aggiornamenti non autorizzati del sistema operativo windows.

Viceversa Apple, per fare un esempio, propone gli aggiornamenti, ma NON li obbliga! in quanto chiede di essere _autorizzata_ dalla potestà dell’utente su ciò che è sua -dell’utente- PROPRIETA’ PRIVATA!

C’è da aggiungere che le anomalie più frequenti -chi le ha risolte- mette delle soluzioni e dei video, ad esempio su youtube, e quindi comincia ad aprirsi, grazie alla *intelligenza collettiva* il mistero di che fare quando la macchina va in blocco perché la procedura di installazione non funziona. (panic).

Da ciò alcune anomalie “standard” oltre che ad essere diagnosticate da initramfs sono anche risolte come sottoprogrammi sotto la responsabilità dell’utente di dire “yes” al fix (correzione) proposta.

Ma non sempre il problema specifico è trattato né dalla diagnostica e né da sottoprogrammi standardizzati alla cura della patologia specifica.

Grazie alla nostra analisi storica, però, abbiamo due strade:

  1. divenire esperti del software di sistema S.O.
  2. saper quale sia la cura “classica” dall’alba dei computer ad oggi: “formattare il disco di massa” che contiene il vecchio sistema operativo e tutti i dati. (sempre che non si voglia provare salvare la situazione mandando alla riparazione autorizzata: ma che potrebbe non trovare l’interesse dell’utente in specie se non vuole dare a terzi la visibilità di dati riservati sul proprio computer).

Quindi, nel mio caso, a seguito di un sistema ubuntu su dell portatile acquistato a dicembre 2018, mi trovo nel 2019 con delle diagnostiche che mi dicono che il “labirinto di initramfs” dice che non sa che fare .. e vuole saperlo da me!

Si noti che io ho il disco di ripristino (su USB) del sistema originale montato da DELL in originale.

Ma non funziona, il lancio del ripristino da USB, poiché la memorizzazione di initramfs nell’accesso al passaggio dei parametri tra initramfs vs il completamento del “DOS di tipo UEFI” si è corrotta con perdita delle memorizzazioni associate a ciò che era sul disco di massa, in modo indipendente da una mia azione maldestra, ma per semplice corruzione dell’immagine come sarà verificabile dalla foto che metterò qui di seguito.

Dunque la memoria di massa va portata a essere “memoria di massa” con il suo bravo codice di formattazione del disco a partire dal MBR o equivalenti.

il “format C” (da linea di comando), era la unica operazione storica “base” che il DOS faceva -come soluzione estrema- insieme alla specifica di indicare che tipo di formattazione (FAT etc).

Però se il disco di ripristino di sistema “originale” non trova il MBR (o start equivalente)
–allora–  il disco fisico sebbene funzionante non esisterà per qualsiasi software di riparazione, gparted, ubuntu, kali-linux, etc che si voglia provare per una installazione da usb.

Poiché l’unico che potrebbe riparare la situazione è initramfs.

Come deve riparare? potrebbe farlo in molti modi, come abbiamo visto dall’ultimo articolo citato, ma il modo più semplice è la formattazione, che però non è citata nell’articolo di Debian.

Tuttavia ora sappiamo come si esce dal LABIRINTO,  a mio avviso creato appositamente per tenerci nella impossibilità di controllare la NOSTRA MACCHINA: trovare come initramfs possa eseguire “il format del disco di massa”.

Quindi ci serve solo di studiare su altri articoli di maggiore dettaglio initramfs finché non emergerà la specifica che ho detto.

In questo mio diario delle avventure di Gulliver -in initramfs- ecco il successivo articolo (di maggiore dettaglio) che andremo a leggere insieme:

https://wiki.gentoo.org/wiki/Custom_Initramfs#Init

traduzione:

initramfs è un filesystem di root che è incorporato nel kernel e caricato in una fase iniziale del processo di avvio. È il successore di initrd. Fornisce uno spazio utente iniziale che può fare cose che il kernel non può facilmente fare da solo durante il processo di avvio.

L’uso di initramfs è *facoltativo*. Per impostazione predefinita, il kernel inizializza l’hardware utilizzando i driver integrati, monta la partizione root specificata, carica il sistema init della distribuzione Linux installata. Il sistema init quindi carica moduli aggiuntivi e avvia i servizi fino a quando non presenta infine una finestra di dialogo di accesso. Questo è un buon comportamento predefinito e sufficiente per molti utenti. initramfs è per utenti con requisiti avanzati; per gli utenti che devono fare le cose il prima possibile, anche prima che venga montata la partizione di root.

In genere, un initramfs non è necessario, ma può essere necessario per:

  • Montare una partizione root crittografata, logica o altrimenti speciale
  • Fornire una shell di salvataggio minimalista (se qualcosa va storto)
  • Personalizza il processo di avvio (ad esempio, stampa un messaggio di benvenuto)
  • Carica i moduli necessari per l’avvio (ad es. Driver di archiviazione di terze parti)
  • Tutto ciò che il kernel non può fare è di solito gestito nello spazio utente

Prerequisites

Ci sono innumerevoli modi per creare un initramfs (ndr: a partire da un disco di massa “vergine”). Puoi scegliere di non creare affatto un initramfs ma lasciare che strumenti come Genkernel o Dracut facciano il lavoro per te. Se sei fortunato, uno di loro fa quello che vuoi fuori dalla scatola, e non devi preoccuparti di come funziona initramfs e di cosa fa più. Se sei sfortunato, non fanno quello che vuoi e devi estendere le loro funzionalità, o persino costruire un initramfs da solo.

Un initramfs contiene almeno un file chiamato */ init*. Questo file viene eseguito dal kernel come processo di init principale (PID 1). Deve fare tutto il lavoro. Inoltre, può essere disponibile un numero qualsiasi di file e directory aggiuntivi richiesti da / init. Di solito sono file che troverai anche su qualsiasi altro filesystem di root, come / dev per i nodi del dispositivo (ndr: per di dispositivi), / proc per le informazioni sul kernel, (ndr: processi) / bin per i binari e così via (ndr: processi binari). La struttura di un initramfs può essere semplice o può essere complicata, a seconda di ciò che si prevede di fare.

Quando il kernel monta initramfs, la partizione root di destinazione non è ancora montata, quindi non è possibile accedere a nessuno dei file. Ciò significa che non c’è nient’altro che initramfs. Quindi tutto ciò di cui hai bisogno, tutto ciò che desideri, devi includerlo nei tuoi initramfs. Se vuoi una shell (ndr:finestra per programmare), devi includerla nei tuoi initramfs. Se si desidera montare qualcosa, è necessaria un’utilità di montaggio. Se è necessario caricare un modulo, initramfs deve fornire sia il modulo che un’utilità per caricarlo. Se l’utilità dipende dalle librerie per funzionare, è necessario includere anche le librerie. Questo sembra complicato, e lo è, perché initramfs deve funzionare in modo indipendente.

Basics

In questa sezione imparerai il modo semplice e diretto di creare initramfs. Farai un initramfs funzionale – anche se minimalista – che potrai quindi estendere in base alle tue esigenze.

Directory structure

Crea una struttura di directory initramfs di base che diventerà in seguito la tua radice initramfs. Per coerenza, lavoreremo in (è un indirizzo)

/ usr / src / initramfs

ma qualsiasi posizione lo farebbe. Se scegli un’altra posizione, ti preghiamo di adattare di conseguenza.

root #mkdir --parents /usr/src/initramfs/{bin,dev,etc,lib,lib64,mnt/root,proc,root,sbin,sys}

ndr: sta creando le cartelle /usr/scr/initramfs/bin ..

Device nodes

La maggior parte delle cose che fa initramfs richiede la presenza di un paio di nodi dispositivo, in particolare il dispositivo per la partizione radice. In tutto questo documento, / dev / sda1 verrà usato come dispositivo di esempio. Copia i nodi del dispositivo di base dal filesystem di root nella posizione di esempio di initramfs:

root #cp --archive /dev/{null,console,tty,sda1} /usr/src/initramfs/dev/

I dispositivi di cui hai bisogno dipendono esattamente da cosa utilizzerai initramfs. Si prega di adattarsi alle proprie esigenze.

Applications

Qualsiasi binario che si desidera eseguire all’avvio deve essere copiato nel layout di initramfs. È inoltre necessario copiare tutte le librerie richieste dai file binari. Per vedere quali librerie richiede un determinato binario, usa lo strumento ldd. Ad esempio, il binario dev-util / strace richiede:

user $ldd /usr/bin/strace
    linux-vdso.so.1 (0x00007fff271ff000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f5b954fe000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5b958a9000)

Qui sopra vedi /usr/bin/strace che “lavora in” initramfs, tu non solo necessiti di copiare /usr/bin/strace -> /usr/src/initramfs/bin, but also/lib64/libc.so.6 and /lib64/ld-linux-x86-64.so.2 -> /usr/src/initramfs/lib64. La exception è linux-vdso.so.1 che è fornita dal kernel.

Alcune applicazioni potrebbero dipendere da altri file e librerie per funzionare. Per esempio, app-editor/nano necessita di terminfo file /usr/share/terminfo/l/linux from sys-libs/ncurses, quindi devi copiarlo anche nei tuoi initramfs. Per trovare queste dipendenze, strumenti come equery e strace si dimostrano molto utili.

Busybox

Invece di raccogliere innumerevoli utility e librerie (e non vederne mai la fine), puoi semplicemente usare

sys-apps / busybox.

È un insieme di utilità per i sistemi di salvataggio e incorporati, contiene una shell, utilità come ls, mkdir, cp, mount, insmod e molte altre, il tutto in un unico binario chiamato

/ bin / busybox.

Affinché busybox funzioni correttamente in un initramfs, è necessario emergerlo con il flag USE statico abilitato, quindi copiare il binario / bin / busybox nel layout di initramfs come / usr / src / initramfs / bin / busybox:

root #USE="static" emerge --ask --verbose sys-apps/busybox
root #cp --archive /bin/busybox /usr/src/initramfs/bin/busybox
sul linguaggio unix simile a quello da linea di comando ubuntu:
https://www.busybox.net/

Montare e smontare le unità disco da terminale

https://www.orvietolinux.it/guide-linux/48-linux/188-montare-e-smontare-le-unita-disco-da-terminale

https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/it

28 nov 2019, ore 13.12

Detto tutto quanto sopra ..

si capisce un fatto incontrovertibile:

  1. non solo esiste initramfs usando il sistema dos detto UEFI, ma initramfs potrebbe essere _MODIFICATO_ o riprogettato totalmente! .. infatti ogni initramfs ha comandi sia di esplorazione (lettura) di come è scritto prima delle modifiche, ma anche di scrittura, che consentono di riscrivere cose diverse dalla versione originale. Sostanzialmente ciò evita che dei virus possano accedere alla sezione di memorizzazione dove risiede initramfs, consente la criptografia, altre e diverse password a livello macchina, prima ancora che la macchina sia disponibile all’utente in modalità ordinaria.
  2. cosa succede, però, se non siamo in grado di aggiustare o modificare una versione initramfs danneggiata? succede che possiamo sostituire una versione nuova, magari diversa da quella precedente, ma per riprendere il controllo della macchina, l’utente non ha questa versione di “recupero” a meno di inviare la macchina al servizio di riparazione.

Nella evoluzione storica di quanto appena sopra descritto si è allora posto un problema: ok .. se il upgrade (aggiornamento a versione nuova) è andato a buon fine è tutto ok.

Ma se qualcosa va storto è possibile aggiustare la macchina solo inviando la macchina al costruttore?

E se invece il proprietario/cliente volesse operare autonomamente? c’è la possibilità di un downgrade? ovvero di ritornare alla versione precedente del dos? o di un dos che bypassi totalmente initramfs?

La risposta è sì, il downgrade è possibile .. ma va configurata la parte “non volatile del dos”. Il modo di accedere a tale zona non volatile che può accedere a specificare la programmazione vs il downgrade .. è “power on > F2” > system set up > Setting

Nella configurazione attuale la mia macchina (DELL) ha la seguente configurazione:

fig.1 (Setting > Boot Sequence)

This list specifies the order that BIOS searches devices when trying to find an operating system to boot. To change the boot order select the device to be changed in the list on the right hand side, then click up/down arrows or use the keyboard PgUp/Pg/Dn keys to change the boot order of the device.

The boot devices can also be selected o deselected from the list using the check boxes  on the left hand side.

  • “Legacy Option ROMs” (vedi foto 2) need to be enabled for Legacy External Devices boot mode.
  • “Legacy External Devices boot mode” is not allowed when “Secure Boot” is enabled.
  • Clicking “Restore Setting”(è un tasto più sotto) “Load Default” button will change neither the Boot List option, nor the Legacy Option ROMs setting, nor the Secure Boot unchanged. — these three settings will remain unchanged.

Legacy External Devices boot mode does not support OS (S.O. = sistema operativo) on internal storage devices such as HDD, SSD, NVMe, or eMMC.  It is intended for use with external storage devices only such SD card, USB and network PXE

traduzione:

Questo elenco specifica l’ordine in cui il BIOS cerca i dispositivi quando tenta di trovare un sistema operativo da avviare. Per modificare l’ordine di avvio, selezionare il dispositivo da modificare nell’elenco sul lato destro, quindi fare clic sulle frecce su / giù o utilizzare i tasti PgUp / Pg / Dn della tastiera per modificare l’ordine di avvio del dispositivo (ndr: prima click sulla usb per esempio di ubuntu, poi con le frecce spostare in cima alla lista, la usb in cima è eseguita per prima).

I dispositivi di avvio possono anche essere selezionati o deselezionati dall’elenco utilizzando le caselle di controllo sul lato sinistro.

  • Le ROM opzionali legacy devono essere abilitate per la modalità di avvio dei dispositivi esterni legacy.
  • La modalità di avvio di dispositivi esterni legacy non è consentita quando è abilitato l’avvio protetto.
  • Facendo clic su “Ripristina impostazioni” (è un tasto più sotto) il pulsante “Carica impostazioni predefinite” non modificherà né l’opzione Elenco di avvio, né l’impostazione ROM opzioni legacy, né l’avvio protetto invariato.

La modalità di avvio di dispositivi esterni legacy non supporta il sistema operativo (S.O. = sistema operativo) su dispositivi di archiviazione interni come HDD, SSD, NVMe o eMMC. È destinato all’uso con dispositivi di archiviazione esterni quali schede SD, USB e PXE di rete

fig. 2 (Advanced Boot Option)

  1. When in UEFI boot mode, the Enable Legacy ROMs option will allow legacy option ROMs to load.
    Without this option, only UEFI option ROMs will load. This option is required for Legacy External Device boot mode. This option is not allowed if Secure Boot is enabled.
  2. With Attempt Legacy Boot enabled, if the system fails to boot in UEFI boot mode, the system will immediately attempt to boot in Legacy External Device mode. This feature requires the Legacy Option ROMs and UEFI boot mode are enabled.
  3. Legacy External Devices boot mode does not support OS boot on internal storage devices such as HDD, SSD, NVMe, or eMMC.  It is intended for use with external storage devices only such SD card, USB and network PXE.

traduzione:

  1. In modalità di avvio UEFI, l’opzione Abilita ROM legacy consentirà il caricamento di ROM opzionali legacy.
    Senza questa opzione, verranno caricate solo le ROM delle opzioni UEFI. Questa opzione è richiesta per la modalità di avvio del dispositivo esterno legacy. Questa opzione non è consentita se l’avvio protetto è abilitato.
  2. Con “Tentativo di Avvio Legacy” abilitato, se il sistema non si avvia in modalità di avvio UEFI, il sistema tenterà immediatamente di avviarsi in modalità dispositivo esterno legacy. Questa funzione richiede che le ROM opzionali legacy e la modalità di avvio UEFI siano abilitate.
  3. La modalità di avvio di dispositivi esterni legacy non supporta l’avvio del sistema operativo su dispositivi di archiviazione interni come HDD, SSD, NVMe o eMMC. È destinato all’uso con dispositivi di archiviazione esterni quali schede SD, USB e PXE di rete

fig. 3 (dopo avere premuto exit nella figura precedente)

il sistema intramfs diagnostica che non è riuscito a completare la installazione del sistema operativo né kali-linux e né ubuntu)

riporto le diagnostiche principali nella scrittua seguente:

++
cit on
++

acpi error: skip parsing opcode OpCodeName unavailable

acipi error: method parse/execution failed

Gave up waiting for suspend/resume device

Gave up waiting for root file system device. Common problem:

  • Boot args (cat/prot/cmdline)
  • Check “rootdelay” (did the system wait enought?)
  • missing modules (cat /proc/modules; ls /dev)

Alert! /dev/nvme0n1p2 does not exist. Dropping to a shell!

++
cit off
++

Visto quanto sopra ci proponiamo di abilitare il downgrade:

ossia aggiungere la possibilità che sia letto il dos dalla pennetta usb!

modificando quando sopra come segue:

++

1° prova:

nella prima foto “legacy extrenal device” non è abilitato e né può essere aggiunto come prima scelta nella foto1.

Però nella foto2:

[v] legacy ROMs [v] legacy boot

ora dovrebbe essere disponibile la opzione nella foto 1: che seleziono togliendo il sistema UEFI

Prima di fare la prova cercherò se (sul web) qualcuno abbia già sperimentato tale tentativo, per verificare se vi sono cose ulteriori da non trascurare ..

Not Support Legacy BIOS

press enter to reboot

system bios=1.3.0 (dell 5530)

ePSA Build 4306.16 UEFI ROM

power on > analisi > f2 va tolto e rimesso per andare alla boot setting.

diagnosi si aspetta una usb con il bios! (e NON con il restore del sistema operativo!)

cerchiamo il bios ..


Andiamo al link seguente ottenuto con google:

“system bios=1.3.0 (dell 5530)”

https://www.dell.com/support/home/it/it/itbsdt1/drivers/driversdetails?driverid=cvvwv

Formati disponibili

Formato file:Windows/DOS
Nome file:Precision_5530_01_03_00.exe
Tipo di download:HTTP
Dimensioni file:10.82 MB
Descrizione del formato:

Questo formato di file è costituito da un file eseguibile dal BIOS. Il formato universale (Windows/MS DOS) può essere utilizzato per l’installazione in qualsiasi ambiente Windows o MS DOS.

To ensure the integrity of your download, please verify the checksum value.
MD5:
d2501f6ab99b24e5c8fa7ebb58ffb11d
SHA1:
234d417f8f6e25a9759aa4c75549c6e5f2ac26bc
SHA-256:
22b837393a861ee22c47262f73db854470ee91f8f5ef4a20006cdb1f22ac21b1

formatto una usb e metto il file exe sulla usb:

Precision_5530_01_03_00.exe

fromattazione su imac > applicazioni > utility disco > inizializza > inizio ore 18.20 (ho usato “metodo veloce”)

Ora userò unetbootin per creare la registrazione su usb?

no, poiché unetbootin masterizza solo in formato iso, e quindi sarebbe un dos diverso come al link seguente:

https://www.ainu.it/software/creare-un-pendrive-usb-avviabile-con-sistema-operativo-dos/

Nel nostro caso, invece, potrebbe essere semplicemente copia ed incolla e poi il DOS del pc si incarica di avviare la usb ..

risposta:

il file non è considerato “avviabile” e dunque rimane solo la opzione del disco immagine con il sistema immagine qui sopra all’ultimo link:

che rinvia a:

http://www.freedos.org/

sto scaricando la immagine legacy.iso=FD12LGCY.iso (418 MByte)

mi da immagine corrotta e impossibile da leggere ..

scarico la versione standard FD12CD.iso (418 MByte)

ore 13.23

installa con kali-linux > lingua > italiano > interfaccia di rete? > ethernet >

nome host nella rete? > kali

nome del dominio? > linux

password  di root? .. metto la solita ..

partizionamento dei dischi:

“usa l’intero disco”

“tutti i dati sul disco/dev/nvme0n1 -1 TB NVMe Device saranno eliminati dopo la conferma”

scglere lo schema di partizionamento:

  1. tutti i dati in una sola partizione
  2. home separata
  3. /home, /var, /temp separate

per utenti nuovi scegliere 1

scelgo 1


ANTEPRIMA DEL PARTIZIONAMENTO CHE SARà ESEGUITO:

n°1 primaria 1T Byte  f ext4 /
n°5 logica 16.7 Gb f swap

ore 13.40 inizia la formattazione e riscrittura del sistema.

usare mirror di rete per aggiornare il software?

no

installazione di grub

sembra che questa installazione sia l’unico so

se così fosse è buona norma installare “il boot loader grub” ..

sul “master boot record”(MBR) del primo disco fisso.

istallare in mbr del primo disco fisso? sì

installare grub sul disco da 1TB? sì

ore 13.54 installazione completata: mi chiede di togliere la usb altrimenti ripartirebbe la installazione ..

ore 13.56 remove live packages 60%

ore 14.05

lancio il reboot, ma premo F2 altrimenti mi dice d fare il reboot

mi da la solita videata setting di quando avevo comprato il pc!

ma cambio in “boot sequence” da legacy external devics vs

.. UEFI!

mi compare nella scelta:

  1. USB NIC (IPV4)
  2. USB NIC (IPV6)

ore 14.17:

checking media presence

cerca di partire da USB NIC (IPV4)

non trova USB NIC (IPV4)

fino alle ore 14.20 mi da schermo nero ..

riaccendo senza fare nulla altro ..

di nuovo schermo nero

ore 14.23

start PXE on ipv4?

 

 

https://it.stealthsettings.com/start-pxe-ipv6ipv4-press-esc-exit-windows-pc-error.html

https://appuals.com/how-to-fix-the-start-pxe-over-ipv4/

https://www.dell.com/support/article/it/it/itbsdt1/sln288100/come-avviare-la-configurazione-del-sistema-bios-e-modificarne-le-impostazioni?lang=it

https://www.dell.com/community/XPS-Desktops/Start-up-PXE-over-IPv4-press-esc-to-abort-PXE/m-p/6133924#M16223

sono riuscito a entrare con F12 > bios set up

stop 17.12 del 30 nov 2019

Questa voce è stata pubblicata in SCIENZA. Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...