# Installazione linux senza bootmanager...

## iko

Ciao, dato che sto installando linux su una macchina virtuale mi chiedevo come poter avviare il sistema senza l'ausilio di un bootmanager.

Dato che il sistema è monolitico penso che basti scrivere il file bzImage generato dalla compilazione del kernel nei primi settori del disco fisso virtuale... è sufficiente questo?

ciao

Fede

----------

## rivent

ciao!

il bootLoader lo devi installare comunque. Se è l'unico nel sistema, devi per forza installarlo nell'MBR (del disco virtuale).  :Wink: 

----------

## iko

 *rivent wrote:*   

> ciao!
> 
> il bootLoader lo devi installare comunque. Se è l'unico nel sistema, devi per forza installarlo nell'MBR. 

 

Ne sei proprio sicuro?? Onestamente non credo in quanto nei sorgenti del kernel 2.6 all'interno di arch/i386/boot/bootsect.s c'è:

```

.code16

.text

.global _start

_start:

   # Normalize the start address

   jmpl   $BOOTSEG, $start2

.....

boot_flag:   .word 0xAA55

```

come puoi vedere il file è impostato per la compilazione a 16bit e alla fine del file si trova pure il magic number AA55 per dire al bios che è un bootsector valido.

Sono sicuro possa essere avviato direttamente, il problema è che non so se all'inizio di bzImage ci siano questi 512kb. nel caso fosse cosi basterebbe il comando dd.

C'è nessuno che ha esperienze in questo senso?

ciao

Fede

----------

## rivent

ma hai visto ancora un sistema avviarsi senza boot loader? non credo proprio

----------

## CarloJekko

guarda... dai make install all0interno della cartella del kernel... ti dice se vuoi fare la partizione bootabile... cos' non installi grub  :Wink: 

----------

## .:chrome:.

 *rivent wrote:*   

> ma hai visto ancora un sistema avviarsi senza boot loader? non credo proprio

 

è esatto: un boot loader serve sempre.

casomai puoi fare a meno di mostrare il menu, che nel tuo caso sono d'accordo nel dire che è inutile.

il tradizionale LILO dovrebbe permetterti (se non ricordo male) di non mostrare il menu, ma di partire direttamente con il kernel predefinito

@CarloJekko: non ho capito

----------

## rivent

 *k.gothmog wrote:*   

>  *rivent wrote:*   ma hai visto ancora un sistema avviarsi senza boot loader? non credo proprio 
> 
> è esatto: un boot loader serve sempre.
> 
> casomai puoi fare a meno di mostrare il menu, che nel tuo caso sono d'accordo nel dire che è inutile.
> ...

 

si infatti!  :Wink: 

con grub basta mettere il timeout a 0. Non vedi il menu e parte direttamente la scelta predefinita.

con lilo credo che sia uguale.

----------

## GiRa

Se fai

```
# cat bzImage >> /dev/tuodevicediavvio
```

all'avvio parte il kernel.

Il problema è che devi avere i parametri hardcoded all'interno del binario, ora non ricordo più come si fa a modifcare i parametri all'interno di un kernel compilato ma si può.

----------

## .:chrome:.

 *GiRa wrote:*   

> Se fai
> 
> ```
> # cat bzImage >> /dev/tuodevicediavvio
> ```
> ...

 

questa mi è nuova

comunque ci sono delle patch per fissare i parametri di avvio in fase di compilazione e forzare il kernel ad ignorare tutto quello che gli viene passato come argomento.

ricordo di averlo visto dentro il kernel WOLK.

considera però che sono una gran rottura di palle: per la minima modifica devi ricompilare il kernel. molto meglio il bootloader con timeout a zero

----------

## =DvD=

 :Shocked:   :Exclamation: 

----------

## .:chrome:.

 *=DvD= wrote:*   

>  

 

perché questo post? cosa ti turba?  :Very Happy: 

----------

## =DvD=

no no non mi turba mi fa spalancare gli occhi perchè a 

```
# cat bzImage >> /dev/tuodevicediavvio
```

 non ci avevo mai pensato.

Anche se alla fine un bootloader tipo grub puo toglierti delle rogne...

=D

----------

## iko

uhm ho provato con un make install (stile kernel 1.0) ma mi da errore, dicendomi che non può leggere /boot/arch/i386/boot/bzImage ... percorso che non può esistere!!! anche facendo un cat come suggeritomi non va. forse il cat va bene su un floppy ma comunque non credo assicuri che i primi 512bytes siano al posto giusto!

ciao

Fede

----------

## .:chrome:.

ovviamente devi avere prima compilato il kernel.

ad ogni modo make install non fa altro che copiare kernel e moduli dove deve. nulla di più

----------

## iko

 *k.gothmog wrote:*   

> ovviamente devi avere prima compilato il kernel.
> 
> ad ogni modo make install non fa altro che copiare kernel e moduli dove deve. nulla di più

 

sisi certo.. il kernel lo avevo compilato.. e ho visto anche la definizione nel makefile.. il fatto è che non capisco perchè cerchi bzImage in quel percorso cosi strano dato che non può esistere...

----------

## Cerberos86

 *iko wrote:*   

> il fatto è che non capisco perchè cerchi bzImage in quel percorso cosi strano dato che non può esistere...

 

beh, io l'ho sempre trovato lì il file bzImage.... poi dite pure che sono ignorante, ma se non è lì io non saprei dove cercarlo.....  :Rolling Eyes: 

EDIT: Sicuro che non sia /usr/src/linux/arch/i386/boot/bzimage.....?

----------

## theRealMorpheu5

 *GiRa wrote:*   

