View previous topic :: View next topic |
Author |
Message |
idella4 Retired Dev
Joined: 09 Jun 2006 Posts: 1600 Location: Australia, Perth
|
Posted: Wed Aug 11, 2010 10:13 am Post subject: build setting error [finally fixed] |
|
|
This should be a fairly simple one line answer to clean this up.
I'm rebuilding a kernel and on boot it puuls up with
can only load kernel built for generic loader or linux image.
Just don't know what a generic loader is, where it comes from or how to appease it.
Quote: |
.config - Linux Kernel v2.6.31.13-xen Configuration
────────────────────────────────────────────────────────────────────────────────────────
┌────────────────────── Executable file formats / Emulations ───────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted │
│ letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes │
│ features. Press <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] │
│ built-in [ ] excluded <M> module < > module capable │
│ ┌───────────────────────────────────────────────────────────────────────────────┐ │
│ │ [*] Kernel support for ELF binaries │ │
│ │ [*] Write ELF core dumps with partial segments │ │
│ │ <*> Kernel support for a.out and ECOFF binaries │ │
│ │ <*> Kernel support for MISC binaries
|
Is someone knows about this, can you explain how 64 differs to 32 config. This .config picked up the setting from a gentoo64, although I entered make ARCH=x86. _________________ idella4@aus
Last edited by idella4 on Fri Aug 13, 2010 2:06 pm; edited 1 time in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54809 Location: 56N 3W
|
Posted: Wed Aug 11, 2010 8:04 pm Post subject: |
|
|
idella4,
Do a binary search on the config file to locate the issue.
First remove the .config and see if make menuconfig runs.
If so, throw away the defualt .config, if you saved it and copy the original config back to the tree.
Edit the .config file directly and throw away the last half.
If menuconfig fails, the problem is in the remaining half, if it works, the problem in in the half you threw away.
Now try with half of the half with the error ... _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
idella4 Retired Dev
Joined: 09 Jun 2006 Posts: 1600 Location: Australia, Perth
|
Posted: Thu Aug 12, 2010 12:57 am Post subject: |
|
|
Neddy,
woa, that's the most interesting tip I have from you yet. I tried it a few times but couldn't follow.
By binary it take it you mean testing a half, the halving that half repeatedly.
Since sending you the IM, I've found more confounding info on this kernel.
It's intended to be a xem kernel. It's almost definitely a xensource origin kernel, or at least compatible to them.
The boot error aside, consider this.
On copying a gentoo xen kernel 2.6.31 config into the kernel's .config, I run menuconfig, or oldconfig.
Before doing so, the xen content of the kernel config gives this.
Code: |
idella@genny /mnt/gentoo/linux-2.6-xen $ grep XEN .configCONFIG_X86_XEN=y
# CONFIG_PCI_GOXEN_FE is not set
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_XEN_PCIDEV_FE_DEBUG=y
CONFIG_XEN=y
CONFIG_XEN_INTERFACE_VERSION=0x00030207
# XEN
CONFIG_XEN_PRIVILEGED_GUEST=y
# CONFIG_XEN_UNPRIVILEGED_GUEST is not set
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_XENBUS_DEV=y
CONFIG_XEN_NETDEV_ACCEL_SFC_UTIL=m
CONFIG_XEN_BACKEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_XEN_BLKDEV_TAP=y
CONFIG_XEN_BLKDEV_TAP2=m
CONFIG_XEN_BLKBACK_PAGEMAP=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_XEN_NETDEV_TX_SHIFT=8
# CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set
CONFIG_XEN_NETDEV_LOOPBACK=y
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_XEN_PCIDEV_BACKEND_VPCI=y
# CONFIG_XEN_PCIDEV_BACKEND_PASS is not set
# CONFIG_XEN_PCIDEV_BACKEND_SLOT is not set
# CONFIG_XEN_PCIDEV_BACKEND_CONTROLLER is not set
# CONFIG_XEN_PCIDEV_BE_DEBUG is not set
CONFIG_XEN_TPMDEV_BACKEND=m
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_USB_BACKEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_ACCEL_SFC_FRONTEND=m
CONFIG_XEN_SCSI_FRONTEND=m
CONFIG_XEN_USB_FRONTEND=m
CONFIG_XEN_USB_FRONTEND_HCD_STATS=y
CONFIG_XEN_GRANT_DEV=m
CONFIG_XEN_FRAMEBUFFER=m
CONFIG_XEN_KEYBOARD=m
# CONFIG_XEN_DISABLE_SERIAL is not set
CONFIG_XEN_SYSFS=y
CONFIG_XEN_NR_GUEST_DEVICES=256
# CONFIG_XEN_COMPAT_030002_AND_LATER is not set
# CONFIG_XEN_COMPAT_030004_AND_LATER is not set
# CONFIG_XEN_COMPAT_030100_AND_LATER is not set
# CONFIG_XEN_COMPAT_030200_AND_LATER is not set
CONFIG_XEN_COMPAT_030300_AND_LATER=y
# CONFIG_XEN_COMPAT_LATEST_ONLY is not set
CONFIG_XEN_COMPAT=0x030300
CONFIG_XEN_VCPU_INFO_PLACEMENT=y
CONFIG_XEN_SMPBOOT=y
CONFIG_XEN_DEVMEM=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
|
Then after running menuconfig or oldconfig, it yields
Code: |
idella@genny /mnt/gentoo/linux-2.6-xen $ grep XEN .config
# CONFIG_XEN_PRIVILEGED_GUEST is not set
|
It's as if it were a regular kernel, no xen drivers. This occurs for arch=x86. If you use x86_64, you can get a collection of xen drivers, but a lesser amount of driver options than provided in the gentoo xen kernel, and the location of some entries differs, which you might expect. This is nonsensical. I'm trying to use this particular kernel because it took the patch provided from xensource. It all started from here
Anyway, I've sent an IM to pappy to try bring him in on this, I've outlined in slightly more detail.
The point is this second feature just queries the credibility and usability of the whole kernel, short of me just not configuring it right.
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
edit:
right, treading the learning curve, I've found a cause. I've had to send papy a second message. I just found the answer at xensource/ I fnally worked my way to the xensource docs, and found a match for all the above. I've yet to try it out. The xen kernel from there, maybe gentoo's too don't know yet, requires PAE support. So that means I can finally get this kernel in use as a host. Just wonder if it's so vital that it wasn't in the README. Anyway, on it's way to being sorted. _________________ idella4@aus |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54809 Location: 56N 3W
|
Posted: Thu Aug 12, 2010 7:26 pm Post subject: |
|
|
idella4,
Thats exactly what a binary search is. Consider searching for a name in a phone book, or a word in a dictionary.
Open the book in the middle. Work out which half your name/word is in. Look half way into the correct half ... and so on.
Its a very efficient search as a list of 2^n items needs only n tests. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
idella4 Retired Dev
Joined: 09 Jun 2006 Posts: 1600 Location: Australia, Perth
|
Posted: Fri Aug 13, 2010 9:29 am Post subject: |
|
|
Neddy,
thanks I'm with you there. I still appreciate your efforts. I recognize your method from a lecture in beginner programing way back in 2000 or so, Other than you now this thread had gone cold, and I've been in touch with pappy. In summary, the initial block I described for this is resolved. I will remember your tip, but that aside, I think the block was due to this xensource kernel having a dependency on PAE, which is one of those terms I see and wonder what's that all about. The block, as I suspected, required one setting to be set and it
1 - opened up the other required xen content that is xen,
2 - cured the cited block or wrror re the generic loader, wherever that is.
The problem now is twofold
1 - pappy declares me the xen expert and doesn't know
2 - the kernel loading issue has changed to a completely different block.
Now, as I pointed out to pappy, I have 3 gentoo xen kernels and 1 xensource kernel copied a couple of time, a real glut.
The 3 gentoo ones, all work in in gentoo64. In gentoo32, 2 work. The xensource one I have used for making xen guest kernels.
The current requirement is to finally get the xensource kernel to build a xen host kernel.
Having finally found the PAE setting [select 64 G in high mem in processor settings] to make active the xensource kernel components, I have yet to get there, this is despite using make copying a known good config from the closely related effective cousin kernels use make oldconfig and also make defconfig. I'm still trying, but I am currently quite stuck.
I don't want to make a new thread. In your style, you will return to this and view my reply to your last.
I think a new thread isn't worth it, let's just rely on you and stay with this one.
The current issue is the loading of the kernel image. Despite several attempts as above, my configs keep bringing up an unfamiliar error saying the prepared kernel image for dom0 doesn't have enough space to load. It cites a memory address. I've tried taking the cited memory address space and inserting it in the kernel config. which is only because I don't know what I'm doing.
Suffice to say, it was just 1 of several attempts that came to leading to an alternate error.
So, in all this is more of that steep learning curve.
I shall post now, edit later and more clearly cite this error and keep trying. You would think that I could take the gentoo good 2.6.31 config and use it as a base to build a good config in the selected kerne;, but it keeps getting derailed.
Rather than calling on your method to track it down from cold, I'm fairly confident the settings that require correct entries are narrowed down to
Quote: |
.config - Linux Kernel v2.6.34-xen Configuration
───────────────────────────────────────────────────────────────────────────────────────────
┌──────────────────────────── Processor type and features ─────────────────────────────┐
│ High Memory Support (64GB) ---> │ │
│ │ -*- PAE (Physical Address Extension) Support │ │
│ │ Memory model (Flat Memory) ---> │ │
│ │ [*] Enable KSM for page merging │ │
│ │ (4096) Low address space to protect from user allocation │ │
│ │ [ ] Allocate 3rd-level pagetables from highmem │ │
│ │ [*] Enable seccomp to safely compute untrusted bytecode │ │
│ │ [ ] Enable -fstack-protector buffer overflow detection (EXPERIMENTAL) │ │
│ │ Timer frequency (1000 HZ) ---> │ │
│ │ [*] kexec system call │ │
│ │ (0x100000) Physical address where the kernel is loaded │ │
│
|
and
Quote: |
.config - Linux Kernel v2.6.34-xen Configuration
───────────────────────────────────────────────────────────────────────────────────────────
┌───────────────────────── Power management and ACPI options ──────────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted letters │
│ are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features. Press │
│ <Esc><Esc> to exit, <?> for Help, </> for Search. Legend: [*] built-in [ ] │
│ excluded <M> module < > module capable │
│ ┌──────────────────────────────────────────────────────────────────────────────────┐ │
│ │ [*] Power Management support │ │
│ │ [ ] Power Management Debug Support │ │
│ │ [*] Suspend to RAM and standby │ │
│ │ [*] Run-time PM core functionality │ │
│ │ [*] ACPI (Advanced Configuration and Power Interface) Support ---> │ │
|
In fact I would thin an option passed to the kernel on boot might be able to fix it, one I know nothing about.
p.s. this is slow going and thus very time consuming. As an axtra, why is 32 so slow compared to 64. Each change I make seems to change a fundamental and it redoes the lot quite slowly. I've included ccache but seems to make no impression. A compile in 32 invokes a the cpu to close to 100% usage, gentoo64 seems to take it in its stride.
Is there a setting in the host kernel to improve the efficiency of the cpu usage and use of memory, something else I know nothing about. This seems to be an occasion to use the gentoo style power settings to improve and tweak the kernel to a required optimum. _________________ idella4@aus |
|
Back to top |
|
|
idella4 Retired Dev
Joined: 09 Jun 2006 Posts: 1600 Location: Australia, Perth
|
Posted: Fri Aug 13, 2010 10:24 am Post subject: |
|
|
Neddy,
thanks I'm with you there. I still appreciate your efforts. I recognize your method from a lecture in beginner programing way back in 2000 or so, Other than you now this thread had gone cold, and I've been in touch with pappy. In summary, the initial block I described for this is resolved. I will remember your tip, but that aside, I think the block was due to this xensource kernel having a dependency on PAE, which is one of those terms I see and wonder what's that all about. The block, as I suspected, required one setting to be set and it
1 - opened up the other required xen content that is xen,
2 - cured the cited block or error re the generic loader, wherever that is with my find.
Quote: |
This should be a fairly simple one line answer to clean this up.
|
all right. this was xen specific. I finally found it. The compiles I did were probably all fine. {[I really needed the practice.]
In the grub setting in xen, the first step is to boot into xen-`version`.gz. I had an entry from another kernel which stipulated the memory.
For some reason the setting though seeming same was triggering this error. Once removed, the kernel booted.
Neddy, I'm afraid I mislead you on this one. It wasn't the kernel. it was the grub kernel arg. _________________ idella4@aus |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|