BeagleBoard xM at 1GHz

Hi Robert !

I’m very glad you took some time to answer me !!

Excuse me if I’m asking trivial or foolish issues, but I’m pretty new to kernel/linux patching/adjusting…

When you say:

Yeah, use the Angstrom v3.0.x or v2.6.32 based kernels… (those
Patches will not work with v3.6.x).

or …

Debian doesn’t care what the kernel version is, just have tmpdev
enabled in what ever version you build…

… are you talking about …

  • Patching and rebuilding Angstrom kernel ?

  • Any other kernel ? (wich one ?)

  • The entire Debian distro ?

  • All above ?

Any hint or link to recipes/tutorials/step-by-step on these jobs would be highly appreciated !!

Thanks !!
Alberto

PS: A this time, based on all I have read on this Google Group, I think this OMAP board(s) should be named “RobertBoard” !! jajaja !!! Keep up the god work !!!

Hi Robert !

I'm very glad you took some time to answer me !!

Excuse me if I'm asking trivial or foolish issues, but I'm pretty new to
kernel/linux patching/adjusting...

When you say:

Yeah, use the Angstrom v3.0.x or v2.6.32 based kernels.. (those
Patches will not work with v3.6.x).

or ...

Debian doesn't care what the kernel version is, just have tmpdev
enabled in what ever version you build..

... are you talking about ...

Patching and rebuilding Angstrom kernel ?
Any other kernel ? (wich one ?)
The entire Debian distro ?
All above ?

I'm talking about just rebuilding the v2.6.32 or v3.0.x based Angstrom
Kernel and installing that kernel image/modules to your existing
Wheezy SD card..

Any hint or link to recipes/tutorials/step-by-step on these jobs would be
highly appreciated !!

I don't know where the v2.6.32 repo is anymore, but the Angstrom v3.0.x is here:

https://github.com/beagleboard/kernel

checkout the "beagleboard-3.0" branch and run "./patch.sh" then just
build the kernel under the kernel directory..

something like:

export CC="/opt/gcc/gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-"

cd ./kernel
make ARCH=arm CROSS_COMPILE=${CC} distclean

cp -v ../patches/beagleboard/defconfig .config

make ARCH=arm oldconfig

make -j5 ARCH=arm CROSS_COMPILE="${CC}" uImage modules

Regards,

I’m getting closer to grasp this beast…

checkout the “beagleboard-3.0” branch and run “./patch.sh” then just
build the kernel under the kernel directory…
something like:
export CC="/opt/gcc/gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-"
cd ./kernel

Do you mean something like this ?

I’m talking about just rebuilding the v2.6.32 or v3.0.x based Angstrom
Kernel and installing that kernel image/modules to your existing
Wheezy SD card…

Well, while waiting for your reply I tried pulling the 2.6.32 uImage from the Angstrom SD and managed to put it into the Wheezy SD. I had to play a little with the uBoot params because the bootz command in the default Wheezy image didn’t recognize the Angstrom uImage (I believe it is because the zImage is compressed and the uImage is not, but I’m just guessing)

I managed to put the Angstrom 2.6 uImage on rootfs/boot, created the symlink and got the kernel finally loaded and booted, but then a lot of errors started to appear on the serial console. I guess the Wheezy image is not happy with an older kernel. Furthermore, the SSH and other services didn’t started at all.

Any clue ??

Or is this approach a nonsense ? I was just trying to avoid to have to rebuild the entire kernel.

Thanks !!!
Alberto

I'm getting closer to grasp this beast...

checkout the "beagleboard-3.0" branch and run "./patch.sh" then just
build the kernel under the kernel directory..
something like:
export
CC="/opt/gcc/gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-"
cd ./kernel
...

Do you mean something like this ?

That's fine..

Or Mark's guide here:
http://elinux.org/EBC_Exercise_08_Installing_Development_Tools

Which uses that same repo i reference, just for a different
branch..(defconfig is in a different location)...

I'm talking about just rebuilding the v2.6.32 or v3.0.x based Angstrom
Kernel and installing that kernel image/modules to your existing
Wheezy SD card..

Well, while waiting for your reply I tried pulling the 2.6.32 uImage from
the Angstrom SD and managed to put it into the Wheezy SD. I had to play a
little with the uBoot params because the bootz command in the default Wheezy
image didn't recognize the Angstrom uImage (I believe it is because the
zImage is compressed and the uImage is not, but I'm just guessing)

Change bootz -> bootm...

uImage = zImage + u-boot header... (it was so nice to get rid of that
header requirement in u-boot. :wink: )..

I managed to put the Angstrom 2.6 uImage on rootfs/boot, created the symlink
and got the kernel finally loaded and booted, but then a lot of errors
started to appear on the serial console. I guess the Wheezy image is not
happy with an older kernel. Furthermore, the SSH and other services didn't
started at all.

Any clue ??

It depends on the errors... pastebin.com...

Regards,

Hi Robert !!

It depends on the errors… pastebin.com

your wishes… my command… http://pastebin.com/cTa7LntZ

In the meantime… cloning and patching the kernel repo. I’ll start a build tonight and see what happened in the morning.

Thanks for your help !!

Alberto

udevd[60]: unable to receive ctrl connection: Function not implemented

