Pandora Help Compiling modified up to date Kernel?


Asaggynoodle

Long Term Lurker
Joined
Jan 4, 2012
Messages
177
Location
USA
Good day all,

I'm curious if anyone has an updated guide that can guide me through the steps of compiling the latest kernel for SZ 1.74?
I've read the Wiki page a few dozen times and tried to follow the steps but 90% of the content is WAY out dated, and outrageously confusing.

Funny enough, All I'm modifying is one single line of code for all of this.
File:
arch/arm/mach-omap2/opp3xxx_data.c
Line 67 Before:
67 #define OMAP3630_VDD_MPU_OPP1G_UV 1375000
Line 67 After:
67 #define OMAP3630_VDD_MPU_OPP1G_UV 1400000


All I'm looking to do is provide an addition 25mV to the VCC for the 1Ghz OPP (OMAP3630_VDD_MPU_OPP1G_UV).
The thing I'm not 1000% sure on, is what these Hex fuse values mean in the omap_volt_data struct. Or if they need to be modified at all to begin with.

Line 73:
VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27)


If anyone would find it easier just to compile the uImage with the change above and upload it here, that would be perfectly welcomed too.
Thank you :)
 
By latest you mean our old 3.2.78 or the mainline 4.5+?

Hmm the wiki used to have 3.2 build instructions, now it's only old 2.6 stuff from somewhere, strange...
 
By latest you mean our old 3.2.78 or the mainline 4.5+?

Hmm the wiki used to have 3.2 build instructions, now it's only old 2.6 stuff from somewhere, strange...

That's what I was noticing, there is some "Patchwork" on the header of that wiki page about the 3.2 kernel.
I'm interested in whichever branch is used in the latest Superzaxxon 1.74, I'm guessing 4.5+?


The instructions here should work.
The thing I'm unsure about is that some of the parts are mainly taking about cygwin, then it gives me 4 options for the toolchain, I appreciate that, but I just need to know which one should be used.
Some things say I need to use a certain toolchain otherwise I will need to reapply the patches, the header says after 3.2 I don't need to do that etc. I find it slightly confusing.
 
You don't need any patch with the official 3.2.

mkdir -p /usr/src/
cd /usr/src/

git clone git://openpandora.org/pandora-kernel.git

ln -s pandora-kernel linux
cd pandora-kernel
git checkout --track -b pandora-3.2 origin/pandora-3.2
make omap3_pandora_defconfig
rm scripts/kconfig/qconf.moc

make clean
make uImage
make modules
make modules_install

rm /boot/uImage
cp arch/arm/boot/uImage /boot/uImage

After reboot :

UNAME=$(uname -r)
cd /usr/src/
git clone git://openpandora.org/sgx.git
cd sgx/
git checkout
git pull

make KERNELDIR=/usr/src/linux/ clean
make KERNELDIR=/usr/src/linux/

mkdir -p /lib/modules/$UNAME/kernel/drivers/gpu/pvr/
cp pvr/*.ko /lib/modules/$UNAME/kernel/drivers/gpu/pvr/

depmod -ae
 
You don't need any patch with the official 3.2.

mkdir -p /usr/src/
cd /usr/src/

git clone git://openpandora.org/pandora-kernel.git

ln -s pandora-kernel linux
cd pandora-kernel
git checkout --track -b pandora-3.2 origin/pandora-3.2
make omap3_pandora_defconfig
rm scripts/kconfig/qconf.moc

make clean
make uImage
make modules
make modules_install

rm /boot/uImage
cp arch/arm/boot/uImage /boot/uImage

After reboot :

UNAME=$(uname -r)
cd /usr/src/
git clone git://openpandora.org/sgx.git
cd sgx/
git checkout
git pull

make KERNELDIR=/usr/src/linux/ clean
make KERNELDIR=/usr/src/linux/

mkdir -p /lib/modules/$UNAME/kernel/drivers/gpu/pvr/
cp pvr/*.ko /lib/modules/$UNAME/kernel/drivers/gpu/pvr/

depmod -ae

Thank you for posting that, exactly what I needed.

Are you compiling this directly on the Pandora?
I thought you needed an ARM cross compiler.
 
The Pandora should be perfectly powerful enough to build the kernel. I remember building the kernel on an ARM2 based system back in the days before loadable kernel objects, and that was under an hour build as I recall. The kernel today is probably much bigger, but the Pandora has a much faster CPU (over 120x within the cache) and more RAM (64 times as much on a CC unit), so it should still be doable.

Still, if you have access to a faster machine and suitable tools setup, you can cross compile it if you want to. Presumably just set CC and LD and bob's your uncle.
 
I compile the kernel directly on the OP under Slackware.
I think 14.1 gcc fails, a 14.0 works. Didn't test 14.2 gcc 5.3 but it should be ok.
 
The Pandora should be perfectly powerful enough to build the kernel. I remember building the kernel on an ARM2 based system back in the days before loadable kernel objects, and that was under an hour build as I recall. The kernel today is probably much bigger, but the Pandora has a much faster CPU (over 120x within the cache) and more RAM (64 times as much on a CC unit), so it should still be doable.

Still, if you have access to a faster machine and suitable tools setup, you can cross compile it if you want to. Presumably just set CC and LD and bob's your uncle.

I compile the kernel directly on the OP under Slackware.
I think 14.1 gcc fails, a 14.0 works. Didn't test 14.2 gcc 5.3 but it should be ok.


Thank you both for providing this information, I know it will help me do some "Experimental" things, and help others interested in this a lot too. I'll let you know how 1.5Ghz is on the other side.
 
export LDFLAGS="--allow-multiple-definition"
if getting ld errors about multiple definitions on make modules
 
how do you compile the firmware? make firmware_install seems to install more and not the same firmware as on the pandora default, a notable example would be missing firmware for the wifi driver

found apt-get install firmware-ti-connectivity .. guessing these are binary blobs, but there are references on the wiki about compiling firmware, so what firmware can you compile?
 
Back
Top