# difficoltà installazione su portatile Samsung Q45

## ldm

Salve a tutti, premetto subito che si tratta della mia prima installazione Gentoo in assoluto ma qualche conoscenza su linux già la possiedo.

Per adesso son riuscito a terminare l'installazione via Minimal CD come descritto nel Manuale Gentoo, ho installato GRUB e poi mi son fermato perchè ho un paio di problemi/dubbi che volevo sottoporvi:

1) a suo tempo avevo usato il SystemRescueCd (basato su Gentoo pure lui: http://www.sysresccd.org/) per ridimensionare le partizioni ntfs tramite GParted e ho notato che riconosceva il mio hd come /dev/sda com'è giusto che sia dato che è SATA. L'installazione Gentoo invece me lo vede come /dev/hda! Ho provato anche ad avviare usando l'opzione 'doscsi' ma il risultato non cambia. Devo caricare qualche modulo del kernel particolare? (Non so se possa centrare ma devo avviare con 'acpi=off' altrimenti l'installazione si blocca.)

2) il processore è un Intel Core 2 Duo T7250. Il mio make.conf è il seguente:

```
CHOST="i686-pc-linux-gnu"

CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"          (come suggerito qua

CXXFLAGS="${CFLAGS}"                                http://gentoo-wiki.com/Safe_Cflags)

LDFLAGS="-Wl,--as-needed"   (come suggerito qua http://gentoo-wiki.com/TIP_Safe_LDFLAGS)

MAKEOPTS="-j2"
```

Vanno abbastanza bene? Posso azzardare ad usare '-march=nocona' o si usa solo nei sistemi 64 bit?

Inoltre dopo l'installazione dello stage3 e la scelta del profilo desktop ho dato un:

USE="-gtk -arts -esd -kde -gnome -qt3 -qt4 -cups -samba -X" emerge -e world

ma durante la compilazione di sys-apps/portage-2.1.4.4 ottengo il seguente errore:

unrecognized command line option "--as-needed"

Ho dovuto commentare LDFLAGS sul make.conf e ho risolto.. ma non mi piace come soluzione  :Smile: 

Qualche idea migliore?

----------

## Peach

 *ldm wrote:*   

> 1) a suo tempo avevo usato il SystemRescueCd (basato su Gentoo pure lui: http://www.sysresccd.org/) per ridimensionare le partizioni ntfs tramite GParted e ho notato che riconosceva il mio hd come /dev/sda com'è giusto che sia dato che è SATA. L'installazione Gentoo invece me lo vede come /dev/hda! Ho provato anche ad avviare usando l'opzione 'doscsi' ma il risultato non cambia. Devo caricare qualche modulo del kernel particolare? (Non so se possa centrare ma devo avviare con 'acpi=off' altrimenti l'installazione si blocca.)

 

è tutto normale, bisogna vedere come hai configurato il kernel

dipende se hai compilato oltre al supporto pata/sata anche il vecchio supporto pata

 *Quote:*   

> 2) il processore è un Intel Core 2 Duo T7250. Il mio make.conf è il seguente:
> 
> ```
> CHOST="i686-pc-linux-gnu"
> 
> ...

 

va benissimo, azzarda pure nocona.

eliminerei solo LDFLAGS che se non sai cos'è è meglio non pasticciarci e aumenterei il valore di MAKEOPTS a -j3 visto che si tratta di un dual core (2+1)

 *Quote:*   

> Inoltre dopo l'installazione dello stage3 e la scelta del profilo desktop ho dato un:
> 
> USE="-gtk -arts -esd -kde -gnome -qt3 -qt4 -cups -samba -X" emerge -e world
> 
> ma durante la compilazione di sys-apps/portage-2.1.4.4 ottengo il seguente errore:
> ...

 

commentare LDFLAGS, oppure documentarsi ASPRAMENTE!  :Wink: 

----------

## ckx3009

se devi usare le LDFLAGS usa queste all'inizio che sono tranquille:

```
LDFLAGS="-Wl,-O1 -Wl,-hash-style=gnu"
```

--as-needed probabilmente non viene riconosciuto dal compilatore installato dallo stage (dovrebbe essere gcc 4.1.2)

personalmente ti consiglierei di aggiornare il tuo gcc almeno alla 4.2.4.

una volta fatto l'aggiornamento, leva il tuo -march=prescott o -march=nocona e metti

```
-march=native
```

in questo modo il compilatore riconosce da solo il tuo processore.

per il /dev/hdX, e' possibile che sia il cd stesso ad essere "stagionato". dovresti provare a vedere se, una volta ultimata l'installazione, il tuo pc vede nella /dev gli hdX o gli sdX.

a me era successo che dal cd mi vedesse hdX, mentre dalla gentoo installata mi vedesse sdX.

se ti vede tutto come sdX, allora devi usare ovunque quella notazione (grub, fstab, eccetera).

le USE flag che hai dato prima dell'emerge -e world ti conviene metterle nel make.conf se hai intenzione di usarle, altrimenti al primo "emerge -N world" ti ricompila tutto senza le flag che gli hai dato ora

----------

## djinnZ

 :Shocked:  domanda: se --as-need c'è dal gcc 3.4 come può non essere riconosciuta dal 4.1 ? *ldm wrote:*   

> LDFLAGS="-Wl,--as-needed"

 tutto il problema è che l'opzione giusta è 

```
LDFLAGS="-Wl,--as-needed"
```

 senza spazi (o caratteri speciali non visualizzati) tra la virgola ed il trattino...  :Twisted Evil:  sicuramente avrai sbagliato a scrivere (capita, io metto sempre automaticamente  -O 1 o -O 2 secondo i casi, da anni, e non so spiegarmi il motivo)

@ldm: attiva la use flag glibc-omitfp  già che ti trovi  :Wink: 

per il problema dei dischi non è che hai quel malnato controller (non mi sovviene quale sia) che viene visto sia sata che pata secondo il modulo che carichi?

----------

## ldm

grazie per l'aiuto, cerco di rispondere a tutti e tre:

 *Peach wrote:*   

> è tutto normale, bisogna vedere come hai configurato il kernel
> 
> dipende se hai compilato oltre al supporto pata/sata anche il vecchio supporto pata

 

per adesso ho usato genkernel con la configurazione del CD di installazione come spiegato nel Manuale Gentoo:

```
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
```

ho cercato un po' nel forum e ho trovato questo topic: è questo il supporto pata/sata di cui parli?

..in caso ricompilo il kernel a mano.

 *ckx3009 wrote:*   

> personalmente ti consiglierei di aggiornare il tuo gcc almeno alla 4.2.4.

 

ci proverò  :Smile:  così dopo posso usare queste flag, giusto? in questo caso però -fomit-frame-pointer non è indicato, lo lascio o lo tolgo?

per quanto riguarda il gcc:

```
ACCEPT_KEYWORDS="~x86" emerge -uav gcc           (mi propone il gcc-4.3.1-r1)

