3.6 won't boot

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?

- Grant

Start with the beagleboard_defconfig under the config directory... As
there's been too many config changes between v3.1 -> v3.6...

Regards,

Or with the matching 'beaglebone' config under 'configs/' in the main repo...

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...

Where can I find config/ containing beagleboard_defconfig? I have
configs/ which contains 'beaglebone' and 'hawkboard' config files.

- Grant

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.

# gcc-config -l
[1] armv7a-softfp-linux-gnueabi-4.5.4 *

- Grant

"if" your in the correct branch "beagleboard-3.6"

They are right there:

https://github.com/beagleboard/kernel/tree/beagleboard-3.6/configs

If not, your in the wrong "branch" for the Beagle-xM..

Regards,

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..)

Regards,

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...

Where can I find config/ containing beagleboard_defconfig? I have
configs/ which contains 'beaglebone' and 'hawkboard' config files.

"if" your in the correct branch "beagleboard-3.6"

They are right there:

kernel/configs at beagleboard-3.6 · beagleboard/kernel · GitHub

If not, your in the wrong "branch" for the Beagle-xM..

I'm in beaglebone-3.6. I should have mentioned I was on the 'bone.
Sorry about that.

- Grant

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.

# gcc-config -l
[1] armv7a-softfp-linux-gnueabi-4.5.4 *

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:

U-Boot SPL 2011.09-00047-g5c0406d (Aug 24 2012 - 11:17:04)
Texas Instruments Revision detection unimplemented
No daughter card present
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img

U-Boot 2011.09-00047-g5c0406d (Aug 24 2012 - 11:17:04)

I2C: ready
DRAM: 256 MiB
WARNING: Caches not enabled
No daughter card present
NAND: HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

Net: cpsw
Hit any key to stop autoboot: 0
SD/MMC found on device 0
reading uEnv.txt

49 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
reading uImage

3026408 bytes read
## 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: 3026344 Bytes = 2.9 MiB
   Load Address: 80008000
   Entry Point: 80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Then it just hangs.

- Grant

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:

git clone git://arago-project.org/git/projects/u-boot-am33x.git

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?

- Grant

[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.

Regards,
Joel

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.

Regards
Abhi

Earlyprintk doesn't work when using a DT only platform, it needs to know which platform it is straight after boot, not after parsing the DT :frowning:

> 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:

https://groups.google.com/d/msg/beagleboard/AqqWC3wIgq8/kKPzyPYrSLwJ

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:

http://dev.gentoo.org/~armin76/arm/beaglebone/install.xml

- Grant