Kernel config options that are required/forbidden?

General discussion relating to the O2 Joggler, from the default O2 setup, to alternative operating systems and applications.
Post Reply
User avatar
torne
Posts: 14
Joined: Thu Jan 19, 2012 1:35 am
Location: London, UK
Contact:

Kernel config options that are required/forbidden?

Post by torne »

I'm attempting to get the standard Debian kernel to support the joggler, in order that you can run debian-installer on-device and generally use it without a custom kernel package. If I use the debian sources with the config from http://joggler.exotica.org.uk/ubuntu/ the kernel works, but the standard debian config just hangs after grub with no output. It doesn't get far enough to log anything over netconsole either (after patching the network driver to assign a valid MAC to the ethernet interface).

The differences between the config are massive, so identifying what's causing it to fail to boot by guessing is going to take a while. Anyone know of any config options which are particularly troublesome? The things I've checked:

* It does have EFI support including the EFI framebuffer console
* Disabled CONFIG_RELOCATABLE as mentioned in some blog entries, but that doesn't seem to be required for booting with grub

Any hints welcomed! :)
User avatar
BuZz
Site Admin
Posts: 1462
Joined: Fri Mar 04, 2011 1:15 am

Re: Kernel config options that are required/forbidden?

Post by BuZz »

not sure - maybe stick your config somewhere and i can have a look. ruled out bootloader etc also ?

Perhaps go though some of the more important sections on menuconfig side by side and do a "visual" compare.

If you want working sound/backlight control/light sensors support you will need some patches against the kernel.
User avatar
torne
Posts: 14
Joined: Thu Jan 19, 2012 1:35 am
Location: London, UK
Contact:

Re: Kernel config options that are required/forbidden?

Post by torne »

It's the standard Debian i386 3.1.8 kernel from unstable; here's a copy: http://whitefang.wolfpuppy.org.uk/temp/debian-config
Thousands of options are different, but there's nothing that's obviously suspect.

I don't care about the patches currently since they aren't required to boot; I'll work on getting them in upstream later.
User avatar
BuZz
Site Admin
Posts: 1462
Joined: Fri Mar 04, 2011 1:15 am

Re: Kernel config options that are required/forbidden?

Post by BuZz »

i would switch off the video drivers/ frame buffer support that are not needed incase probing something is causing an issue. are you getting some output from grub before it boots?
User avatar
torne
Posts: 14
Joined: Thu Jan 19, 2012 1:35 am
Location: London, UK
Contact:

Re: Kernel config options that are required/forbidden?

Post by torne »

Already tried with the other video drivers disabled, doesn't help. Grub prints the usual output then everything just stops. I'm currently building a series of kernels based on the working ubuntu config, but successively changing options to match the debian defaults. So far it's still working, so nothing that I've changed yet is the problem :)
User avatar
torne
Posts: 14
Joined: Thu Jan 19, 2012 1:35 am
Location: London, UK
Contact:

Re: Kernel config options that are required/forbidden?

Post by torne »

Found it: recent kernels are by default built to run from a 16MB aligned address, whereas all the joggler kernels that work are aligned to 1MB. This appears to be grub's fault for loading it in the wrong place and then the kernel relocating itself to somewhere that overwrites EFI services. To work around this you need to set CONFIG_PHYSICAL_ALIGN to 0x100000.

A better fix is to fix grub, which I'm talking to someone about now. Recent versions of grub also support the joggler screen just fine with no patches. I'll see what I can get sorted :)
User avatar
BuZz
Site Admin
Posts: 1462
Joined: Fri Mar 04, 2011 1:15 am

Re: Kernel config options that are required/forbidden?

Post by BuZz »

cool stuff thanks.

i recently built a new grub, and my joggler efi got trashed. im hoping it was just a coincidence, but hand't tried again since it was a massive a**e to hotswap the efi flash etc.

would be nice to get some of the other joggler stuff upstream. i know alsa patches were posted and ignored before. worth another try. the i2c patch forced a set size to a transaction or so, not sure the best fix, but maybe upstream could advise.

anyway, good work for sure. funnily enough, there is something familiar about the alignment. maybe i bumped into it and failed to document or my memory is playing tricks. cheers.
User avatar
BuZz
Site Admin
Posts: 1462
Joined: Fri Mar 04, 2011 1:15 am

Re: Kernel config options that are required/forbidden?

Post by BuZz »

using the new efi now. thanks for the heads up and your useful blog.

know a way of getting usb keyboard support in grub from a usb booted disk ?I read before on http://jogglerhacks.blogspot.co.uk/2010 ... ggler.html

"This way, Refit is added to the internal (nvram) bootloader list. That's needed to have a working keyboard."

Is there anyway to get a working keyboard in grub without doing ths ?
User avatar
BuZz
Site Admin
Posts: 1462
Joined: Fri Mar 04, 2011 1:15 am

Re: Kernel config options that are required/forbidden?

Post by BuZz »

patches/config for kernel 3.2.16 here - http://joggler.exotica.org.uk/source/kernel/3.2.16/

One additional code change from 3.2.4 to revert an alsa change that broke headphone/speaker switching - http://joggler.exotica.org.uk/source/ke ... er-f.patch
User avatar
torne
Posts: 14
Joined: Thu Jan 19, 2012 1:35 am
Location: London, UK
Contact:

Re: Kernel config options that are required/forbidden?

Post by torne »

BuZz wrote:using the new efi now. thanks for the heads up and your useful blog.

know a way of getting usb keyboard support in grub from a usb booted disk ?I read before on http://jogglerhacks.blogspot.co.uk/2010 ... ggler.html

"This way, Refit is added to the internal (nvram) bootloader list. That's needed to have a working keyboard."

Is there anyway to get a working keyboard in grub without doing ths ?
No, if you start from a .nsh script you will always have no keyboard as far as I can tell. You need to modify the boot manager configuration to boot something without relying on a .nsh script. This is why my Joggler currently has rEFIt installed on the eMMC set as the first boot option in bootmgr :)

The process doesn't need to be anywhere near as complicated as described there, though, you can do what I describe in my "installing rEFIt" post: http://wuffcode.wolfpuppy.org.uk/2012/0 ... refit.html

You don't need to actually install rEFIt, just copy *some* bootloader to the eMMC (e.g. grub.efi) and add it as the first choice in the boot manager. Using rEFIt is the easiest way to get a working shell to do this with.
Post Reply