> Se fai
> 
> ```
> # cat bzImage >> /dev/tuodevicediavvio
> ```
> ...

 

Una volta c'era un'opzione nel menu di configurazione del kernel, ora non so... e comunque dai, è follia, grub is heavy metal, perché non usarlo?  :Smile: 

(D'altronde avevo letto da qualche parte che col kernel 2.6 o già col 2.4 non ricordo non era più possibile avviarlo autonomamente...)

----------

## fedeliallalinea

Che ci sia un possibilita' ok ma non e' piu semplice dare timeout 0? Mi pare piu' pratico che stare a smanettare con il kernel.

----------

## randomaze

 *=DvD= wrote:*   

> no no non mi turba mi fa spalancare gli occhi perchè a 
> 
> ```
> # cat bzImage >> /dev/tuodevicediavvio
> ```
> ...

 

Questo "giochino" é quello che veniva fatto per avere un floppy di boot.

Sottolineo il veniva perché, come detto:

 *theRealMorpheu5 wrote:*   

> (D'altronde avevo letto da qualche parte che col kernel 2.6 o già col 2.4 non ricordo non era più possibile avviarlo autonomamente...)

 

Con il 2.6. Non so se vale anche per le ultime verioni del 2.4 ma penso di no.

D'altronde non capisco questa avversità verso i boot manager, se sei preoccupato per l'enorme tempo di avvio anche con timeout a 0 prova ad usare syslinux.

----------

## iko

 *Cerberos86 wrote:*   

>  *iko wrote:*   il fatto è che non capisco perchè cerchi bzImage in quel percorso cosi strano dato che non può esistere... 
> 
> beh, io l'ho sempre trovato lì il file bzImage.... poi dite pure che sono ignorante, ma se non è lì io non saprei dove cercarlo..... 
> 
> 

 

scusa è impossibile che tu abbia quel file li...

il percorso in cui lo cerca è:

/usr/src/linux/boot/arch/i386/boot/bzImage

c'è un boot di troppo all'inizio!!

cmq vabeh per farla corta ho messo su il lilo... dato che era una macchina didattica però avrei voluto sfruttare il loader di linux stesso ma pazienza, cosi è più comodo!

il make install comunque copia semplicemente i file e cerca un bootmanager per aggiornare la configurazione dato che cerca lilo, grub, elilo, ecc e poi mi da l'errore riportato sopra.

ciao

Fede

----------

## CarloJekko

scusate ma con make install non viene fatta la domanda l'hard disk non è di boot... farla boot?

o una cosa del genere...

----------

## =DvD=

Ormai manca solo il partigiano di grub che lo consiglia in sfavore a lilo  :Wink: 

(eccolo)

----------

## Josuke

mi aggrego facendo una domanda sciocca ma che tempo fa mi aveva turbato..mettendo in grub toimeout a 0 ma avendo delle scelte (non so tipo linux voglio che parta subito...ma alle volte entro in windows), come si fa solo alle volte a far comparire la scelta in grub? in lilo mi pareva bastasse tenere premuto shift o ctrl o tab (ahh la memoria che se ne va)

----------

## GiRa

 *fedeliallalinea wrote:*   

> Che ci sia un possibilita' ok ma non e' piu semplice dare timeout 0? Mi pare piu' pratico che stare a smanettare con il kernel.

 

Se usi lilo non serve impostare il timeout a zero, basta che gli dici di caricare solo il kernel che vuoi con noprompt o qualcosa di simile (man rulez), con grub molto probabilmente puoi fare qualcosa del genere.

----------

## .:chrome:.

 *CarloJekko wrote:*   

> scusate ma con make install non viene fatta la domanda l'hard disk non è di boot... farla boot?
> 
> o una cosa del genere...

 

no

make install copia il kernel e l'initrd/initramfs in /boot e i moduli in /lib/modules

guarda il Makefile...

----------

## theRealMorpheu5

 *=DvD= wrote:*   

> Ormai manca solo il partigiano di grub che lo consiglia in sfavore a lilo 

 

Eccomi anch'io! =) No, ecco, io non sono un grande fan di Stallman ma tre cose ha fatto di buone nella sua vita: GCC, Emacs e GRUB.  :Very Happy: 

----------

## X-Act!

 *Josuke wrote:*   

> mi aggrego facendo una domanda sciocca ma che tempo fa mi aveva turbato..mettendo in grub toimeout a 0 ma avendo delle scelte (non so tipo linux voglio che parta subito...ma alle volte entro in windows), come si fa solo alle volte a far comparire la scelta in grub? in lilo mi pareva bastasse tenere premuto shift o ctrl o tab (ahh la memoria che se ne va)

 

In lilo basta NON mettere nel file di conf l'opzione "prompt" e non ti apparirà nessun menù: partirà direttamette il kernel predefinito.

Con un'altra opzione (forse delay o qualcosa del genere: see man) puoi impostare un tempo che lui aspetta (senza mostrarti nessun menù) prima di avviare il kernel; se entro questo tempo schiacci il tasto shift (purtroppo solo quello, non puoi sceglierne un'altro) ti appare il menù. 

Io l'ho usato per "nascondere" la mia gentoo di riserva sul pc a casa dei miei: quando non ci sono io lo accendono e parte il loro win 2000 senza colpo ferire, ma quando invece ci sono entro nel menù e posso scegliere comodamente i vari boot che ho configurato.

Quando iniziai con linux scelsi lilo al posto di grub sostanzialmente per questo, poi è subentrata l'abitudine e la guerra di religione...

Per dirla tutta non so se oggi anche grub abbia qualcosa di simile: l'ultima volta che l'ho cercata (anni fa) non trovai niente!

----------

