All pastes #1177975 Raw Edit

ant

public text v1 · immutable
#1177975 ·published 2008-08-18 20:42 UTC
rendered paste body
DESCRIPTON = "A init script that mounts a device and kexecs a new kernel from it."
PR = "r7"
RDEPENDS = "kexecboot klibc-utils-static-mount klibc-utils-static-sh klibc-utils-static-sleep"

# on c7x0 fbangle 0 is landscape, fbangle 90 is portrait (oriented like service menus)
FBANGLE = "0"
INPUTDEV = "/dev/event0"

do_compile() {
        cat > init.sh << EOF
#!/bin/sh
/bin/sleep 3
/bin/mount -t proc proc /proc
###
#
# http://bugs.archlinux.org/task/10381?getfile=2128
#
echo "Reading cmdline"
read CMDLINE </proc/cmdline
export CMDLINE

export root=""
export kinit_params=""

echo "CMDLINE=\${CMDLINE}"
for cmd in \${CMDLINE}; do
    echo "cmd=\${cmd}"
    case "\${cmd}" in
        \#*) break ;; # ignore if #
        console=*) kinit_params="\${kinit_params} \${cmd}" ;;
#       root=*) kinit_params="\${kinit_params} \${cmd}" ;;
#       rootfstype=*) kinit_params="\${kinit_params} \${cmd}" ;;
        mtdparts=*) kinit_params="\${kinit_params} \${cmd}" ;;
    esac
done
echo "Filtered cmdline:\${kinit_params}\n"
sleep 5
###
echo "0 4 1 7" > /proc/sys/kernel/printk
/usr/bin/kexecboot -a ${FBANGLE} -i ${INPUTDEV}
EOF
}

do_install() {
        install -m 0755 ${S}/init.sh ${D}/init
        install -d ${D}/proc
        install -d ${D}/mnt
}

PACKAGE_ARCH = "all"

FILES_${PN} = "/init /proc /mnt"