DESCRIPTION = "SysV init scripts" MAINTAINER = "Chris Larson " SECTION = "base" PRIORITY = "required" DEPENDS = "makedevs" DEPENDS_openzaurus = "makedevs virtual/kernel" RDEPENDS = "makedevs" RDEPENDS_openzaurus-pxa-2.6 = "makedevs console-tools" LICENSE = "GPL" PR = "r30" SRC_URI = "file://halt \ file://ramdisk \ file://umountfs \ file://devices \ file://devpts.sh \ file://devpts \ file://hostname.sh \ file://mountall.sh \ file://banner \ file://finish \ file://bootmisc.sh \ file://mountnfs.sh \ file://reboot \ file://checkfs.sh \ file://single \ file://sendsigs \ file://urandom \ file://rmnologin \ file://checkroot.sh \ file://umountnfs.sh \ file://sysfs.sh \ file://device_table.txt" SRC_URI_append_arm = " file://alignment.sh" SRC_URI_append_openzaurus = " file://checkversion" SRC_URI_append_openzaurus-pxa-2.6 = " file://corgikeymap.map" SRC_URI_append_openzaurus-pxa-2.6 = " file://keymap.sh" def read_kernel_version(d): import bb distro = bb.data.getVar('DISTRO', d, 1) filename = bb.data.getVar('STAGING_KERNEL_DIR', d, 1) if distro == "openzaurus": return file( filename + "/kernel-abiversion", "r" ).read().strip() else: return "not important" KERNEL_VERSION = "${@read_kernel_version(d)}" do_install () { # # Create directories and install device independent scripts # install -d ${D}/${sysconfdir}/init.d \ ${D}/${sysconfdir}/rcS.d \ ${D}/${sysconfdir}/rc0.d \ ${D}/${sysconfdir}/rc1.d \ ${D}/${sysconfdir}/rc2.d \ ${D}/${sysconfdir}/rc3.d \ ${D}/${sysconfdir}/rc4.d \ ${D}/${sysconfdir}/rc5.d \ ${D}/${sysconfdir}/rc6.d \ ${D}/${sysconfdir}/default install -m 0755 ${WORKDIR}/bootmisc.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/checkroot.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/finish ${D}/etc/init.d install -m 0755 ${WORKDIR}/halt ${D}/etc/init.d install -m 0755 ${WORKDIR}/hostname.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/mountall.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/mountnfs.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/ramdisk ${D}/etc/init.d install -m 0755 ${WORKDIR}/reboot ${D}/etc/init.d install -m 0755 ${WORKDIR}/rmnologin ${D}/etc/init.d install -m 0755 ${WORKDIR}/sendsigs ${D}/etc/init.d install -m 0755 ${WORKDIR}/single ${D}/etc/init.d install -m 0755 ${WORKDIR}/umountnfs.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/urandom ${D}/etc/init.d install -m 0755 ${WORKDIR}/devpts.sh ${D}/etc/init.d install -m 0755 ${WORKDIR}/devpts ${D}/etc/default install -m 0755 ${WORKDIR}/sysfs.sh ${D}/etc/init.d if [ "${TARGET_ARCH}" = "arm" ]; then install -m 0755 ${WORKDIR}/alignment.sh ${D}/etc/init.d fi # # Install device dependent scripts # if [ "${DISTRO}" == "openzaurus" ]; then cat ${WORKDIR}/checkversion | sed -e "s,VERSION,${KERNEL_VERSION}-${DISTRO_VERSION}," > ${D}/etc/init.d/checkversion chmod 0755 ${D}/etc/init.d/checkversion ln -sf ../init.d/checkversion ${D}/etc/rcS.d/S05version fi if [ "${MACHINE}" == "openzaurus-pxa-2.6" ]; then install -m 0755 ${WORKDIR}/corgikeymap.map ${D}/etc install -m 0755 ${WORKDIR}/keymap.sh ${D}/etc/init.d ln -sf ../init.d/keymap.sh ${D}/etc/rcS.d/S04keymap.sh fi install -m 0755 ${WORKDIR}/banner ${D}/etc/init.d/banner install -m 0755 ${WORKDIR}/devices ${D}/etc/init.d/devices install -m 0755 ${WORKDIR}/umountfs ${D}/etc/init.d/umountfs # # Create runlevel links # ln -sf ../init.d/rmnologin ${D}/etc/rc2.d/S99rmnologin ln -sf ../init.d/rmnologin ${D}/etc/rc3.d/S99rmnologin ln -sf ../init.d/rmnologin ${D}/etc/rc4.d/S99rmnologin ln -sf ../init.d/rmnologin ${D}/etc/rc5.d/S99rmnologin ln -sf ../init.d/sendsigs ${D}/etc/rc6.d/S20sendsigs # ln -sf ../init.d/urandom ${D}/etc/rc6.d/S30urandom ln -sf ../init.d/umountnfs.sh ${D}/etc/rc6.d/S31umountnfs.sh # ln -sf ../init.d/umountfs ${D}/etc/rc6.d/S40umountfs ln -sf ../init.d/ramdisk ${D}/etc/rcS.d/S30ramdisk ln -sf ../init.d/reboot ${D}/etc/rc6.d/S90reboot ln -sf ../init.d/sendsigs ${D}/etc/rc0.d/S20sendsigs # ln -sf ../init.d/urandom ${D}/etc/rc0.d/S30urandom ln -sf ../init.d/umountnfs.sh ${D}/etc/rc0.d/S31umountnfs.sh # ln -sf ../init.d/umountfs ${D}/etc/rc0.d/S40umountfs ln -sf ../init.d/halt ${D}/etc/rc0.d/S90halt ln -sf ../init.d/banner ${D}/etc/rcS.d/S01banner ln -sf ../init.d/checkroot.sh ${D}/etc/rcS.d/S10checkroot.sh # ln -sf ../init.d/checkfs.sh ${D}/etc/rcS.d/S30checkfs.sh ln -sf ../init.d/mountall.sh ${D}/etc/rcS.d/S35mountall.sh ln -sf ../init.d/hostname.sh ${D}/etc/rcS.d/S40hostname.sh ln -sf ../init.d/mountnfs.sh ${D}/etc/rcS.d/S45mountnfs.sh ln -sf ../init.d/bootmisc.sh ${D}/etc/rcS.d/S55bootmisc.sh # ln -sf ../init.d/urandom ${D}/etc/rcS.d/S55urandom ln -sf ../init.d/finish ${D}/etc/rcS.d/S99finish ln -sf ../init.d/devices ${D}/etc/rcS.d/S04devices # udev will run at S03 if installed ln -sf ../init.d/sysfs.sh ${D}/etc/rcS.d/S02sysfs ln -sf ../init.d/devpts.sh ${D}/etc/rcS.d/S38devpts.sh if [ "${TARGET_ARCH}" = "arm" ]; then ln -sf ../init.d/alignment.sh ${D}/etc/rcS.d/S05alignment fi install -m 0755 ${WORKDIR}/device_table.txt ${D}/etc/device_table }