gcc-config i686-pc-linux-gnu-4.3.1-r1

env-update && source /etc/profile

/usr/share/gcc-data/i686-pc-linux-gnu/4.3.1-r1/fix_libtool_files.sh 4.1.2

emerge --oneshot -av libtool

emerge -eav system

emerge -eav world

emerge -aC =sys-devel/gcc-4.1*
```

è corretto?

 *djinnZ wrote:*   

> senza spazi (o caratteri speciali non visualizzati) tra la virgola ed il trattino..
> 
> per il problema dei dischi non è che hai quel malnato controller (non mi sovviene quale sia) che viene visto sia sata che pata secondo il modulo che carichi?

 

porc!  :Shocked:  c'era proprio uno spazio di troppo... che figuraccia  :Embarassed: 

il controller è questo:

Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)

----------

## djinnZ

```
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
```

 è sbagliato, basta un emerge -1 genkernel per cancellare la configurazione (lo farei in ogni caso) tra le altre cose.

Il comando è (supponendo che tu abbia installato il kernel gentoo 2.6.25-r7 su x86) 

```
zcat /proc/config.gz > /etc/kernels/kernel-config-x86-2.6.26-gentoo-r7
```

 poi configuri genkernel (personalmente preferisco disabilatare il make mrproper clean oldconfig in automatico, ma sono scelte personali) e rifinisci la configurazione con genkernel --menuconfig all (per passare da configurazioni con la vecchia libata a quelle con la nuova libsata/pata è meglio usare l'initrd)

 *Quote:*   

> -fomit-frame-pointer non è indicato, lo lascio o lo tolgo?

 mi pare che lo usino tutti ormai, non è tanto problematico (il wiki è un tantino datato)

 *Quote:*   

> 
> 
> ```
> ACCEPT_KEYWORDS="~x86" emerge -uav gcc
> ```
> ...

 Sbagliato, così rischi di prendere tutte le dipendenze del gcc ~x86 ed al primo aggiornamento un downgrade ,operazione complessa, dall'esito estremamente incerto (quasi certamente finisce male e devi ricompilare tutto da zero) ed in generale sconsigliata; per abiltare un pacchetto instabile (tutto il sistema ~x86 è una stronzata, mica è una distribuzione binaria, estese spiegazioni in diversi thread) devi agire su /etc/portage/package.keywords aggiungendo la riga opportuna.

Personalmente preferisco soluzioni del genere 

```
<sys-devel/gcc-4.1.3 ~x86
```

per avere la certezza che non saltino le revisioni successive (i vari -r? che corrispondono alle patch dei devel gentoo a soluzione di qualche eventuale bug non alle versioni del gcc), altri metterebbero 

```
sys-devel/gcc ~x86
```

 in package.keywords e  *Quote:*   

> >=sys-devel/gcc-4.1.3

  in package.mask; dato che il risultato è lo stesso (è solo una questione di ordine) fai come ti pare.

 *Quote:*   

> porc!  c'era proprio uno spazio di troppo... che figuraccia 

   :Laughing:  come ti detto ci casco sempre con il -O (ormai la smadonnata e la correzione sono diventate automatiche)

 *Quote:*   

> Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)

  mi pare che sia lui, devi disabilitare completamente il supporto per la vecchia libata nel kernel

-march=native fa risparmiare un minimo di sbattimento (dietro ad intel ed ai suoi duo/due e chi non li ammazza, in particolare) ma se poi pensi di compilare per processori diversi usando una unica macchina o scambiare pacchetti binari può diventare fonte di confusione, personalmente lo eviterei e lo trovo di dubbia utilità  :Wink: 

su hardened (gcc 3.6) -O2 -march=quelcheè -fomit-frame-pointer -fforce-addr -fno-indent -fno-strict-aliasing -Wl,-O1 -Wl,--as-needed -pipe non mi ha creato perticolari grane (senza no-indent e no-strict-aliasing tutto il sistema va senza problemi, col le solite eccezioni tipo OOo crypt++ e qualche altro pacchetto balordo ovviamente) per il profilo normale non so se cene sono altre valide e se -fforce-addr ti limita (stando a flameyes si, e tendo a fidarmi di quel che sostiene)

le uniche cose che ti posso dire su -fomit-frame-pointer è che va attivata l'apposita use flag per gcc e che crea problemi se non è usata per compilate tutto il sistema.

Visto che sei in fase di prima installazione ti consiglio di impostare le CFLAGS, aggiornare il gcc e lanciare un bell'emerge -e world (prima di iniziare ad aggiungere mattoni del genere X, kde, gnome e compagnia)

----------

## ldm

 *djinnZ wrote:*   

> 
> 
> ```
> zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
> ```
> ...

 

allora è sbagliata anche la documentazione  :Very Happy: 

o forse mi son spiegato male io.. intendevo che il kernel fino a quel momento l'avevo compilato solo in fase di installazione copiando pari pari quel comando dal Manuale Gentoo.

riguardo al gcc per fortuna non l'avevo ancora installato e così non ho fatto casini con le dipendenze e pacchetti instabili vari.

stamattina come da consiglio ho dato un

```
echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
```

e ho aggiornato il gcc alla versione 4.3.2 che è uscita nel frattempo.

nel momento in cui scrivo sta ancora ricompilando system e world e SEMBRA andare tutto bene.. speriamo!  :Smile: 

ho lasciato perdere il -march=native e ho messo

```
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
```

inoltre ho aggiunto

```
echo "sys-libs/glibc glibc-omitfp" >> /etc/portage/package.use
```

ho anche ricompilato il kernel col giusto supporto SATA/PATA e finalmente l'hd viene riconosciuto come /dev/sda

infine cercando su google ho scoperto che per usare l'acpi su questo portatile bisogna blacklistare un modulo

```
echo "blacklist video" >> /etc/modprobe.d/blacklist
```

per oggi mi accontento di finire l'aggiornamento al nuovo gcc, poi parto con l'installazione di X.org anche se non ho ben capito se è meglio seguire la guida a X modulare oppure X monolitico

----------

## djinnZ

 *ldm wrote:*   

> allora è sbagliata anche la documentazione 

   :Shocked:  in effetti, dire di mettere la conf in un file che appartiene ad un pacchetto e non è in conf protect è una fesseria bella e buona, anche perchè tra la conf del livecd e quella di default di genkernel non è che cambi molto.

Ti ripeto che il consiglio non era di usare l'ultima versione ma la prima instabile (ormai te lo tieni, il downgrade è impossibile), non ti lamentare se avrai problemi in futuro.

----------

## ldm

 *djinnZ wrote:*   

> Ti ripeto che il consiglio non era di usare l'ultima versione ma la prima instabile (ormai te lo tieni, il downgrade è impossibile), non ti lamentare se avrai problemi in futuro.

 

ho capito male sorry  :Sad: 

comunque emergendo gcc mi dava solo la possibilità di installare il 4.3.2, dovevo specificare la versione con ad esempio emerge -uav sys-devel/gcc-4.2.4  ??

----------

## djinnZ

[=|<|>|<=|>=]categoria/pacchetto[-versione|:slot] in package.[keywords|mask|unmask] ed emergendo una verione specifica premetti = o usi lo slot

----------

