An official ArchLinux image with kernel 3.x ?

Started by laurent, November 28, 2012, 12:05:08 PM

Previous topic - Next topic

Cure

Quote from: Fadil Berisha on January 05, 2013, 06:31:47 AM
If you are interested to build from scratch, instruction  are at https://github.com/koliqi/imx23-olinuxino.
I've followed the steps to build my own kernel but I'm getting stuck here:
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage modules 
...
...
...
drivers/built-in.o: In function `thread_enter':
/home/user/imx23-olinuxino/kernel/linux-stable/drivers/net/wireless/rtl8192cu/include/osdep_service.h:581: undefined reference to `daemonize'
make: *** [vmlinux] Error 1

My understanding of Linux isn't that great, any ideas what the error means and how I can fix it?

Thanks,
Rob

elrix2004

Hello,

I've exactly the same problem :

Quote from: Cure on January 07, 2013, 09:12:06 AM
Quote from: Fadil Berisha on January 05, 2013, 06:31:47 AM
If you are interested to build from scratch, instruction  are at https://github.com/koliqi/imx23-olinuxino.
I've followed the steps to build my own kernel but I'm getting stuck here:
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage modules 
...
...
...
drivers/built-in.o: In function `thread_enter':
/home/user/imx23-olinuxino/kernel/linux-stable/drivers/net/wireless/rtl8192cu/include/osdep_service.h:581: undefined reference to `daemonize'
make: *** [vmlinux] Error 1

My understanding of Linux isn't that great, any ideas what the error means and how I can fix it?

Thanks,
Rob

I may try to recompile without the driver for rtl8192... Note that i don't use module in the kernel as i exactly know what hardware i will use.

Olivier

Christian Jann

It should work if you explicitly checkout the 3.7.1 kernel


[chris@thinkpad tools]$ cd kernel
[chris@thinkpad kernel]$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Cloning into 'linux-stable'...
remote: Counting objects: 3000082, done.
remote: Compressing objects: 100% (469603/469603), done.
remote: Total 3000082 (delta 2521093), reused 2981126 (delta 2502295)
Receiving objects: 100% (3000082/3000082), 620.49 MiB | 624 KiB/s, done.
Resolving deltas: 100% (2521093/2521093), done.
Checking out files: 100% (41502/41502), done.
[chris@thinkpad kernel]$ cd linux-stable/
[chris@thinkpad linux-stable]$ gitk --all
[chris@thinkpad linux-stable]$


You can use git-cola which is a sleek and powerful git GUI to revert
any patch you've applied already or do it from the command line,
you don't have to download the kernel source again.


[chris@thinkpad linux-stable]$ git checkout v3.7.1
Note: checking out 'v3.7.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at cc86050... Linux 3.7.1
[chris@thinkpad linux-stable]$

Cure

#33
I applied the wifi patch to an older 3.6-rc2 kernel and it compiled successfully.  I didn't test it last night as it was getting late and I was falling asleep.  I'll post a followup later today and let everyone know if it works under the older kernel and maybe that will help wtih some of the troubleshooting.

Christian, I believe we are using the latest kernel as your line matches the steps in the instructions:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git


Edit: didn't work under 3.6-rc2, I get the following message on bootup and no wifi adapter is found:
cat: /sys/class/net/usb0/address: No such file or directory

Fadil Berisha

#34
Quote from: Christian Jann on January 07, 2013, 09:42:00 PM
It should work if you explicitly checkout the 3.7.1 kernel
Thank you Christian for contribution.

Let me put light what is going on. When we do clone as:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 

