I ran patch.sh from the 3.6 branch, copied my 3.1 .config into
kernel/, and ran 'make oldconfig', but I can't boot the 3.6 kernel. I
get:
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-3.6.0-rc7-00219-g35e0f42
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2677120 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Can anyone tell me what I did wrong? Is there a particular option I'm
supposed to enable or not enable when running oldconfig?
Start with the beagleboard_defconfig under the config directory... As
there's been too many config changes between v3.1 -> v3.6...
Or with the matching 'beaglebone' config under 'configs/' in the main repo...
I copied beaglebone to .config, configured it, and tried to 'make
uImage' but I got:
arch/arm/boot/compressed/head.S:127: Error: selected processor does
not support requested special purpose register -- `mrs r2,cpsr'
arch/arm/boot/compressed/head.S:134: Error: selected processor does
not support requested special purpose register -- `mrs r2,cpsr'
arch/arm/boot/compressed/head.S:136: Error: selected processor does
not support requested special purpose register -- `msr cpsr_c,r2'
I then did 'make mrproper', copied beaglebone back to .config, and
tried to 'make uImage' but I get:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm/kernel/kprobes-thumb.o
arch/arm/kernel/kprobes-thumb.c: In function 't16_emulate_loregs_rwflags':
arch/arm/kernel/kprobes-thumb.c:1090:2: error: can't find a register
in class 'GENERAL_REGS' while reloading 'asm'
arch/arm/kernel/kprobes-thumb.c:1090:2: error: 'asm' operand has
impossible constraints
make[1]: *** [arch/arm/kernel/kprobes-thumb.o] Error 1
I can't seem to Google my way to victory in either case, but I did
gather that this could be related to my toolchain.
That "beaglebone" config, has thumb2 enabled by default, so unless you
have a very recent compiler from angstrom/linaro it isn't going to
work very well.. (or disable the thumb2 option in the config..)
I ran patch.sh from the 3.6 branch, copied my 3.1 .config into
kernel/, and ran 'make oldconfig', but I can't boot the 3.6 kernel. I
get:
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-3.6.0-rc7-00219-g35e0f42
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2677120 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Can anyone tell me what I did wrong? Is there a particular option I'm
supposed to enable or not enable when running oldconfig?
Start with the beagleboard_defconfig under the config directory... As
there's been too many config changes between v3.1 -> v3.6...
Or with the matching 'beaglebone' config under 'configs/' in the main repo...
I copied beaglebone to .config, configured it, and tried to 'make
uImage' but I got:
arch/arm/boot/compressed/head.S:127: Error: selected processor does
not support requested special purpose register -- `mrs r2,cpsr'
arch/arm/boot/compressed/head.S:134: Error: selected processor does
not support requested special purpose register -- `mrs r2,cpsr'
arch/arm/boot/compressed/head.S:136: Error: selected processor does
not support requested special purpose register -- `msr cpsr_c,r2'
I then did 'make mrproper', copied beaglebone back to .config, and
tried to 'make uImage' but I get:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm/kernel/kprobes-thumb.o
arch/arm/kernel/kprobes-thumb.c: In function 't16_emulate_loregs_rwflags':
arch/arm/kernel/kprobes-thumb.c:1090:2: error: can't find a register
in class 'GENERAL_REGS' while reloading 'asm'
arch/arm/kernel/kprobes-thumb.c:1090:2: error: 'asm' operand has
impossible constraints
make[1]: *** [arch/arm/kernel/kprobes-thumb.o] Error 1
I can't seem to Google my way to victory in either case, but I did
gather that this could be related to my toolchain.
That "beaglebone" config, has thumb2 enabled by default, so unless you
have a very recent compiler from angstrom/linaro it isn't going to
work very well.. (or disable the thumb2 option in the config..)
I reconfigured without thumb2 and it compiled fine, but I still have
the same problem trying to boot:
I reconfigured without thumb2 and it compiled fine, but I still have
the same problem trying to boot:
[snip]
Starting kernel ...
Then it just hangs.
- Grant
It doesn't respond to pings. I'm using the configs/beaglebone config
file unaltered except for disabling thumb2. Could this be happening
because I need to update u-boot? I've cloned the latest:
But I seem to run out of memory when I try to make, even with a 1GB swap file:
ld: u-boot-spl section `.data' will not fit in region `.sram'
ld: region `.sram' overflowed by 163 bytes
make[1]: *** [/root/u-boot-am33x/spl/u-boot-spl] Error 1
make[1]: Leaving directory `/root/u-boot-am33x/spl'
make: *** [spl/u-boot-spl.bin] Error 2
I'm enlarging the swap file now, but is there another avenue I should
be exploring?
[Joel]
Just wondering if you got past this?
There are a couple of tricks to try. earlyprintk for one should tell
you what's going on. Did you follow the instructions in the README for
how to build the kernel?
beaglebone-3.6 branch boots fine on a beaglebone and in an appended
dtb build. This is with U-boot mainline, so do give that a try.
I think the problem is with console device you are choosing. It should be
ttyO0 as I remember. When it hangs at "starting Kernel.." most of the time
it means wrong console device.
> I reconfigured without thumb2 and it compiled fine, but I still have
> the same problem trying to boot:
>
[snip]
>
> Starting kernel ...
>
> Then it just hangs.
>
[Joel]
Just wondering if you got past this?
There are a couple of tricks to try. earlyprintk for one should tell
you what's going on. Did you follow the instructions in the README for
how to build the kernel?
beaglebone-3.6 branch boots fine on a beaglebone and in an appended
dtb build. This is with U-boot mainline, so do give that a try.
Thanks Joel. I got past it and reported on it here:
The problem was that I wasn't running 'make uImage-dtb.am335x-bone'.
As indicated in the above post, I had some trouble with mainline
u-boot after that but it's been fixed and the Gentoo guide was just
updated to use mainline so that shouldn't be a problem any more: