[debian]Custom kernel: Not an ELF file

Pagina: 1
Acties:
  • 223 views sinds 30-01-2008
  • Reageer

  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 13:14
Ik ben bezig met een mini thuisserver. Deze moet uiteindelijk meerdere services gaan draaien. Nu wil ik om de veiligheid te vergroten een Xen systeem opzetten. Nu heb ik dit al vaker gedaan zonder grote problemen.

Ik ben dus begonnen met de tutorial die ik al vaker gebruikt heb:
http://www.howtoforge.com...en_from_debian_repository
Echter hier liep ik stuk aangezien mijn processor (geode lx800) geen pae ondersteunt. Dus de "non pae" hypervisor geïnstalleerd, echter deze werkt niet samen met de standaard debian kernel, aangezien die gecompileerd is met pae. Wordt dus een custom kernel compileren. Ik heb hiervoor ook weer een tutorial gevonden:
http://www.backenhoernche...buildxenkernelnopae_howto
Nu heb ik deze tutorial gevolgd, maar dan krijg ik een fout-melding dat mijn kernel geen ELF bestand is.
met "readelf -h <filename>" komt er de volgende foutmelding uit:
readelf: Error: Unable to read in oxff bytes of section headers
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start

Blijkbaar is het compilen ergens fout gegaan.
Nu zijn er een paar kleine dingen anders:
Hij gebruikte kernel: 2.6.18-4 ik 2.6.18-5
Ik kreeg ipv: linux-source-2.6.18.tar.bz, linux-source-2.6.18.tar.bz2 te zien
Ik moet ook zoals aangegeven bij: Josh, 2007/09/08 10:04: make menuconfig van te voren uitvoeren.

Als ik de gecompileerde kernel opstart zonder xen hypervisor en initrd dan komt de volgende error naar voren:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) <6>Time: tsc clocksource has been installed.

Ik heb in de config opties voor de kernel gekeken en de optie van ELF staat aan.
Aan het einde van compilen kwam geen fout melding of iets dergelijks.
Ik heb verder niks kunnen vinden dat iets op deze fout lijkt onder deze omstandigheden.

P.S. Ik kan overstappen naar een andere distro/OS, maar ik heb tot nu toe voornamelijk met debian-achtige systemen gewerkt, zodat ik daar op dit moment het meeste vanaf weet. Verder wil ik er eigenlijk ook wel wat van leren.

Noobs don't use "F1", Pro's do, but they can't find the information they needed


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13:45

deadinspace

The what goes where now?

h.edink schreef op maandag 10 september 2007 @ 23:34:
Dus de "non pae" hypervisor geïnstalleerd, echter deze werkt niet samen met de standaard debian kernel, aangezien die gecompileerd is met pae.
Volgensmij is de standaard Debian kernel helemaal niet PAE-enabled?
$ dpkg -l linux-image-2.6.18-5-686*
ii  linux-image-2.6.18-5-686          2.6.18.dfsg.1-13etch1
pn  linux-image-2.6.18-5-686-bigmem   <none>

$ grep HIGHMEM /boot/config-2.6.18-5-686
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y

En uit 2.6.18's arch/i386/Kconfig:
code:
1
2
3
4
5
config X86_PAE
        bool
        depends on HIGHMEM64G
        default y
        select RESOURCES_64BIT


Heb je toevallig de -bigmem kernel geinstalleerd staan? Zo nee, waaruit maak je op dat het aan PAE ligt dat het niet werkt? Krijg je een error die daarop duidt?

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

'bz' archives lijken me wat vreemd, bz2 (bzip2) is gangbaar momenteel.

Wat zegt
code:
1
$ file <filename>

?

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje


  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 13:14
Borromini schreef op dinsdag 11 september 2007 @ 01:12:
'bz' archives lijken me wat vreemd, bz2 (bzip2) is gangbaar momenteel.

Wat zegt
code:
1
$ file <filename>

?
Ik krijg ook bz2, maar bz staat in de tutorial. Ik geef alleen maar op wat anders is t.o.v. tutorial, misschien dat ik daar iemand mee help.
deadinspace schreef op dinsdag 11 september 2007 @ 01:10:
[...]

Volgensmij is de standaard Debian kernel helemaal niet PAE-enabled?
$ dpkg -l linux-image-2.6.18-5-686*
ii  linux-image-2.6.18-5-686          2.6.18.dfsg.1-13etch1
pn  linux-image-2.6.18-5-686-bigmem   <none>

$ grep HIGHMEM /boot/config-2.6.18-5-686
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y

En uit 2.6.18's arch/i386/Kconfig:
code:
1
2
3
4
5
config X86_PAE
        bool
        depends on HIGHMEM64G
        default y
        select RESOURCES_64BIT


Heb je toevallig de -bigmem kernel geinstalleerd staan? Zo nee, waaruit maak je op dat het aan PAE ligt dat het niet werkt? Krijg je een error die daarop duidt?
Geen bigmem geinstalleerd. :
http://wiki.kartbuilding....p/Debian_Etch_Xen_Install
Note: The pae hypervisor was the one which was required
"Debian Xen System and PAE....this is a well known problem, because the Debian Xen Team cancelled support for non-pae kernels" - thanks serverchef.
Er zijn meerdere bevestigingen te vinden. Als ik de standaard kernel met nonpae xen gebruik krijg ik dus de fout melding dat de ene pae is en de andere niet.

edit: Klein foutje: je moet voor xen een andere kenrel downloaden uit de rep. deze is alleen te krijgen in de PAE versie.

[ Voor 66% gewijzigd door FireWood op 11-09-2007 19:33 ]

Noobs don't use "F1", Pro's do, but they can't find the information they needed


  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 13:14
Na gecontroleerd te hebben ben ik tot de volgende conclusie gekomen:
Ik vergiste me in de optie verschillen tussen de standaard kernel en de standaard xen kernel.

Ik heb nu de opties overgenomen van de standaard xen kernel en daarna pae uitgezet. De kernel wordt nu gecompileerd, maar ik heb nu goede hoop.

Noobs don't use "F1", Pro's do, but they can't find the information they needed


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13:45

deadinspace

The what goes where now?

Ahja, het is me nu ook duidelijk dat het gaat om de -xen kernel die niet zonder PAE support geleverd wordt, niet de host kernel.

Het is misschien ook mogelijk om die -xen kernel van Debian sources te bouwen (apt-get source linux-image-2.6.18-5-xen-686), maar alle kernel-images van één versie komen volgensmij uit dezelfde source tree, dus daar ben je wel even zoet mee dan. Het is vast mogelijk om het buildproces wijs te maken alleen de relevante -xen dingen te compilen, maar ik weet zo snel niet hoe.

  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 13:14
Het probleem is nu opgelost.
Bedankt

Noobs don't use "F1", Pro's do, but they can't find the information they needed

Pagina: 1