# Grub2 non carica kernel gentoo [Risolto]

## saverik

Ciao,

ho installato Sabayon su una partizione diversa.

Giustamente (  :Shocked:  ) ho installato Il Grub2 in sda1 al posto di grub1.

Al riavvio non mi carica il kernel con il systemd ma usa openrc.

Ho provato a modificare un po in giro ma non riesco a far partire il kernel con il systemd.

Qui come ho partizionato il mio ssd 64gb:

sda1 64mb boot

sda2 10gb /  (gentoo)

sda3 15gb home (gentoo)

sda4 / sabayon

Come posso fare?

----------

## loxdegio

Hai aggiunto in /etc/default/grub

```
[...]

GRUB_CMDLINE_LINUX_DEFAULT="init=/usr/lib/systemd/systemd"

[...]
```

oppure

```
[...]

GRUB_CMDLINE_LINUX_DEFAULT="real_init=/usr/lib/systemd/systemd"

[...]
```

in caso non funzionasse il primo?

Ovviamente dopo devi di nuovo lanciare 

```
# grub2-mkconfig -o /boot/grub/grub.cfg
```

Fammi sapere[/code]

----------

## saverik

Ho installato il grub1.

Sytemd  ancora non parte .

Parte sempre Openrc..  di seguito il mio fstab e il grub.

# Which listing to boot as default. 0 is the first, 1 the second etc.

default 0

# How many seconds to wait before the default listing is booted.

timeout 15

# Nice, fat splash-image to spice things up  :Smile: 

# Comment out if you don't have a graphics card installed

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux 3.4.9

# Partition where the kernel image (or operating system) is located

root (hd0,1)

kernel /kernel-31025 root=/dev/sda2 rw real_init=/usr/lib64/systemd/systemd

title Gentoo Linux 3.4.9 (rescue)

# Partition where the kernel image (or operating system) is located

root (hd0,1)

kernel /kernel-31025 root=/dev/sda2 real_init=/usr/lib/systemd/systemd

title Gentoo Linux 3.4.9 (rescue2)

# Partition where the kernel image (or operating system) is located

root (hd0,1)

kernel /kernel-31025 root=/dev/sda2 rw real_init=/usr/lib/systemd/systemd

.

Il mio fstab

/dev/sda1		/boot		ext2		defaults,discard,noauto,comment=systemd.automount 0 2

/dev/sda2		/		ext4		defaults,noatime,discard	0 1

/dev/sda3               /home           ext4            defaults,noatime,discard        0 2       

#/dev/sda5               /               ext4            defaults,noatime,discard        0 2

#tmpfs                  /var/tmp/portage  tmpfs          size=3G                        0 0

tmpfs			/tmp		tmpfs		noatime,nodiratime,size=5G 	0 0

Ps>avevo  gia eliminato il grub2 in favore di grub1 altrimenti provavo la soluzione suggerita da te.

----------

## sabayonino

con quale boot loader gestisci tutto ?

immagino quello di gentoo in /dev/sda (e non di sabayon in /dev/sda1)

devi aggiornare /etc/default/grub di sabayon

aggiugento i parametri di avvio a

```

GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd splash=theme:sabayon <eventuali altri parametri>"

```

e poi da gentoo (su grub2)  aggiorni il grub

```
# grub2-mkconfig -o /boot/grub2/grub.cfg
```

in modo tale quando lo lo script os-prober deve rilevare altri SO  , aggiunga alla riga del kernel nel grub quei parametri.

PS : io invece ho il grub2 di sabayon in /dev/sda (e nulla su gentoo /dev/sda4)

grub2 in /dev/sda

sda1-2-3 --> sabayon

sda4 ---> Gentoo

in (sda4)/etc/default/grub

ho questi parametri da passare al kernel gentoo

GRUB_CMDLINE_LINUX="init=/linuxrc dokeymap keymap=it VGA=791"

ogni volta che compilo un kernel nuovo , per averlo nel menu devo andare in sabayon e aggiornare il grub

una volta aggiornato , se verifico la riga dei paramtri del kernel relativa a gentoo (del grub.cfg di sabayon) mi trovo :

 *Quote:*   

> ### BEGIN /etc/grub.d/30_os-prober ###
> 
> menuentry 'Gentoo Base System release 2.2' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-9de8e710-92a2-4a2e-815b-061ddbf57dc1' {
> 
>         savedefault
> ...

 

----------

## saverik

Ho reinstallato il grub2 in dev sda con sabayon.

aggiornato /etc/default/grub di sabayon

aggiunto i parametri di avvio a

```

GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

```

Nel menu all'avvio mi appare solo sabayon.

 aggiorno il grub da sabayon:

