|
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 forimx27 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 38784KThese 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 combinethen (catted kernel+root) but generally we don't do this (some platformsdo 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 deviceentries in it. How can we get the device entries in the zImage? I've tried pointingthe source for the INITRAMFS at the rootfs.tmp but it doesn't have thedevice entries yet.What is the best way to get a fully - populated ramdisk image into thezImage -- with the device entries? This is a lot easier than using a separate kernel image and rootfs image.
[Prev in Thread] | Current Thread | [Next in Thread] |