ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] How to get device nodes into zImage?


From: Ned Konz
Subject: Re: [Ltib] How to get device nodes into zImage?
Date: Tue, 18 Nov 2008 06:35:14 -0800


On Nov 18, 2008, at 3:32 AM, Stuart Hughes wrote:

Hi Ned,

I'm a bit confused here. zImage is normally just the kernel, the device nodes come from whatever userspace package is selected. The default for
imx27 is static.  You should see these in rootfs/dev/


Yes. Things work fine when I have rootfs mounted via NFS.

The problem is that I don't have a bootloader that can deal directly with any of the ramdisk formats I've been able to generate so far, and the root file system has to have at least the device nodes for my console and for whatever I'm going to get the remaining file systems from.

I have 64 Mib of RAM, 2Mib of NOR flash (where the bootloader lives) and 64Mib of NAND flash, currently separated into 4 chunks:
128K
4096K
22528K
38784K

These sizes come from a static table in the kernel; I haven't experimented with changing the partitioning from the kernel command line yet.

The yaffs filesystem that I can get the bootloader to create isn't recognized by the kernel yaffs code, for some reason (or vice versa).

So far I haven't been able to get the system to boot and get through mounting the new root, since the console goes away when I can't successfully mount the root.

When ramdisk or jffs2 image is made, the device nodes are not copied
from there, instead genext2fs takes the option -D (which is
bin/device_table.txt) which is what it uses to create the device nodes
within the image.

As I said before, initramfs is coming to Savannah later.  However even
then we normally keep the kernel image and the userspace initramfs
separate (as for ramdisk or jffs2 image).  It is possible to combine
then (catted kernel+root) but generally we don't do this (some platforms
do IIRC).


That would be fine in this case. I just need to get to the point where I can run Linux; I can mount the NAND partitions using the Linux yaffs code but so far haven't been able to put a root disk on them reliably. The more I fool with the NAND the more bad blocks I seem to get, for some reason.

I'm OK with running from an initramfs that's copied from NAND, because I just need this thing to be going by several days ago.

Having to put in multiple 12+ hour days hasn't helped my clarity, and I still need to finish the application part.

Regards, Stuart

On Tue, 2008-11-18 at 00:50 -0800, Ned Konz wrote:
I've been banging my head against this:

LTIB will make a zImage that contains most of the filesystem entries
you need to run your system.

Unfortunately, it lacks any device nodes (there are only a few empty
directories under /dev).

Later, a rootfs.ext2.gz may be produced that has all the proper device
entries in it.

How can we get the device entries in the zImage? I've tried pointing
the source for the INITRAMFS at the rootfs.tmp but it doesn't have the
device entries yet.

What is the best way to get a fully - populated ramdisk image into the
zImage -- with the device entries?

This is a lot easier than using a separate kernel image and rootfs
image.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]