Re: [PATCH] MODULE_FIRMWARE for binary firmware(s)

Olaf Hering
2006-09-15T19:49:40Z

On Wed, Aug 30, David Lang wrote:

> >initramfs is always in use.
>
> not on my machines.

klibc can be build like:

cd linux-2.6.*
make headers_install INSTALL_HDR_PATH=/dev/shm/$$
cd ..
wget http://www.kernel.org/pub/linux/libs/klibc/Testing/klibc-1.4.29.tar.bz2
tar xfj klibc-*.tar.bz2
cd klibc-*
ln -sfvbn /dev/shm/$$ linux
make

Every other libc will do it as well, adjust the filelist as needed.
Try this as CONFIG_INITRAMFS_SOURCE= :

# A simple initramfs
dir /dev 0755 0 0
nod /dev/console 0600 0 0 c 5 1
nod /dev/kmsg 0600 0 0 c 1 11
dir /sbin 0755 0 0
dir /lib 0755 0 0
dir /lib/firmware 0755 0 0
file /lib/firmware/name.ext /tmp/foofirmware.bin 0755 0 0
file /sbin/hotplug /home/olaf/kernel/hotplug.sh 0755 0 0
file /sbin/cat /home/olaf/kernel/klibc-1.4.29/usr/utils/static/cat 0755 0 0
file /sbin/mount /home/olaf/kernel/klibc-1.4.29/usr/utils/static/mount 0755 0 0
file /sbin/mkdir /home/olaf/kernel/klibc-1.4.29/usr/utils/static/mkdir 0755 0 0
file /sbin/mknod /home/olaf/kernel/klibc-1.4.29/usr/utils/static/mknod 0755 0 0
file /sbin/minips /home/olaf/kernel/klibc-1.4.29/usr/utils/static/minips 0755 0 0
file /sbin/umount /home/olaf/kernel/klibc-1.4.29/usr/utils/static/umount 0755 0 0
file /sbin/uname /home/olaf/kernel/klibc-1.4.29/usr/utils/static/uname 0755 0 0
file /sh /home/olaf/kernel/klibc-1.4.29/usr/dash/sh 0755 0 0
#optional:
file /init /home/olaf/kernel/init.sh 0755 0 0

Try this as hotplug.sh:

#!/sh
if test "$SEQNUM" -lt 42 ; then
echo "$1 SEQNUM=$SEQNUM ACTION=$ACTION DEVPATH=$DEVPATH" > /dev/kmsg
fi
if test "$SEQNUM" = 1 ; then
mkdir /sys
mkdir /proc
mount -t sysfs sysfs /sys
mount -t proc proc /proc
set > /1.env
echo "$*" > /1.arg
cat /proc/cpuinfo > /cpuinfo
cat /sys/power/state > /state
umount /proc
umount /sys
fi

Try this as init.sh:
#!/sh
/sh

I assume you can adjust hotplug.sh for your ipw needs.