```
# grub2-mkconfig -o /boot/grub2/grub.cfg
```

ma non mi trova i nessuna directory.

Ps: Ho installato il grub 2 su sda .

----------

## sabayonino

 *saverik wrote:*   

> Ho reinstallato il grub2 in dev sda con sabayon.
> 
> aggiornato /etc/default/grub di sabayon
> 
> aggiunto i parametri di avvio a
> ...

 

in Sabayonj è

```
# grub2-mkconfig -o /boot/grub/grub.cfg
```

/boot/grub  non /boot/grub2 come gentoo... non chiedermi perchè

inoltre se hai un bios (U)EFI , il bootloader dovrà essere installato nella partizione e non nel primo boot sector del disco ...

decidi quale Distribuzione debba gestire grub ... Gentoo o Sabayon o chi che sia e ad ogni aggioernamento del kernel di una distribuzione dovrai aggiornare il grub semore dalla stessa distribuzione.

Se dicidi di condividere /boot  con le varie distribuzioni , attento a come esse accedono in termini di paertizione di root , UUID et simili.

il meccanismo è di per sè semplice una volta capito il meccanismo di gestione .

----------

## saverik

questo l'output:

```
HpDM3 # grub2-mkconfig -o /boot/grub/grub.cfg

/usr/sbin/grub2-mkconfig: line 224: /boot/grub/grub.cfg.new: File o directory non esistente

 
```

monto sda1 in /boot:

```
HpDM3 # grub2-mkconfig -o /boot/grub/grub.cfg

/usr/sbin/grub2-mkconfig: line 224: /boot/grub/grub.cfg.new: File o directory non esistente
```

Ah, mi ero dimenticato di scriverlo:

All'avvio sabayon la riporta installata in (hd0,0), e non parte.

Quindi dall'avvio modifico hd0,0 in hd0,4 e faccio partire sabayon.

La cosa che vorrei fare e' di usare gentoo come distribuzone principale e gestire da li il grub... e la sabayon come supporto in caso di problemi visto che mi trovo veramente bene.

----------

## saverik

Dunque:

visti i risultati di cui sopra ho agito cosi:

copiato la cartella /sda1/boot/grub in /sda5/boot/grub ottenendo il risultato seguente:

```
HpDM3 magister # grub2-mkconfig -o /boot/grub/grub.cfg

Creazione di grub.cfg...

Trovato sfondo: /boot/grub/default-splash.png

Trovata immagine linux: /boot/kernel-genkernel-x86_64-3.12.0-sabayon

Trovata immagine initrd: /boot/initramfs-genkernel-x86_64-3.12.0-sabayon

  No volume groups found

Trovato Gentoo Base System release 2.2 su /dev/sda2

fatto
```

e all'avvio non mi mostra altre opzioni di avvio solo il kernel sabayon...

----------

## saverik

Dunque:

visti i risultati di cui sopra ho agito cosi:

copiato la cartella /sda1/boot/grub in /sda5/boot/grub ottenendo il risultato seguente:

```
HpDM3 magister # grub2-mkconfig -o /boot/grub/grub.cfg

Creazione di grub.cfg...

Trovato sfondo: /boot/grub/default-splash.png

Trovata immagine linux: /boot/kernel-genkernel-x86_64-3.12.0-sabayon

Trovata immagine initrd: /boot/initramfs-genkernel-x86_64-3.12.0-sabayon

  No volume groups found

Trovato Gentoo Base System release 2.2 su /dev/sda2

fatto
```

e all'avvio non mi mostra altre opzioni di avvio solo il kernel sabayon...

----------

## saverik

Ultimi aggiornamenti:

adesso il menu all'avvio mostra:

1Sabayon perfettamente funzionante

2Gentoo che parte in Openrc .. Anche editando il menu di grub all'avvio e aggiungendo a mano init=/usr/lib/systemd/systemd  .

 :Sad: 

penso che dovrei aggiungere un initrd...adesso cerco il modo.

----------

## saverik

Eccomi alle conclusioni per il problema.

Il sistema non partiva con systemd perchè c'erano degli errori che non andavano e che al boot mi venivano segnalati.

Io li avevo ignorati posticipando la riparazione a dopo il boot.

Il fatto era che erano proprio questi errori a non far partire  Systemd ma lo facevano partire con Openrc.

Una volta risolto questi problemi  Systemd e' partito a razzo!!

I problemi erano :

non montava /boot all'avvio

non riconosceva il kernel al boot e quindi partiva con il kernel preconpilato che avevo salvato in / ma che non aveva il supporto per Systemd.

Tutto questo per aiutare il prossimoavventuriero che potrebbe avere un simile problema.

Grazie a tutti dell'aiuto

----------