HEAD is on latest kernel. At this moment rc2 for 3.8.
Starting with 3.8-rc1, in kernel sources is not present anymore function to define  `daemonize' used by rtl8188cu driver. I have included that function on rtl8188cu driver but is disabled because 3.7.1 doesn't need it.
There are two solutions:

1. If you have already downloaded kernel sources
and want to test 3.8-rc2 open file drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c and enable daemonize function.
Look for code:

#endif /* DBG_MEMORY_LEAK */

#if 0
#include <linux/mm.h>
#include <linux/slab.h>

Remove line #if 0

Find next #endif


EXPORT_SYMBOL(daemonize);
#endif

#if defined(PLATFORM_LINUX)

Remove line #endif

Save changes and follow rest of instructions. I didn't try 3.8-rc2, so please follow up.


2. Revert patches as per Christian's instructions, or if you are not familiar with git, you can get 3.7.1 sources as follow:

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.1.tar.bz2
tar xvjf linux-3.7.1.tar.bz2
mv linux-3.7.1 linux-stable
After this point follow instructions at https://github.com/koliqi/imx23-olinuxino.

I think, at moment is good idea to work with 3.7.1. As soon as next stable release is out, I will enable changes on rtl8188cu driver.

Fadil Berisha

Edit: After posted, I did once again test and it is working. Here is my console output:
root@imx233-olinuxino-maxi:~# iwconfig                                         
lo        no wireless extensions.                                               
                                                                               
wlan1     IEEE 802.11bg  ESSID:"home"  Nickname:"<WIFI@REALTEK>"               
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:26:5A:CF:57:34   
          Bit Rate:54 Mb/s   Sensitivity:0/0                                   
          Retry:off   RTS thr:off   Fragment thr:off                           
          Encryption key:746F-6269-35   Security mode:restricted               
          Power Management:off                                                 
          Link Quality=68/100  Signal level=45/100  Noise level=0/100           
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0   
           
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Christian Jann

Thanks for pointing this out, I was able to build the 3.8-rc2 kernel without rtl8188cu already but than creating the device tree blob .dtb file has failed (some error about spi2) and switched to v3.7.1.

Downloading the BZ2 file is really a good idea for people with a slow internet connection, git: 620.49 MiB bz2: 79.8 MB.

bsrdjan

Hi --,

I was following option 2 (kernel 3.7.1) and completed all steps from https://github.com/koliqi/imx23-olinuxino but failed at the building boot stream

make CROSS_COMPILE=arm-linux-gnueabi-

Here is the error:

elftosb2 -d -z -c ./linux_prebuilt.db -o imx23_linux.sb
elftosb2: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
make: *** [gen_bootstream] Error 127
~/olimex/imx23-olinuxino/boot/imx-bootlets-src-10.05.02


The libstdc is missing from /usr/lib and I tried to install but got following error:

sudo apt-get install libstdc++
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libstdc++-dev-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++5' for regex 'libstdc+'
Note, selecting 'libstdc++6' for regex 'libstdc+'
Note, selecting 'libstdc++6-armel-cross-armhf' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++-dev-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++2.9-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-pic' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-armhf-cross-dbg-armel' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-dev-armel-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++-dev-armhf-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-doc' for regex 'libstdc+'
Note, selecting 'libstdc++-dev' for regex 'libstdc+'
Note, selecting 'libstdc++2.10-dev' for regex 'libstdc+'
Note, selecting 'libstdc++2.9-glibc2.1-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg-armel-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.2-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-armhf-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-pic-armel-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-pic' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dev-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-pic-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dev-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dev-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-pic-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-dev-armhf-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++5-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++5-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-pic-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-dev-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.3-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-pic' for regex 'libstdc+'
Note, selecting 'libstdc++5-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dev-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.5-pic-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg-armhf-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-armhf-cross-armel' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-pic-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-doc' for regex 'libstdc+'
Note, selecting 'libstdc++2.8-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-pic-armhf-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++5-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.0-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-dev-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++-dev-armel-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-dbg-armel-cross' for regex 'libstdc+'
Note, selecting 'libstdc++5-3.3-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-pic-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++3.0-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.6-armel-cross-dbg-armhf' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-doc' for regex 'libstdc+'
Note, selecting 'libstdc++6-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.1-dbg-armhf-cross' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dbg' for regex 'libstdc+'
Note, selecting 'libstdc++6-4.4-dev' for regex 'libstdc+'
Note, selecting 'libstdc++6-armel-dcv1' for regex 'libstdc+'
Note, selecting 'libstdc++6-armel-cross' instead of 'libstdc++6-armel-dcv1'
Note, selecting 'libstdc++6-armhf-cross' instead of 'libstdc++6-armhf-dcv1'
libstdc++6 is already the newest version.
libstdc++6-4.6-dev is already the newest version.
libstdc++6-4.6-dev set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libstdc++6-4.5-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-1ubuntu2 is to be installed
libstdc++6-4.5-dbg-armel-cross : Conflicts: libstdc++6-4.4-dbg-armel-cross but 4.4.7-1ubuntu2cross1.52 is to be installed
libstdc++6-4.5-dbg-armhf-cross : Conflicts: libstdc++6-4.4-dbg-armhf-cross but 4.4.7-1ubuntu2cross1.52 is to be installed
libstdc++6-4.5-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-1ubuntu2 is to be installed
libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-1ubuntu2 is to be installed
                      Conflicts: libstdc++6-4.5-dbg but 4.5.3-12ubuntu2 is to be installed
libstdc++6-4.6-dbg-armel-cross : Conflicts: libstdc++6-4.4-dbg-armel-cross but 4.4.7-1ubuntu2cross1.52 is to be installed
                                  Conflicts: libstdc++6-4.5-dbg-armel-cross but 4.5.3-12ubuntu2cross1.61 is to be installed
libstdc++6-4.6-dbg-armhf-cross : Conflicts: libstdc++6-4.4-dbg-armhf-cross but 4.4.7-1ubuntu2cross1.52 is to be installed
                                  Conflicts: libstdc++6-4.5-dbg-armhf-cross but 4.5.3-12ubuntu2cross1.61 is to be installed
libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-1ubuntu2 is to be installed
                      Conflicts: libstdc++6-4.5-doc but 4.5.3-12ubuntu2 is to be installed
E: Unable to correct problems, you have held broken packages.


What could be wrong?

I am running Ubuntu 64 bit.

Christian Jann

elftosb2 is built for the i386 architecture, you need to have the 32bit version of libstdc++ installed.

http://ubuntuforums.org/showthread.php?t=1604953

Try installing the "g++-multilib" package. It contains non-native library versions for many standard libraries.

bsrdjan

#38
Quote from: Christian Jann on January 08, 2013, 04:34:18 PM
elftosb2 is built for the i386 architecture, you need to have the 32bit version of libstdc++ installed.

http://ubuntuforums.org/showthread.php?t=1604953

Try installing the "g++-multilib" package. It contains non-native library versions for many standard libraries.

Thanks, this worked and I created boot stream image but it fails to boot exactly as described here:

QuoteUndefined Instruction
r14_unHTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFC
 

Probably your toolchain does not support cpu arm926ej-s. Download sources and
compile --with-arch=armv5te --with-tune=arm926ej-s. If you prefer premade binaries,
download arm-none-eabi toolchain. It is proven to work with arm926ej-s.

I have two questions

1. How to prepare and partition the SD card, in general, before copying boot stream image?

2. Could you please share more detailed explanation how to "download sources and compile --with-arch=armv5te --with-tune=arm926ej-s" ?

Many thanks in advance,
srdjan

Cure

I've tried this 10 times now, and I'm not joking.  It just doesn't want to boot without errors!

Fadil can you please make a 3.7.1 raw file with WIFI + UVC support?  That's all I need, then I can stop compiling day and night and start working on my project, PLEASE PLEASE PLEASE.

Device Drivers > Multimedia support:
   (*) cameras/video grabbers support
      (*) media usb adaptors
         (*) usb video class
         (*) uvc input events device support

Thank you,
Rob

Christian Jann

Quote from: bsrdjan on January 08, 2013, 07:55:19 PM
I have two questions

1. How to prepare and partition the SD card, in general, before copying boot stream image?

Like I've written in my blog just copy a current ARCH Linux image to the SD card:


[chris@thinkpad Downloads]$ sudo dd if=imx233_kernel_2.6_ARCH_FS_WIFI.img of=/dev/mmcblk0


I've used the one from here: https://olimex.wordpress.com/2012/12/05/imx233-olinuxino-arch-linux-image-with-rtl8188-wifi-support/, https://docs.google.com/open?id=0B-bAEPML8fwlYUUxaUtsNkZrRk0

Another image is available under http://archlinuxarm.org/platforms/armv5/olinuxino.

But you can use nearly every image made for the OLinuXino, even a Debian image would be possible. The above image is a complete SD card image with 3 partitions, that means you don't have to partition your SD card manually, just dd the image to the card. If you are using only a rootfs (root filesystem) you will have to create at least 2 partitions, one for the kernel /dev/mmcblk0p1 and one for the rootfs /dev/mmcblk0p2 and maybe a third as swap.

Quote from: bsrdjan on January 08, 2013, 07:55:19 PM
2. Could you please share more detailed explanation how to "download sources and compile --with-arch=armv5te --with-tune=arm926ej-s" ?


--with-arch=armv5te --with-tune=arm926ej-s is probably defined in some Makefile, it is enought to run make but your compiler has to support the armv5te architecture.

I'm using the cross compiler from Launchpad:

https://launchpad.net/gcc-arm-embedded/+download

https://launchpad.net/gcc-arm-embedded/4.6/4.6-2012-q4-update/+download/gcc-arm-none-eabi-4_6-2012q4-20121016.tar.bz2

Extract the tarball somewhere and add the compiler to the $PATH, e.g. edit your ~/.bashrc file an add a line like this:

export PATH=$PATH:/home/chris/tools/gcc-arm-none-eabi-4_6-2012q4/bin

You may need to install some 32bit librarys when running a 64bit Linux, just run arm-none-eabi-gcc --version and see what is mssing.

Cure

#41

[chris@thinkpad linux-stable]$ git checkout v3.7.1
Note: checking out 'v3.7.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at cc86050... Linux 3.7.1
[chris@thinkpad linux-stable]$


I've applied the git checkout and I'm 100% sure I'm in 3.7.1.  When I get to the final step of running:
make ARCH=arm CROSS_COMPILE=arm-none-eabi-  clean
make ARCH=arm CROSS_COMPILE=arm-none-eabi-
here are the errors I get, any ideas?


root@user-VirtualBox:/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02# make ARCH=arm CROSS_COMPILE=arm-none-eabi-  clean
rm -rf *.sb
rm -f sd_mmc_bootstream.raw
rm -f linux_prep/board/*.o
rm -f power_prep/*.o
make -C linux_prep clean ARCH=arm
make[1]: Entering directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
Cleaning...
Files:
rm -rf ./core/entry.o ./core/resume.o ./core/cmdlines.o ./core/setup.o ./core/keys.o ./board/stmp378x_dev.o ./hw/lradc-buttons.o ./output-target/linux_prep.ld
Build output:
rm -rf ./output-target
Build system:
rm -rf ./include/arch
make[1]: Leaving directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
make -C boot_prep clean ARCH=arm
make[1]: Entering directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/boot_prep'
Cleaning...
Files:
Build output:
rm -rf *.o
rm -f boot_prep
make[1]: Leaving directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/boot_prep'
make -C power_prep clean ARCH=arm
make[1]: Entering directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/power_prep'
Cleaning...
rm -f power_prep.map
rm -f power_prep
make clean -C ./../mach-arm/hw
make: Entering an unknown directory
make: *** ./../mach-arm/hw: No such file or directory.  Stop.
make: Leaving an unknown directory
make[1]: *** [clean] Error 2
make[1]: Leaving directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/power_prep'
make: *** [clean] Error 2


root@user-VirtualBox:/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02# make ARCH=arm CROSS_COMPILE=arm-none-eabi-
by using the pre-build command line
# force building linux_prep
make clean -C linux_prep
make[1]: Entering directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
Cleaning...
Files:
rm -rf ./core/entry.o ./core/resume.o ./core/cmdlines.o ./core/setup.o ./core/keys.o ./board/stmp378x_dev.o ./hw/lradc-buttons.o ./output-target/linux_prep.ld
Build output:
rm -rf ./output-target
Build system:
rm -rf ./include/arch
make[1]: Leaving directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
cross-compiling linux_prep
make -C linux_prep ARCH=arm BOARD=imx23_olinuxino_dev
make[1]: Entering directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
arm-none-eabi-gcc -c -Wall -I./include -nostdinc -fno-builtin -O -DIMX23_OLINUXINO -DBOARD_IMX23_OLINUXINO_DEV -D__ASSEMBLY__ -o core/entry.o core/entry.S
core/entry.S:22:27: fatal error: arch/platform.h: No such file or directory
compilation terminated.
make[1]: *** [core/entry.o] Error 1
make[1]: Leaving directory `/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02/linux_prep'
make: *** [linux_prep] Error 2

