# erledigt Kernel backen Intel(R) Core(TM)2 CPU T5500@1.66GHz

## uhai

Ich habe hier einen Amilo mit dem Intel(R) Core(TM)2 CPU T5500  @ 1.66GHz. Dort will ich von der Live DVD 10.0 Gentoo aufsetzen. Ausgehend von http://kernel-seeds.org/working.html versuche ich den Kernel zu backen und erhalte diese Fehlermeldung:

```
(chroot) livecd linux-2.6.31-gentoo-r6 # make && make modules_install

scripts/kconfig/conf -s arch/x86/Kconfig

  CHK     include/linux/version.h

  CHK     include/linux/utsrelease.h

  SYMLINK include/asm -> include/asm-x86

  CC      kernel/bounds.s

kernel/bounds.c:1: error: code model 'kernel' not supported in the 32 bit mode

kernel/bounds.c:1: sorry, unimplemented: 64-bit mode not compiled in

make[1]: *** [kernel/bounds.s] Error 1

make: *** [prepare0] Error 2

```

Jetzt bin ich unsicher, ob das ein 64bit/system ist... oder muss ich den chroot anders machen?

uhaiLast edited by uhai on Wed Dec 16, 2009 10:27 am; edited 1 time in total

----------

## Randy Andy

Hi uhai,