Based on google: there's a patch for 2.6.32 to make this work. (udev
is too new, and the kernel is too old..)

http://www.solid-run.com/phpbb/viewtopic.php?f=11&t=652

Regards,

Based on google: there’s a patch for 2.6.32 to make this work. (udev
is too new, and the kernel is too old…)

… what takes again to kernel patch/rebuild, doesn’t it ?

going through that road then… I’ll post my results.

Thanks !!!
Alberto

Robert,

Please tell how to obtain the toolchain?
gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux/bin/arm-linux-gnueabihf-"

Regards,
Max

26.11.2012, в 2:50, Robert Nelson <robertcnelson@gmail.com> написал(а):

I just grab them from: https://launchpad.net/linaro-toolchain-binaries

Regards,

Hi Robert,

I managed to build and install a new kernel image, but now I get:

U-Boot 2012.10-00009-g092169b (Oct 15 2012 - 12:27:44)

OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev C
No EEPROM on expansion board
No EEPROM on expansion board
Die ID #7cdc00029ff800000168300f0801d00a
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
gpio: pin 173 (gpio 173) value is 0
gpio: pin 4 (gpio 4) value is 0
SD/MMC found on device 0
reading uEnv.txt

456 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc …
reading uImage30

3362552 bytes read
Booting from mmc …

Booting kernel from Legacy Image at 80300000 …

Image Name: Linux-3.0.29+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3362488 Bytes = 3.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.

… and the BeagleBoard freezes from there on.

The uEnv.txt I’m using (borrowed fro the Wheezy image and adjusted) is:

kernel_file=uImage30

console=ttyO2,115200n8
optargs=console=tty0
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext3 rootwait fixrtc

mmcargs=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}

boot_fstype=fat
xyz_load_image=${boot_fstype}load mmc 0:1 0x80300000 ${kernel_file}
xyz_mmcboot=run xyz_load_image; echo Booting from mmc …

loaduimage=run xyz_mmcboot; run mmcargs; bootm 0x80300000 0x81600000:${initrd_size}

I’ve tried with ttyS2 and ttyO2 with same (bad) luck.

Any hint ???

Alberto

Alberto, just to test the compatibility: remove uEnv.txt and try to boot. At least you will test if this u-boot works with this kernel.

Отправлено с iPad

26.11.2012, в 23:38, AlbertoLopSie <alberto2k7@gmail.com> написал(а):

Hi lisarden,

Test done. Exactly same result.

What do you mean with kernel compatibility. It’s a kernel I just built according to instructions given by Robert and this page.

Do you mean the kernel is corrupt or incorrectly built ? How do I fix it ?

Alberto.

Hi Alberto,

Try setting the mpurate=1000 or mpurate=auto in environmental variables. Also, as I see from log message that your kernel is already uncompressed, so why is u-boot trying to uncompress it again?

Regards,
Pradeep

Hi Pradep.

No idea… I´m just a new kid in this block :wink:

Hi Robert,

I gave up with kernel rebuild (at least for now)

I finally restored the previous 3.6.7 image, and from there just “downgraded” it to one of your images in http://www.rcn-ee.net/deb/wheezy-armhf/v3.0.40-x4/. The install-me.sh script did all the work for me.

Now the board boots a 3.0.40 kernel that at least now can run the BB-xM at 800 Mhz with no other tweak. I´ll try setting mpurate=1000 later and see what happens.

The kernel I was trying to build was the 3.0.29. Is there any difference between this two images regarding CPU speed ?

Thanks !!
Alberto

Well… 1GHz not available in 3.0.40 kernel. Even setting mpurate=1000 in uEnv.txt doesn´t allow 1GHz in cpufreq-info

Anyone knows which Wheezy-armhf kernel image has the CPU speed patches allowing 1GHz in ( I would take a Squeeze as good too) ?

Anyone knows how to set cpufreq-set -g userspace and cpufreq-set -f 800m by default at boot ?

Thanks !!
Alberto

This is the patch that did it for 3.0.x

https://github.com/beagleboard/kernel/blob/beagleboard-3.0/patches/beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch

Regards,

And, is it applied to the 3.0.40 image in http://www.rcn-ee.net/deb/wheezy-armhf/v3.0.40-x4/ ?

Anything else to enable 1GHz ?

And, is it applied to the 3.0.40 image in
http://www.rcn-ee.net/deb/wheezy-armhf/v3.0.40-x4/ ?

Sorry no idea, I pushed that out on August 9th, 2012..

https://github.com/RobertCNelson/stable-kernel/commit/4b9d6c88fb96d8f402c151298b38a75991c6a3d5

Anything else to enable 1GHz ?

Sorry if it was trivial fix it would be done already.. That patches
that existed for Angstrom in v3.0.x to make it work, just can't be
rebased easily due to the 2 or 3 rewrites in the omap pm tree that
happened since then..

Bottom line: use: https://github.com/beagleboard/kernel/tree/beagleboard-3.0

If it doesn't boot, revert back to the same tools that existed at the
time.. (older gcc/binutils/etc) or start patching arm build fixes..

Regards,

btw there's an older 3.0.x angstrom image here:

http://downloads.angstrom-distribution.org/demo/beagleboard/

give it a try..

Regards,