Fadil Berisha

Quote from: Cure on January 10, 2013, 07:38:43 AM

root@user-VirtualBox:/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02# make ARCH=arm CROSS_COMPILE=arm-none-eabi-
Try
$: make CROSS_COMPILE=arm-none-eabi-  clean 
$: make CROSS_COMPILE=arm-none-eabi- 

Fadil Berisha

Cure

Quote from: Fadil Berisha on January 10, 2013, 08:43:59 AM
Quote from: Cure on January 10, 2013, 07:38:43 AM

root@user-VirtualBox:/home/user/imx371/imx23-olinuxino/boot/imx-bootlets-src-10.05.02# make ARCH=arm CROSS_COMPILE=arm-none-eabi-
Try
$: make CROSS_COMPILE=arm-none-eabi-  clean 
$: make CROSS_COMPILE=arm-none-eabi- 

Fadil Berisha

I swear I checked my notes 5 times!  I guess it was a typo all along, I'm finally up and running so thank you for the help.

Rob

nulluser

Greetings.

This is a great little board, and I have had success with the pre-made kernels. The applications needs UVC, wifi and a USB to Serial converter so I am trying to build my own 3.x.x.

This guide was used: https://github.com/koliqi/imx23-olinuxino, but it seems no matter what I do, I just get to:

HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFC
PowerPrep start initialize power...
Battery Voltage = 0.84V
No battery or bad battery                                       detected!!!.Disabling battery               voltage measurements./r/nLLCJan 10 201300:00:49
EMI_CTRL 0x1C084040
FRAC 0x92926192
init_ddr_mt46v32m16_133Mhz
power 0x00820710
Frac 0x92926192
start change cpu freq
hbus 0x00000003
cpu 0x00010001
LLLLLLLFCLJUncompressing Linux... done, booting the kernel.

And the that's as far as it gets.

I tried the arm-linux-gnueabi- and arm-none-eabi- compilers, and I am fairly sure the kernel command line is correct and points to the right serial power.

All of the patches apply correctly, and I am loading the SD card correctly.

I would greatly appreciate any suggestions.