I try to refresh my working Colibri PXA270 (2.6.12 kernel) to 2.6.34. I downloaded the kernel from kernel.org, and patched it.
It can compile well, and when I try to load it with tftp I can this error:
u-boot$ bootm
## Booting image at a1000000 …
Image Name: Linux kernel image
Created: 2011-03-06 9:19:21 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 5296760 Bytes = 5.1 MB
Load Address: a0008000
Entry Point: a0008000
Verifying Checksum … OK
Uncompressing Kernel Image … OK
Starting kernel …
undefined instruction
pc : lr :
sp : a3f1fdac ip : ffffffff fp : 00000001
r10: a3f9bc88 r9 : a3f60158 r8 : a3f1ffdc
r7 : a3f9bc88 r6 : a1000040 r5 : 00000000 r4 : 00000006
r3 : a0008000 r2 : a0000100 r1 : 000002d9 r0 : 00000000
Flags: NzCv IRQs off FIQs off Mode SVC_32
Resetting CPU …
make vmlinux && make modules && make modules_install && make uImage
arm-linux-gnueabi-objcopy -O binary -S vmlinux linux.bin
gzip -c -9 linux.bin > linux.bin.gz
mkimage -A arm -O linux -T kernel -C gzip -a 0xa0008000 -e 0xa0008000 -n "Linux kernel image" -d linux.bin.gz uzImage
cp uzImage /opt/eldk/tftpboot/94644A0A.img
I set any of Kernel hackings in config:
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
# CONFIG_PAGE_POISONING is not set
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
CONFIG_BOOT_TRACER=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_STACK_TRACER=y
CONFIG_KMEMTRACE=y
CONFIG_WORKQUEUE_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
# CONFIG_EVENT_TRACE_TEST_SYSCALLS is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARM_UNWIND=y
CONFIG_DEBUG_USER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_LL=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_ICEDCC is not set
# CONFIG_OC_ETM is not set
What mistakes I did?
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It is an original Colibri PXA270 with an original Colibri Evaluation board.
I downloaded the actual kernel from git repository. It has Colibri evaluation board. I configure it, and try to boot, but no any message:
u-boot$ bootm
## Booting image at a1000000 …
Image Name: Linux kernel image
Created: 2011-03-06 13:48:11 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 2267306 Bytes = 2.2 MB
Load Address: a0008000
Entry Point: a0008000
Verifying Checksum … OK
Uncompressing Kernel Image … OK
Starting kernel …
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Entry point MUST be 0xa0008040.
Linux kernel _MUST_ start from first instruction in file. Mkimage add 64 bytes (0x40) to kernel image (platform code and bootloader specific staff). As result kernel image was moved from 0xa0008000 to 0xa0008040.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry I cannot understand it exactly. In the mainline kernel there is a Makefile.boot which contains:
zreladdr-y := 0xa0008000
Please let us define the make commands:
make colibri_pxa270_defconfig
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi-
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- modules
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- modules_install
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- uImage
cp arch/arm/boot/uImage tftpbootdir
and the u-boot command:
dhcp
bootm
where do I need to set 0xa0008040?
thx a lot
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Once more information:
I tried to make kernel with an alternative method:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vmlinux
arm-linux-gnueabi-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -c -9 linux.bin > linux.bin.gz
mkimage -A arm -O linux -T kernel -C gzip -a 0xa0008000 -e 0xa0008000 -n "Linux Kernel Image" -d linux.bin.gz uImage
I tried to set execute address to 0xa008040, but I got "bad magic number" message.
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First of all you may build two diferent kernel images.
1. XIP-image (unpacked kernel image? executed dirctly from NOR flash). In this case, you must set entry point to 0x08000040 in menuconfig, next make xipimage and pack them to u-boot image (mkimage … -a 0x08000000 -e 0x08000040 -X … xipimage) In this case XIP image was about 5-8MiB.
2. Normal image. Code of kernel packed into position independed executable code. In this case you not change any address in kernel configuration, build kernel with make bzImage, and next pack bzImage into u-boot image (mkimage … -e 0xa0008000 bzImage). You may add -X (make XIP u-boot image) to u-boot mkimage.
U-boot mkimage add 64 byte to kernel image. In this 64 bytes contents platform magic, load address entry point addreess, CRC code and some other info. Them placed at begin of image. Normal kernel image always executed from first instruction. First instruction of kernel image plased at offset 0x40 from u-boot image. This is entry point for kernel.
U-boot on bootm command:
1. See magic number, if OK goto step 2, else write no U-boot image
2. Read CRC from header and check them
3. Move all code (with U-boot header) from actual place to addres point place (-a key with u-boot mkimage)
4. Initialise CPU for platform magic anfd other boot stuff
5. Make jump to entry point (-e key with u-boot mkimage)
Again - normal (not XIP) kernel image position independed and may be placed at any address.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
At this moment I would like to make a tftp bootable kernel with nfs root.
I wonder, to use 2.6.26 from bsp5.0 with make uImage is works well, and if I make mainlaine kernel and try to compile it with make uImage, it freeze.
Are there any different beetwen 2.6.26 and mainline compiling mode?
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm… Toradex not support Linux port on Colibri Modules.
Are you wrote to BSP maker? And one more moment - if you have BSP kernel source? you can use diff utils for change tracking (diff -purN <vanilla_kernel_dir> <bsp_kernel_dir>).
Unfortunately, i don't have any PXA270 module at this moment (now focused on PXA320), but in last vanilla kernel (2.6.38) present all peripheral devices (but not VGA modulator).
May be different in memory placement? I see some patches for loading kernel with MMU enabled.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First of all - Midnight Commander can walk on diff filesystem (you may enter to diff as into directory).
Next, dif needs to be run on clean kernel directory (make clean), in another case diff will contents obj modules and other make generated stuff.
2MiB is very-very big patch. And 2.6.26 is too old kernel. Last log-term support 2.6.35, actual 2.6.38.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"Unfortunately, i don't have any PXA270 module at this moment (now focused on PXA320), but in last vanilla kernel (2.6.38) present all peripheral devices (but not VGA modulator). May be different in memory placement? I see some patches for loading kernel with MMU enabled. "
Do you use any of touch screen with 320?
I have a new job which needs using touchscreen.
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I found a potentionaly mistake in my colibri pxa270, installed u-boot on this panel is ver 1.1.2. May be the old version of u-boot isn't compatible with linux mainline kernel?
Are there any doc to show how can I change u-boot on this panel?
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>>Are you have Toradex Evaluation board?
Yes I have an early evalboard (ver 1.1/2005) and a pxa270 coming with this board.
>>In this case you may use Colibri Loader ( found at http://files.toradex.com/Colibri/WinCE/ColibriLoader/ ) with Amontec JTAGKey Tiny JTAG module
Opps! WinCE????? Is it better than U-boot?
I don't have JTAG yet:(
thx
Zamek
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1. Not WinCE - only Linux =)
Colibri not have any sekf-recovery functions. If you kill bootloader only JTAG can recover them. As result NOT revrite bootloader, until NOT have working JTAG interface.
2. For flashing module via JTAG you can:
2a. Use Toradex Colibri Loader - Windows Application, working with JTAG on LPT port or with Amontec JTAGKey tiny.
2b. Use GPL OpenOCD tools - console linux or Windows, working with many JTAG adapters
In hardware level - module connector X2 have JTAG interface signals. You may connect JTAG adapter directly to them wia ribbon cable, or use Toradex Colibri Evaluation Board as midle element. In this case you connect module and board via ribbon cable, and board with JTAG adapter via standart 20pin header. In both variant you may use ColibriLoader and OpenOCD tools.
If you use Colibri Loader, you must know - this tools primary look for WindowsCE and work with binary data in WinCE format. For convert raw binary file (u-boot.bin) to WinCE binatry format (used by ColibriLoader) you may use CreteTBIN.exe tools from Toradex as writen in WIKI.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello All,
I try to refresh my working Colibri PXA270 (2.6.12 kernel) to 2.6.34. I downloaded the kernel from kernel.org, and patched it.
It can compile well, and when I try to load it with tftp I can this error:
u-boot$ bootm
## Booting image at a1000000 …
Image Name: Linux kernel image
Created: 2011-03-06 9:19:21 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 5296760 Bytes = 5.1 MB
Load Address: a0008000
Entry Point: a0008000
Verifying Checksum … OK
Uncompressing Kernel Image … OK
Starting kernel …
undefined instruction
pc : lr :
sp : a3f1fdac ip : ffffffff fp : 00000001
r10: a3f9bc88 r9 : a3f60158 r8 : a3f1ffdc
r7 : a3f9bc88 r6 : a1000040 r5 : 00000000 r4 : 00000006
r3 : a0008000 r2 : a0000100 r1 : 000002d9 r0 : 00000000
Flags: NzCv IRQs off FIQs off Mode SVC_32
Resetting CPU …
I made kernel with the following commands:
export ARCH=arm
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
export INSTALL_PATH=/opt/eldk/arm
export INSTALL_MOD_PATH=$INSTALL_PATH
make vmlinux && make modules && make modules_install && make uImage
arm-linux-gnueabi-objcopy -O binary -S vmlinux linux.bin
gzip -c -9 linux.bin > linux.bin.gz
mkimage -A arm -O linux -T kernel -C gzip -a 0xa0008000 -e 0xa0008000 -n "Linux kernel image" -d linux.bin.gz uzImage
cp uzImage /opt/eldk/tftpboot/94644A0A.img
I set any of Kernel hackings in config:
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
# CONFIG_PAGE_POISONING is not set
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
CONFIG_BOOT_TRACER=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_STACK_TRACER=y
CONFIG_KMEMTRACE=y
CONFIG_WORKQUEUE_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
# CONFIG_EVENT_TRACE_TEST_SYSCALLS is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_BUILD_DOCSRC is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARM_UNWIND=y
CONFIG_DEBUG_USER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_LL=y
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_ICEDCC is not set
# CONFIG_OC_ETM is not set
What mistakes I did?
thx
Zamek
More information:
It is an original Colibri PXA270 with an original Colibri Evaluation board.
I downloaded the actual kernel from git repository. It has Colibri evaluation board. I configure it, and try to boot, but no any message:
u-boot$ bootm
## Booting image at a1000000 …
Image Name: Linux kernel image
Created: 2011-03-06 13:48:11 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 2267306 Bytes = 2.2 MB
Load Address: a0008000
Entry Point: a0008000
Verifying Checksum … OK
Uncompressing Kernel Image … OK
Starting kernel …
Once more information:
I get a BSP5.0 from Toradex, which has a 2.6.26 kernel. I tried it, and works well. The colibri support of mainline kernel seems to be wrong.
Entry point MUST be 0xa0008040.
Linux kernel _MUST_ start from first instruction in file. Mkimage add 64 bytes (0x40) to kernel image (platform code and bootloader specific staff). As result kernel image was moved from 0xa0008000 to 0xa0008040.
Sorry I cannot understand it exactly. In the mainline kernel there is a Makefile.boot which contains:
zreladdr-y := 0xa0008000
Please let us define the make commands:
make colibri_pxa270_defconfig
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi-
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- modules
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- modules_install
make ARCH=arm CROSSCOMPILE=arm-linux-gnueabi- uImage
cp arch/arm/boot/uImage tftpbootdir
and the u-boot command:
dhcp
bootm
where do I need to set 0xa0008040?
thx a lot
Zamek
Once more information:
I tried to make kernel with an alternative method:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vmlinux
arm-linux-gnueabi-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -c -9 linux.bin > linux.bin.gz
mkimage -A arm -O linux -T kernel -C gzip -a 0xa0008000 -e 0xa0008000 -n "Linux Kernel Image" -d linux.bin.gz uImage
I tried to set execute address to 0xa008040, but I got "bad magic number" message.
thx
Zamek
Sorry for late answer.
First of all you may build two diferent kernel images.
1. XIP-image (unpacked kernel image? executed dirctly from NOR flash). In this case, you must set entry point to 0x08000040 in menuconfig, next make xipimage and pack them to u-boot image (mkimage … -a 0x08000000 -e 0x08000040 -X … xipimage) In this case XIP image was about 5-8MiB.
2. Normal image. Code of kernel packed into position independed executable code. In this case you not change any address in kernel configuration, build kernel with make bzImage, and next pack bzImage into u-boot image (mkimage … -e 0xa0008000 bzImage). You may add -X (make XIP u-boot image) to u-boot mkimage.
U-boot mkimage add 64 byte to kernel image. In this 64 bytes contents platform magic, load address entry point addreess, CRC code and some other info. Them placed at begin of image. Normal kernel image always executed from first instruction. First instruction of kernel image plased at offset 0x40 from u-boot image. This is entry point for kernel.
U-boot on bootm command:
1. See magic number, if OK goto step 2, else write no U-boot image
2. Read CRC from header and check them
3. Move all code (with U-boot header) from actual place to addres point place (-a key with u-boot mkimage)
4. Initialise CPU for platform magic anfd other boot stuff
5. Make jump to entry point (-e key with u-boot mkimage)
Again - normal (not XIP) kernel image position independed and may be placed at any address.
Thx for your answer,
At this moment I would like to make a tftp bootable kernel with nfs root.
I wonder, to use 2.6.26 from bsp5.0 with make uImage is works well, and if I make mainlaine kernel and try to compile it with make uImage, it freeze.
Are there any different beetwen 2.6.26 and mainline compiling mode?
thx
Zamek
Hm… Toradex not support Linux port on Colibri Modules.
Are you wrote to BSP maker? And one more moment - if you have BSP kernel source? you can use diff utils for change tracking (diff -purN <vanilla_kernel_dir> <bsp_kernel_dir>).
Unfortunately, i don't have any PXA270 module at this moment (now focused on PXA320), but in last vanilla kernel (2.6.38) present all peripheral devices (but not VGA modulator).
May be different in memory placement? I see some patches for loading kernel with MMU enabled.
I made diff, but I got 2Mb of text file :O
I'll show it, but it seems to be a large work.
I can upload somewhere if you need it.
thx
Zamek
First of all - Midnight Commander can walk on diff filesystem (you may enter to diff as into directory).
Next, dif needs to be run on clean kernel directory (make clean), in another case diff will contents obj modules and other make generated stuff.
2MiB is very-very big patch. And 2.6.26 is too old kernel. Last log-term support 2.6.35, actual 2.6.38.
Hi,
Sorry for my late answer.
Yes I cleared it, but the size is ~2Mb (1560299B).
I think so my colibri 270 remain with 2.6.26 and for the next new job I need to use a newer version of Colibri or other board.
Thx for help.
Zamek
Hi,
"Unfortunately, i don't have any PXA270 module at this moment (now focused on PXA320), but in last vanilla kernel (2.6.38) present all peripheral devices (but not VGA modulator). May be different in memory placement? I see some patches for loading kernel with MMU enabled. "
Do you use any of touch screen with 320?
I have a new job which needs using touchscreen.
thx
Zamek
With Colibri PXA320 ver 1.2x (with Philips UCB1400) touchscreen work fine (as well, as on PXA270).
Module PXA320 ver 2.0 (and Tegra modules) in deliver =)
Hello,
I found a potentionaly mistake in my colibri pxa270, installed u-boot on this panel is ver 1.1.2. May be the old version of u-boot isn't compatible with linux mainline kernel?
Are there any doc to show how can I change u-boot on this panel?
thx
Zamek
Are you have Toradex Evaluation board? In this case you may use Colibri Loader ( found at http://files.toradex.com/Colibri/WinCE/ColibriLoader/ ) with Amontec JTAGKey Tiny JTAG module. You also need tools CreateTBin for convert binary image to WinCE image format, used by Colibri Loader ( http://files.toradex.com/Colibri/WinCE/Special/CreateTBin/ ).
See http://wiki.toradex.com/index.php/Linux_%28Colibri%29 for detail.
You also may use OpenOCD (Colibri, PXA270 and many JTag adapters support by them. http://openocd.berlios.de/web/
If you not have Toradex Board you may use JTAG connector on Colibri Module.
hello,
>>Are you have Toradex Evaluation board?
Yes I have an early evalboard (ver 1.1/2005) and a pxa270 coming with this board.
>>In this case you may use Colibri Loader ( found at http://files.toradex.com/Colibri/WinCE/ColibriLoader/ ) with Amontec JTAGKey Tiny JTAG module
Opps! WinCE????? Is it better than U-boot?
I don't have JTAG yet:(
thx
Zamek
1. Not WinCE - only Linux =)
Colibri not have any sekf-recovery functions. If you kill bootloader only JTAG can recover them. As result NOT revrite bootloader, until NOT have working JTAG interface.
2. For flashing module via JTAG you can:
2a. Use Toradex Colibri Loader - Windows Application, working with JTAG on LPT port or with Amontec JTAGKey tiny.
2b. Use GPL OpenOCD tools - console linux or Windows, working with many JTAG adapters
In hardware level - module connector X2 have JTAG interface signals. You may connect JTAG adapter directly to them wia ribbon cable, or use Toradex Colibri Evaluation Board as midle element. In this case you connect module and board via ribbon cable, and board with JTAG adapter via standart 20pin header. In both variant you may use ColibriLoader and OpenOCD tools.
If you use Colibri Loader, you must know - this tools primary look for WindowsCE and work with binary data in WinCE format. For convert raw binary file (u-boot.bin) to WinCE binatry format (used by ColibriLoader) you may use CreteTBIN.exe tools from Toradex as writen in WIKI.
Thx for your responding.
I have benn waiting for JTAG.