wenn du einen 64-Bit Kernel backen möchtest, dann muss auch ein 64-Bit kernel laufen (Ausnahme Crosscompiler für alle Schlaumeier-posts   :Wink: 

Ich gehe davon aus dass dein Teil ein ein64-Bit Prozzi ist, aber ohne nähere Angaben bleibt eine Rest-Unsicherheit.

Wie du das rausbekommst steht hier, und dann kennst du auch gleich die richtigen CFLAGS die du später für deine make.conf eh benötigst, wenn du das bestmögliche optimieren möchtest, und dass willst du doch als Gentoo-user sicherlich..

http://en.gentoo-wiki.com/wiki/Safe_Cflags

Was für ein kernel gerade gestartet wurde erfährst du mit:

```
uname-a
```

Oftmals bedarf es beim booten von Live-CD's eines Cheat-Codes, um den gewünschten kernel zu starten.

Dann weiter gemäß Gentoo-Handbuch deiner Gewünschten architektur entsprechend, also für 64-bit nehme man amd-64, auch für Intel Prozessoren!

Gruß, Andy.

----------

## l3u

Also laut http://de.wikipedia.org/wiki/Modellnummern_von_Intel-Prozessoren und http://de.wikipedia.org/wiki/Intel_Core_2_Duo_(Mobil) ist’s ein 64-Bit-Prozessor. Einfach ne 64-Bit-Live-CD booten uns los geht’s …

----------

## uhai

mit Live-DVD gestartet:

```
livecd gentoo # uname -a

Linux livecd 2.6.30-gentoo-r5 #1 SMP Fri Oct 9 19:28:18 UTC 2009 x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz GenuineIntel GNU/Linux
```

Das ist doch ein 64bit-Kernel, oder?

uhai

----------

## Randy Andy

Yepp,

korrekt. Is'n 64-bit kernel.

Weitermachen wie im Handbuch beschrieben, dann wird's hoffentlich...

Viel Glück,

Andy.

----------

## uhai

Mit diesem Kernel bekomme ich aber den o.g. Fehler...

Also ist der laufende Kernel 64bit und der Prozzi auch - was geht dann hier schief?

uhai

----------

## Randy Andy

Hm..

hast du eventuell das falsche stage-archiv runtergelden und entpackt?

Sieht für mich in deiner ersten Ausgabe so aus, denn da bezieht sich alles auf x86 statt auf x86_64

```
scripts/kconfig/conf -s arch/x86/Kconfig 

  CHK     include/linux/version.h 

  CHK     include/linux/utsrelease.h 

  SYMLINK include/asm -> include/asm-x86

```

Andy.

----------

## uhai

shit happens - chost ist falsch...

also http://www.gentoo.org/doc/en/change-chost.xml

Mein Stage3 ist stage3-i686... ist ok, oder?

uhai

----------

## firefly

 *uhai wrote:*   

> shit happens - chost ist falsch...
> 
> also http://www.gentoo.org/doc/en/change-chost.xml
> 
> Mein Stage3 ist stage3-i686... ist ok, oder?
> ...

 

nur wenn du nicht 64Bit installieren möchtest. Ansonsten brauchst du das amd64 stage3. Lass dich nicht von dem amd in amd64 beirren, das stage archiv funktioniert auch auf intel prozessoren.

----------

## uhai

ok, dann zuruck zu chroot, alles wegputzen und das amd64-stage3 holen...

weiter mit handbuch, oder?

uhai

----------

## Randy Andy

Logisch,

und das mit dem amd64 Zweig hatte ich weiter oben ja auch schon erwähnt.

Dann noch das amd64 Handbuch verwenden und alles wird gut.

Gruß, Andy.

----------

## uhai

Danke Andy, an das Handbuch habe ich jetzt nicht gedacht...

uhai

----------

## uhai

ok, soweit hat es geholfen, Kernel ist gebacken.

ein "emerge metalog" ergibt allerdings:

```
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc

checking for C compiler default output file name...

configure: error: C compiler cannot create executables

See `config.log' for more details.

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/app-admin/metalog-0.8-r1/work/metalog-0.8/config.log

 *

 * ERROR: app-admin/metalog-0.8-r1 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line  209:  Called _eapi0_src_compile

 *               ebuild.sh, line  598:  Called econf

 *               ebuild.sh, line  534:  Called die

 * The specific snippet of code:

 *                      die "econf failed"

 *  The die message:

 *   econf failed

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/app-admin/metalog-0.8-r1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/app-admin/metalog-0.8-r1/temp/environment'.
```

Hat dass noch damit zu tun oder habe ich bereits ein neues Problem? Wo finde ich die config.log? DasSzstem ist noch fast blank...

uhai

----------

## Randy Andy

Hi uhai,

das ist auf jeden Fall ein anderes Problem, vermutlich mit dem gerade verwendeten Compiler.

Von welchem System (oder Live-CD) installierst du eigentlich, ist hoffentlich ein vollständiger Compiler drauf.

Guck doch mal mit 

```
gcc-config-l
```

nach der aktiven, und den zur verfügung stehenden Einstellungen.

Falls die nicht auf 'nem x86_64 profil stehen, s.U.

```
gcc-config -l

 [1] i686-pc-linux-gnu-4.4.2 

 [2] x86_64-pc-linux-gnu-4.3.3

 [3] x86_64-pc-linux-gnu-4.4.2 *

```

dann auf ein bei dir verfügbares x86_64 Profil setzen mit, z.B:

gcc-config x86_64-pc-linux-gnu-4.4.2

Umgebung aktualisieren mit 

```
env-update && source /etc/profile
```

und nochmal versuchen.

Wenn's garnicht geht, versuch mit der Installation fortzufahren, und lass den metalogger erst mal weg, bis du das System booten konntest, kannst ihn später noch installieren.

Nach dem booten auch mal schauen ob dein symlink auf die richtigen kernelquellen zeigt, enweder siehe Handbuch, oder falls eselect schon installiert ist mit:

```
eselect kernel list

eselect kernel set x
```

Auch dann nochmal compiler settings wie oben prüfen, und nochmal versuchen.

Alles Gute, Andy.

----------

## uhai

Danke Andy,

aber am Kompiler oder Szmlink liegt es wohl eher nicht...

```
livecd linux-2.6.31-gentoo-r6 # gcc-config -l

 [1] x86_64-pc-linux-gnu-4.3.4 *

livecd linux-2.6.31-gentoo-r6 # eselect kernel list

Available kernel symlink targets:

  [1]   linux-2.6.31-gentoo-r6 *

```

Ich wollte jetzt erstmal metalog auslassen und vixie-cron installieren, aber auch da komme ich nicht bis 

zum Ziel:

```
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc                 

checking for C compiler default output file name...                             

configure: error: in `/var/tmp/portage/mail-mta/ssmtp-2.62-r7/work/ssmtp':      

configure: error: C compiler cannot create executables                          

See `config.log' for more details.                                              

!!! Please attach the following file when seeking support:

!!! /var/tmp/portage/mail-mta/ssmtp-2.62-r7/work/ssmtp/config.log

 *                                                               

 * ERROR: mail-mta/ssmtp-2.62-r7 failed.                         

 * Call stack:                                                   

 *               ebuild.sh, line   49:  Called src_compile       

 *             environment, line 2822:  Called econf '--sysconfdir=/etc/ssmtp' '--enable-ssl' '--enable-inet6' '--disable-md5auth'                              

 *               ebuild.sh, line  534:  Called die                              

 * The specific snippet of code:                                                

 *                      die "econf failed"                                      

 *  The die message:                                                            

 *   econf failed                                                               

 *                                                                              

 * If you need support, post the topmost build error, and the call stack if relevant.                                                                           

 * A complete build log is located at '/var/tmp/portage/mail-mta/ssmtp-2.62-r7/temp/build.log'.                                                                 

 * The ebuild environment file is located at '/var/tmp/portage/mail-mta/ssmtp-2.62-r7/temp/environment'.                                                        

 *                                                                              

>>> Failed to emerge mail-mta/ssmtp-2.62-r7, Log file:

>>>  '/var/tmp/portage/mail-mta/ssmtp-2.62-r7/temp/build.log'

 * Messages for package sys-process/cronbase-0.3.2-r1:

 * Portage doesn't enforce proper permissions on already existing

 * directories (bug 141619). Appropriate permissions are now being set

 * on //etc/cron.{hourly,daily,weekly,monthly},

 * //var/spool/cron/ and //var/spool/cron/lastrun/

 * (see bug 182998)

 * Messages for package mail-mta/ssmtp-2.62-r7:

 *

 * ERROR: mail-mta/ssmtp-2.62-r7 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2822:  Called econf '--sysconfdir=/etc/ssmtp' '--enable-ssl' '--enable-inet6' '--disable-md5auth'

 *               ebuild.sh, line  534:  Called die

 * The specific snippet of code:

 *                      die "econf failed"

 *  The die message:

 *   econf failed

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/mail-mta/ssmtp-2.62-r7/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/mail-mta/ssmtp-2.62-r7/temp/environment'.

 *

 * GNU info directory index is up-to-date.

```

Auch "emerge slocate" bricht ab? Scheint nicht am Paket zu liegen...

Begonnen habe ich mit der Livedvd 10.0 und bin als Root im chroot - also im neuen System...

Scheint ein Rechte-Problem zu sein....

uhai

----------

## Randy Andy

uhai,

also ich würde ja beim nächsten mal die systemrescuecd verwenden.

Musst beim starten nur den cheatcode für den 64-bit kernel explizit angeben.

Damit hab ich noch nie huddel gehabt, die net-setup tool sind auch drauf, + Firefox.

Dann kann man online im Handbuch sein während der Installation etc.

Du kennst ja den Gentoo-Way... 

Wer weiss was alles nicht auf der LiveCD ist, ist ja vermutlich mal wieder nicht zum installieren gedacht, sonst hätt man ja gleich'n installer draufpacken können   :Wink: 

Gruß, Andy.

----------

## uhai

Scheint an march zu liegen:

```
gcc: march=core2: No such file or directory
```

Das habe ich von http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_2_Duo.2FQuad.2C_Xeon_51xx.2F53xx.2F54xx.2C_Pentium_Dual-Core_T23xx.2B.2FExxxx.2C_Celeron_Dual-Core

Mein gcc ist neu genug:

```
livecd linux-2.6.31-gentoo-r6 # gcc --version

gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4

Copyright (C) 2008 Free Software Foundation, Inc.

```

Nehme ich besser march=nocona? Was ist denn der Unterschied?

uhai

----------

## firefly

zeig mal deine make.conf

----------

## uhai

bitte sehr, hier:

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

CFLAGS="-O2 -pipe march=core2"

CXXFLAGS="${CFLAGS}"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="x86_64-pc-linux-gnu"

# These are the USE flags that were used in addition to what is provided by the

# profile used for building.

USE="qt3 qt4 kde dvd alsa cdr mmx sse sse2"

GENTOO_MIRRORS="http://distfiles.gentoo.org/ Please upgrade to  "

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
```

Vielen Dank firefly, dass Du immer vor dem Rechner auf meine Hilfeerufe wartest   :Very Happy: 

uhai

----------

## firefly

ah da haben wir schon den fehler:

es sollte -march=core2 heißen und nicht march=core2  :Wink: . Bemerke das "-" Zeichen vor dem march.

----------

## uhai

kleiner Strich - grosse Wirkung

jetzt funzts aber auch... vielen Dank an alle Helfer hier   :Very Happy: 

uhai

----------

## firefly

kein Problem, und setze den thread bitte noch auf solved/gelöst.

Einfach deinen ersten post bearbeiten und in den titel am anfang oder am ende das [solved] oder [gelöst] hinzufügen.

----------

