I'm using open embedded / Angstrom for a C4 beagleboard. I needed to
change the kernel config simply to include POSIX message queues. After
rebuilding the kernel and modules, things go bad during init. Here's
what I did:
1. Added to my OE local.conf:
INHERIT += "devshell"
2. Setup for kernel config:
bitbake -c devshell virtual/kernel
This spawned a new shell in the OE work dir build/tm-angstrom-2008_1/work ... yadda yadda
3. Edit config:
make menuconfig
4. Selected under General setup --> POSIX Message Queues and saved
config
5. Build the u-boot kernel image:
make uImage
This succeeded:
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
Image arch/arm/boot/uImage is ready
6. Build kernel modules (succeeded)
make modules
7. Edited Makefile
I edited INSTALL_MODULES_PATH so that the modules
unded up in the ../image/lib/modules directory, assuming this
is the right thing to do.
7. Install the modules (succeeded)
make modules_install
8. Copy uImage to the rootfs of my sd card mounted @ /media/sd and
boot partition:
cp arch/arm/boot/uImage /media/sd/boot
cp arch/arm/boot/uImage /media/sd/rootfs/boot
I'm not sure about that step -- i.e., why there are two uImages, but
the kernel boots after doing the above. A number of errors show up
related to kernel module formats not being as expected after start of
udev init:
[ 17.121856] mt9t112: disagrees about version of symbol
module_layout
[ 17.334106] mt9t112: disagrees about version of symbol
module_layout
Remounting root file system...
[ 24.688446] minix: disagrees about version of symbol module_layout
modprobe: FATAL: Error inserting minix (/lib/modules/2.6.32/kernel/fs/
minix/minix.ko): Invalid module format
[ 24.831848] quiet_error: 47 callbacks suppressed
I have the full boot output. Where did I go wrong?
PS- I recommend POSIX message queues being enabled in the default
kernel. Much preferred over the System V IPC stuff.