LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   how to create a kernel for embedded system??? (https://www.linuxquestions.org/questions/linux-newbie-8/how-to-create-a-kernel-for-embedded-system-645311/)

webquinty 05-28-2008 08:53 AM

how to create a kernel for embedded system???
 
Hello,

I have a lite problem.
I am interesting in create a new bzImage for geode LX with preempt rt patch.
I follow this steps:

1.- Patch kernel with preempt rt patch.
2.- Configure the new kernel.
3.- make bzImage
4.- make modules
5.- make modules_install INSTALL_MOD_PATH=/home/my_user/modules

After it I copy all files in a compact flash with correct tree files, and next, configure lilo with new configuration.
But Kernel does not boot correctly.

Perhaps, there is a problem with configuration, but I think I forget other step or similar.

any advice???

Best regards.

Agrouf 05-28-2008 08:57 AM

What is the error?
Maybe you need a init to boot, and/or perhaps a initrd.gz (or whatever image)...

seraphim172 05-28-2008 06:23 PM

How far does it get with booting? The kernel by itself will not make you happy, you also need a root filesystem and a couple of applications and settings files on your compact flash to make it work properly.
By adding the new kernel to your /boot partition as an optional kernel you can test if it really works on the PC where you built it, and if it does, then proceed with your compact flash project.

Linux Archive

webquinty 05-29-2008 04:50 PM

Quote:

Originally Posted by seraphim172 (Post 3167472)
How far does it get with booting? The kernel by itself will not make you happy, you also need a root filesystem and a couple of applications and settings files on your compact flash to make it work properly.
By adding the new kernel to your /boot partition as an optional kernel you can test if it really works on the PC where you built it, and if it does, then proceed with your compact flash project.

hello seraphim172,

you are right, I need a root file system and I have it, then this is not problem.

About to test new kernel in develop computer, I do not know if it is possible to do it, because host is a x86 Intel and target is Geode LX, that is compitable with x86.

I will try it.

Thanks a lot and best regards

pinniped 05-29-2008 06:32 PM

It is not sensible to just copy files from your current install; that will give you a bloated system (~200MB) when you probably don't want anything over 20MB. Also, what does your build system claim to be? If it's 'i386' or 'i486' then that will be compatible with the Geode; otherwise if it's something like 'k7' it is not compatible.

When compiling the kernel, there is now an option for the GeodeLX family.

When building libc and the toolchain, your 'host' (the machine which the software will run on) should be set to 'i586' for the best results. You probably want something like uClibc rather than GNU libc.

Have a look at the LFS project (and the 'clfs' project inside that) for tips on building a system.

webquinty 05-30-2008 03:32 AM

Hello,

I will try it and now I have this problem:

Quote:

NET: Registered protocol family 1
Using IPI No-shortcut mode
VFS: Cannot open root device "NULL" or unknown-block(8,7)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,7).

Well, I am using pxelinux yo boot geode and NFS server to mount root file system.
I understand that problem is in root option when boot kernel.

best regards

webquinty 05-30-2008 06:08 AM

Hello,

I found problem.

In boot options I forgot nfs arguments.

Best regards


All times are GMT -5. The time now is 04:51 PM.