From e70d661a971e05735e21968dd7b0d6bc10d6c6dd Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 14 Mar 2014 14:39:32 +0100 Subject: rename correctly --- package/base-files/src/etc/init.d/fs | 49 +++++++++++++++++++++++++++------ package/base-files/src/etc/init.d/fsnet | 49 ++++++--------------------------- 2 files changed, 49 insertions(+), 49 deletions(-) (limited to 'package/base-files/src/etc') diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/src/etc/init.d/fs index 75ae760e0..8f4397897 100644 --- a/package/base-files/src/etc/init.d/fs +++ b/package/base-files/src/etc/init.d/fs @@ -1,20 +1,53 @@ #!/bin/sh -#INIT 60 +#INIT 20 [[ $1 = autostart ]] || exit 0 -# mount net filesystems (nfs/cifs) -grep nfs /proc/filesystems >/dev/null 2>&1 +# activate swap +[ -x /sbin/swapon ] && { swapon -a; } + +# activate any logical volumes +[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; } + +# filesystem checks +[ -x /sbin/fsck.ext2 ] && { + for i in $(grep -v "^#" /etc/fstab|grep ext2|awk '{ print $1}');do fsck.ext2 $i;done; +} +[ -x /sbin/fsck.ext3 ] && { + for i in $(grep -v "^#" /etc/fstab|grep ext3|awk '{ print $1}');do fsck.ext3 $i;done; +} +[ -x /sbin/fsck.ext4 ] && { + for i in $(grep -v "^#" /etc/fstab|grep ext4|awk '{ print $1}');do fsck.ext4 $i;done; +} +[ -x /sbin/fsck.xfs ] && { + for i in $(grep -v "^#" /etc/fstab|grep xfs|awk '{ print $1}');do xfs_repair $i;done; +} +# local filesystems +grep ext2 /proc/filesystems >/dev/null 2>&1 +if [ $? -eq 0 ];then + grep -v "^#" /etc/fstab |grep ext2 >/dev/null 2>&1 + if [ $? -eq 0 ];then + mount -a -t ext2 + fi +fi +grep ext3 /proc/filesystems >/dev/null 2>&1 +if [ $? -eq 0 ];then + grep -v "^#" /etc/fstab |grep ext3 >/dev/null 2>&1 + if [ $? -eq 0 ];then + mount -a -t ext3 + fi +fi +grep ext4 /proc/filesystems >/dev/null 2>&1 if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 + grep -v "^#" /etc/fstab |grep ext4 >/dev/null 2>&1 if [ $? -eq 0 ];then - mount -a -t nfs + mount -a -t ext4 fi fi -grep cifs /proc/filesystems >/dev/null 2>&1 +grep xfs /proc/filesystems >/dev/null 2>&1 if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1 + grep -v "^#" /etc/fstab |grep xfs >/dev/null 2>&1 if [ $? -eq 0 ];then - mount -a -t cifs + mount -a -t xfs fi fi exit 0 diff --git a/package/base-files/src/etc/init.d/fsnet b/package/base-files/src/etc/init.d/fsnet index 8f4397897..75ae760e0 100644 --- a/package/base-files/src/etc/init.d/fsnet +++ b/package/base-files/src/etc/init.d/fsnet @@ -1,53 +1,20 @@ #!/bin/sh -#INIT 20 +#INIT 60 [[ $1 = autostart ]] || exit 0 -# activate swap -[ -x /sbin/swapon ] && { swapon -a; } - -# activate any logical volumes -[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; } - -# filesystem checks -[ -x /sbin/fsck.ext2 ] && { - for i in $(grep -v "^#" /etc/fstab|grep ext2|awk '{ print $1}');do fsck.ext2 $i;done; -} -[ -x /sbin/fsck.ext3 ] && { - for i in $(grep -v "^#" /etc/fstab|grep ext3|awk '{ print $1}');do fsck.ext3 $i;done; -} -[ -x /sbin/fsck.ext4 ] && { - for i in $(grep -v "^#" /etc/fstab|grep ext4|awk '{ print $1}');do fsck.ext4 $i;done; -} -[ -x /sbin/fsck.xfs ] && { - for i in $(grep -v "^#" /etc/fstab|grep xfs|awk '{ print $1}');do xfs_repair $i;done; -} -# local filesystems -grep ext2 /proc/filesystems >/dev/null 2>&1 -if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab |grep ext2 >/dev/null 2>&1 - if [ $? -eq 0 ];then - mount -a -t ext2 - fi -fi -grep ext3 /proc/filesystems >/dev/null 2>&1 -if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab |grep ext3 >/dev/null 2>&1 - if [ $? -eq 0 ];then - mount -a -t ext3 - fi -fi -grep ext4 /proc/filesystems >/dev/null 2>&1 +# mount net filesystems (nfs/cifs) +grep nfs /proc/filesystems >/dev/null 2>&1 if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab |grep ext4 >/dev/null 2>&1 + grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 if [ $? -eq 0 ];then - mount -a -t ext4 + mount -a -t nfs fi fi -grep xfs /proc/filesystems >/dev/null 2>&1 +grep cifs /proc/filesystems >/dev/null 2>&1 if [ $? -eq 0 ];then - grep -v "^#" /etc/fstab |grep xfs >/dev/null 2>&1 + grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1 if [ $? -eq 0 ];then - mount -a -t xfs + mount -a -t cifs fi fi exit 0 -- cgit v1.2.3 From 0d383fcba7447769559c8ee0a5ca0bf5e0b1685f Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 14 Mar 2014 17:06:51 +0100 Subject: add cifs example, disable busybox internal cifs code --- package/base-files/src/etc/fstab | 2 ++ package/busybox/config/util-linux/Config.in | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'package/base-files/src/etc') diff --git a/package/base-files/src/etc/fstab b/package/base-files/src/etc/fstab index 5c09c2510..d5f900202 100644 --- a/package/base-files/src/etc/fstab +++ b/package/base-files/src/etc/fstab @@ -6,3 +6,5 @@ devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 sysfs /sys sysfs defaults 0 0 +# example for cifs +#//192.168.1.1/music /music/test cifs ro,password=linux123,username=adk,iocharset=utf8,sec=ntlm 0 0 diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in index aafc795b1..026146662 100644 --- a/package/busybox/config/util-linux/Config.in +++ b/package/busybox/config/util-linux/Config.in @@ -572,7 +572,7 @@ config BUSYBOX_FEATURE_MOUNT_NFS config BUSYBOX_FEATURE_MOUNT_CIFS bool "Support mounting CIFS/SMB file systems" - default y + default n depends on BUSYBOX_MOUNT help Enable support for samba mounts. -- cgit v1.2.3 From ec47c602c27ceef10f38afdf8e2e2adb953b9ed8 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 14 Mar 2014 19:46:58 +0100 Subject: a bunch of adk-test-framework fixes. --- mk/build.mk | 13 ++++++------- mk/rootfs.mk | 3 --- package/adk-test-tools/Makefile | 2 +- package/adk-test-tools/files/test.init | 5 +++-- package/base-files/src/etc/init.d/rcK | 11 +---------- package/base-files/src/etc/init.d/rcS | 3 +-- package/cfgfs/Makefile | 2 +- target/Makefile | 2 ++ target/arm/kernel/qemu-arm-versatilepb | 1 - target/arm/sys-available/qemu-armhf | 9 +++++++++ target/config/Config.in | 24 ++++++++++++++++++------ target/linux/kernel.config | 1 + target/packages/pkg-available/test | 3 +++ 13 files changed, 46 insertions(+), 33 deletions(-) create mode 100644 target/arm/sys-available/qemu-armhf (limited to 'package/base-files/src/etc') diff --git a/mk/build.mk b/mk/build.mk index 0da34de85..66472657a 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -507,15 +507,15 @@ bulktoolchain: done test-framework: - if [ -z "$(LIBC)" ];then \ + @if [ -z "$(LIBC)" ];then \ libc="glibc uclibc musl"; \ else \ libc="$(LIBC)"; \ fi; \ for libc in $$libc;do \ ( \ - for arch in arm microblaze microblazeel mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc sparc64 i686 x86_64;do \ - tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#"); \ + for arch in arm armhf microblaze microblazeel mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc sparc64 i686 x86_64;do \ + tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#" -e "s#hf##"); \ echo === building qemu-$$arch for $$libc with $$tarch on $$(date); \ $(GMAKE) prereq && \ $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=archive COLLECTION=test defconfig; \ @@ -523,12 +523,11 @@ test-framework: tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\ if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \ if [ -d root ];then rm -rf root;fi; \ - echo cp -a root_qemu_$${arch}_$${libc}$${abi} root; \ cp -a root_qemu_$${arch}_$${libc}$${abi} root; \ - mkdir -p $(TOPDIR)/firmware/qemu/$$tarch; \ - tar cJvf $(TOPDIR)/firmware/qemu/$$tarch/root.tar.xz root; \ + mkdir -p $(TOPDIR)/firmware/qemu/$$arch; \ + tar cJvf $(TOPDIR)/firmware/qemu/$$arch/root.tar.xz root; \ cp $(TOPDIR)/firmware/qemu_$${arch}_$${libc}$${abi}/qemu-$${arch}-archive-kernel \ - $(TOPDIR)/firmware/qemu/$$tarch/kernel; \ + $(TOPDIR)/firmware/qemu/$$arch/kernel; \ rm .config; \ done; \ ) 2>&1 | tee $(TOPDIR)/firmware/test-framework-build.log; \ diff --git a/mk/rootfs.mk b/mk/rootfs.mk index 55830b23c..812c90680 100644 --- a/mk/rootfs.mk +++ b/mk/rootfs.mk @@ -10,9 +10,6 @@ endef ifeq ($(ADK_HARDWARE_QEMU),y) MTDDEV:= root=/dev/mtdblock0 -ifeq ($(ADK_TARGET_ROOTFS_ARCHIVE),y) -ROOTFS:= root=/dev/sda1 -endif ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) ROOTFS:= root=/dev/vda1 endif diff --git a/package/adk-test-tools/Makefile b/package/adk-test-tools/Makefile index bc2624fe9..0a60c5056 100644 --- a/package/adk-test-tools/Makefile +++ b/package/adk-test-tools/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:= adk-test-tools PKG_VERSION:= 0.1 -PKG_RELEASE:= 1 +PKG_RELEASE:= 3 PKG_DESCR:= helper tools and scripts for adk-test-framework PKG_SECTION:= misc PKG_URL:= http://openadk.org/ diff --git a/package/adk-test-tools/files/test.init b/package/adk-test-tools/files/test.init index 81095fa39..bb8fca527 100755 --- a/package/adk-test-tools/files/test.init +++ b/package/adk-test-tools/files/test.init @@ -4,8 +4,9 @@ [[ $1 = autostart ]] || exit 0 echo "Starting test script ..." if [ -x /run.sh ];then - exec /run.sh + /run.sh + quit else echo "no run.sh found" + quit fi -quit diff --git a/package/base-files/src/etc/init.d/rcK b/package/base-files/src/etc/init.d/rcK index 9d0e06440..938882ae5 100755 --- a/package/base-files/src/etc/init.d/rcK +++ b/package/base-files/src/etc/init.d/rcK @@ -4,15 +4,6 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin grep '^#INIT ' /etc/init.d/* | \ sort -rnk2 | \ while read line; do - shebang=$(sed -n '1s/^#![ ]*//p' ${line%%:*}) - case $shebang in - *[\ \ ]*) shebang=\'$(echo X"$shebang" | sed \ - -e 's/^X//' -e "s/'/'\\\\''/g" \ - -e 's/^\([^ ][^ ]*\)[ ]*$/\1/' \ - -e 's/^\([^ ][^ ]*\)[ ][ ]*\(..*\)$/\1 \2/' \ - -e 's/^\([^ ][^ ]*\) /\1'\'' '\''/')\' ;; - esac - ${shebang:-/bin/sh} ${line%%:*} autostop 2>&1 + sh ${line%%:*} autostop done - test -e /etc/rc.shutdown && (/bin/sh /etc/rc.shutdown) 2>&1 } | logger -s -p 6 -t '' diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS index 9daa8f5cd..ef3a52a31 100755 --- a/package/base-files/src/etc/init.d/rcS +++ b/package/base-files/src/etc/init.d/rcS @@ -5,11 +5,10 @@ if [ -f /proc/sys/kernel/printk ];then fi echo "System initialization ..." export PATH=/bin:/sbin:/usr/bin:/usr/sbin -ln -s /proc/self/fd/2 /dev/stderr { grep '^#INIT ' /etc/init.d/* | \ sort -nk2 | \ while read line; do sh ${line%%:*} autostart done -} | tee /dev/stderr |logger -p 6 -t '' +} | logger -s -p 6 -t '' diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile index a79bd73ca..70b323a76 100644 --- a/package/cfgfs/Makefile +++ b/package/cfgfs/Makefile @@ -16,7 +16,7 @@ PKG_CFLINE_CFGFS+= select BUSYBOX_MD5SUM@ PKG_CFLINE_CFGFS+= select BUSYBOX_XARGS@ PKG_CFLINE_CFGFS+= select BUSYBOX_FEATURE_SORT_BIG@ PKG_CFLINE_CFGFS+= depends on !ADK_TARGET_ROOTFS_NFSROOT && !ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK && !ADK_TARGET_ROOTFS_INITRAMFS && !ADK_TARGET_ROOTFS_JFFS2 && !ADK_TARGET_ROOTFS_SQUASHFS -PKG_DFLT_CFGFS:= y if !(ADK_TOOLCHAIN_ONLY || ADK_TOOLCHAIN_ARCHIVE) +PKG_DFLT_CFGFS:= y if !(ADK_TOOLCHAIN_ONLY || ADK_TOOLCHAIN_ARCHIVE || ADK_PKG_TEST) WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION} NO_DISTFILES:= 1 diff --git a/target/Makefile b/target/Makefile index f2ae18b60..1e091d3dc 100644 --- a/target/Makefile +++ b/target/Makefile @@ -53,6 +53,8 @@ config-prepare: $(TOPDIR)/.config while IFS='=' read symbol value; do \ sed -i -e "/^# $$symbol/d" ${BUILD_DIR}/.kernelconfig.board; \ done;) + @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 init=/sbin/init"#' \ + ${BUILD_DIR}/.kernelconfig.board @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${FS_CMDLINE}"#' \ ${BUILD_DIR}/.kernelconfig.board ifneq ($(ADK_TARGET_CMDLINE),) diff --git a/target/arm/kernel/qemu-arm-versatilepb b/target/arm/kernel/qemu-arm-versatilepb index ead723621..ce52647be 100644 --- a/target/arm/kernel/qemu-arm-versatilepb +++ b/target/arm/kernel/qemu-arm-versatilepb @@ -18,7 +18,6 @@ CONFIG_DTC=y CONFIG_OF=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y -CONFIG_SCSI_PROC_FS=y CONFIG_BLK_DEV_SD=y CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_LOWLEVEL=y diff --git a/target/arm/sys-available/qemu-armhf b/target/arm/sys-available/qemu-armhf new file mode 100644 index 000000000..07059a8f3 --- /dev/null +++ b/target/arm/sys-available/qemu-armhf @@ -0,0 +1,9 @@ +config ADK_TARGET_SYSTEM_QEMU_ARMHF + bool "Qemu Emulator (hard-float)" + select ADK_arm + select ADK_qemu_arm + select ADK_little + select ADK_HARDWARE_QEMU + select ADK_TARGET_KERNEL_ZIMAGE + help + Support for Qemu Emulator (armhf). diff --git a/target/config/Config.in b/target/config/Config.in index 88059fb60..dfe87bae6 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -278,22 +278,34 @@ config ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800 endchoice +choice +prompt "Qemu ARM Emulation (hard-float)" +depends on ADK_TARGET_SYSTEM_QEMU_ARMHF + +config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 + boolean "ARM Ltd. Versatile Express for Cortex-A9" + select ADK_hard_float + select ADK_eabihf + select ADK_CPU_CORTEX_A9 + +endchoice + choice prompt "Qemu ARM Emulation" depends on ADK_TARGET_SYSTEM_QEMU_ARM +config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 + boolean "ARM Ltd. Versatile Express for Cortex-A9" + select ADK_soft_float + select ADK_eabi + select ADK_CPU_CORTEX_A9 + config ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB boolean "ARM Ltd. Versatile/PB" select ADK_soft_float select ADK_eabi select ADK_CPU_ARM926EJ_S -config ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 - boolean "ARM Ltd. Versatile Express for Cortex-A9" - select ADK_hard_float - select ADK_eabihf - select ADK_CPU_CORTEX_A9 - config ADK_TARGET_QEMU_ARM_MODEL_SPITZ boolean "Xscale PXA270 Spitz PDA" select ADK_soft_float diff --git a/target/linux/kernel.config b/target/linux/kernel.config index d69b28908..3afd5bdf5 100644 --- a/target/linux/kernel.config +++ b/target/linux/kernel.config @@ -15,6 +15,7 @@ CONFIG_INET=y CONFIG_PROC_FS=y CONFIG_PROC_SYSCTL=y CONFIG_BLOCK=y +CONFIG_BLK_DEV=y CONFIG_FILE_LOCKING=y CONFIG_SYSFS=y CONFIG_TMPFS=y diff --git a/target/packages/pkg-available/test b/target/packages/pkg-available/test index 6560dc8a1..074ce8246 100644 --- a/target/packages/pkg-available/test +++ b/target/packages/pkg-available/test @@ -5,6 +5,9 @@ config ADK_PKG_TEST select ADK_PACKAGE_STRACE select ADK_PACKAGE_SOCAT select ADK_PACKAGE_MAKE + select ADK_KERNEL_BLK_DEV_INITRD + select ADK_KERNEL_COMP_XZ + select ADK_KERNEL_INITRAMFS_COMPRESSION_XZ help Package collection used to build adk-test-framework root filesystem. -- cgit v1.2.3 From e7540c9fa814f9b41f80e72bc160ce504e26cda6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 15 Mar 2014 19:26:42 +0100 Subject: startup fixes - always use /sbin/init, even for initramfs - mount devtmpfs for initramfs automatically in kernel space - fix armhf for adk-test-framework - remove mdev -s on boot, I think it is unneeded, takes very long on Qemu systems - add alias for ro/rw remounts of / - remove old /init and rc.shutdown, both unused --- mk/build.mk | 5 +++-- package/base-files/Makefile | 2 +- package/base-files/src/etc/init.d/boot | 5 ++++- package/base-files/src/etc/init.d/rcS | 3 ++- package/base-files/src/etc/profile | 2 ++ package/base-files/src/etc/rc.shutdown | 2 -- package/base-files/src/init | 7 ------- target/Makefile | 6 +++++- target/arm/Makefile | 6 +++--- target/arm/sys-available/qemu-armhf | 2 +- target/config/Config.in | 33 +++++++++++++++--------------- target/config/Config.in.arch.default | 4 ---- target/linux/patches/3.10.33/startup.patch | 32 ++++++++++++++++++++++++----- target/linux/patches/3.11.10/startup.patch | 32 ++++++++++++++++++++++++----- target/linux/patches/3.12.13/startup.patch | 32 ++++++++++++++++++++++++----- target/linux/patches/3.13.6/startup.patch | 25 ++++++++++++++++++++++ target/linux/patches/3.4.82/startup.patch | 30 +++++++++++++++++++++++---- 17 files changed, 169 insertions(+), 59 deletions(-) delete mode 100644 package/base-files/src/etc/rc.shutdown delete mode 100755 package/base-files/src/init (limited to 'package/base-files/src/etc') diff --git a/mk/build.mk b/mk/build.mk index 0c2360bc4..e35f29d22 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -510,11 +510,12 @@ test-framework: $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \ tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\ if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \ + if [ $$arch = "armhf" ];then qarch=arm; else qarch=$$arch;fi; \ if [ -d root ];then rm -rf root;fi; \ - cp -a root_qemu_$${arch}_$${libc}$${abi} root; \ + cp -a root_qemu_$${qarch}_$${libc}$${abi} root; \ mkdir -p $(TOPDIR)/firmware/qemu/$$arch; \ tar cJvf $(TOPDIR)/firmware/qemu/$$arch/root.tar.xz root; \ - cp $(TOPDIR)/firmware/qemu_$${arch}_$${libc}$${abi}/qemu-$${arch}-archive-kernel \ + cp $(TOPDIR)/firmware/qemu_$${qarch}_$${libc}$${abi}/qemu-$${qarch}-archive-kernel \ $(TOPDIR)/firmware/qemu/$$arch/kernel; \ rm .config; \ done; \ diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 89b9414d9..11fb4f507 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.0 -PKG_RELEASE:= 71 +PKG_RELEASE:= 72 PKG_SECTION:= base PKG_DESCR:= basic files and scripts PKG_BUILDDEP:= pkgconf-host file-host diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot index fc2f79ac2..f52e8dc78 100644 --- a/package/base-files/src/etc/init.d/boot +++ b/package/base-files/src/etc/init.d/boot @@ -4,6 +4,10 @@ . /etc/functions.sh +if [ -f /proc/sys/kernel/printk ];then + echo 0 > /proc/sys/kernel/printk +fi + # remount /dev with smaller size mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev @@ -15,7 +19,6 @@ mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp # start mdev dynamic device node management echo >/dev/mdev.seq echo "/sbin/mdev" >/proc/sys/kernel/hotplug -mdev -s # seed some random cat /etc/.rnd >/dev/urandom 2>&1 diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS index ef3a52a31..e27bc9eb5 100755 --- a/package/base-files/src/etc/init.d/rcS +++ b/package/base-files/src/etc/init.d/rcS @@ -3,6 +3,7 @@ if [ -f /proc/sys/kernel/printk ];then echo 0 > /proc/sys/kernel/printk fi +ln -s /proc/self/fd/2 /dev/stderr echo "System initialization ..." export PATH=/bin:/sbin:/usr/bin:/usr/sbin { @@ -11,4 +12,4 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin while read line; do sh ${line%%:*} autostart done -} | logger -s -p 6 -t '' +} |tee /dev/stderr |logger -p 6 -t '' diff --git a/package/base-files/src/etc/profile b/package/base-files/src/etc/profile index ce425b54c..eb3015d46 100644 --- a/package/base-files/src/etc/profile +++ b/package/base-files/src/etc/profile @@ -12,3 +12,5 @@ cat /etc/banner 2>&- alias l='ls -lF' alias la='ls -A' alias ll='ls -alF' +alias ro='mount -o remount,ro /' +alias rw='mount -o remount,rw /' diff --git a/package/base-files/src/etc/rc.shutdown b/package/base-files/src/etc/rc.shutdown deleted file mode 100644 index 5a1a0aa78..000000000 --- a/package/base-files/src/etc/rc.shutdown +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -# add code for shutdown routine diff --git a/package/base-files/src/init b/package/base-files/src/init deleted file mode 100755 index a27548217..000000000 --- a/package/base-files/src/init +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# devtmpfs does not get automounted for initramfs -/bin/mount -t devtmpfs devtmpfs /dev -exec 0/dev/console -exec 2>/dev/console -exec /sbin/init $* diff --git a/target/Makefile b/target/Makefile index 1e091d3dc..313a616a1 100644 --- a/target/Makefile +++ b/target/Makefile @@ -53,7 +53,7 @@ config-prepare: $(TOPDIR)/.config while IFS='=' read symbol value; do \ sed -i -e "/^# $$symbol/d" ${BUILD_DIR}/.kernelconfig.board; \ done;) - @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 init=/sbin/init"#' \ + @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ro"#' \ ${BUILD_DIR}/.kernelconfig.board @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${FS_CMDLINE}"#' \ ${BUILD_DIR}/.kernelconfig.board @@ -61,6 +61,10 @@ ifneq ($(ADK_TARGET_CMDLINE),) @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${ADK_TARGET_CMDLINE}"#' \ ${BUILD_DIR}/.kernelconfig.board endif +ifeq ($(ADK_TARGET_QEMU_WITH_GRAPHIC),y) + @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 console=tty0"#' \ + ${BUILD_DIR}/.kernelconfig.board +endif ifneq ($(ADK_PACKAGE_CRYPTINIT_ROOT),) @sed -i -e 's#^\(CONFIG_.*CMDLINE="\)\(.*\)"#\1\2 ${ADK_PACKAGE_CMDLINE}"#' \ ${BUILD_DIR}/.kernelconfig.board diff --git a/target/arm/Makefile b/target/arm/Makefile index e2194f1d3..77148e261 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -61,7 +61,7 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) @echo "Use following command to install it on SD card:" @echo "sudo ./scripts/install-rpi.sh /dev/sdb $(FW_DIR)/$(ROOTFSTARBALL)" endif -ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' @echo "Use following command to create a QEMU Image:" @@ -75,7 +75,7 @@ imageinstall: $(FW_DIR)/$(INITRAMFS) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}' -ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y) ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) @echo 'qemu-system-arm -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0 -net nic,model=virtio -net user' else @@ -88,7 +88,7 @@ ifeq ($(ADK_TARGET_FS),initramfs-piggyback) imageinstall: createinitramfs @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}' -ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y) @echo "Start qemu with following command line:" @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL)' endif diff --git a/target/arm/sys-available/qemu-armhf b/target/arm/sys-available/qemu-armhf index 798391b8c..85cc9c00f 100644 --- a/target/arm/sys-available/qemu-armhf +++ b/target/arm/sys-available/qemu-armhf @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_QEMU_ARMHF bool "Qemu Emulator (hard-float)" select ADK_arm - select ADK_qemu_arm + select ADK_qemu_armhf select ADK_little select ADK_hard_float select ADK_eabihf diff --git a/target/config/Config.in b/target/config/Config.in index a917f6a3c..d2d5b6671 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -561,7 +561,6 @@ config ADK_TARGET_CPU_ARCH default "mips" if ADK_LINUX_MIPS && ADK_big default "mipsel" if ADK_LINUX_MIPS && ADK_little default "arm" if ADK_LINUX_ARM && ADK_little - default "armeb" if ADK_LINUX_ARM && ADK_big default "sparc" if ADK_LINUX_SPARC default "sparc64" if ADK_LINUX_SPARC64 default "sh4" if ADK_LINUX_SH && ADK_little @@ -615,28 +614,27 @@ config ADK_TARGET_CFLAGS config ADK_TARGET_CMDLINE string default "dwc_otg.fiq_split_enable=1" if ADK_TARGET_SYSTEM_RASPBERRY_PI - default "console=tty0" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG default "console=ttymxc0,115200" if ADK_TARGET_SYSTEM_CUBOX_I + default "console=tty0" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG + default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40 + default "console=ttyS0,115200 console=tty0 fbcon=rotate:1" if ADK_TARGET_SYSTEM_SHARP_ZAURUS default "console=ttyS0,9600" if ADK_TARGET_SYSTEM_FON_FON2100 default "console=ttyS0,38400" if ADK_TARGET_SYSTEM_PCENGINES_WRAP default "console=ttyS0,115200 console=tty0 geodewdt.nowayout=1" if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40 - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_I686 - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86_64 - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SPARC64 - default "console=ttyS0,9600 console=tty0" if ADK_TARGET_SYSTEM_QEMU_PPC - default "console=hvc0 console=tty0" if ADK_TARGET_SYSTEM_QEMU_PPC64 - default "console=ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800 - default "console=ttyS0,115200" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_VBOX_I686 - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ - default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB - default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 - default "console=ttyS0,115200 console=tty0 fbcon=rotate:1" if ADK_TARGET_SYSTEM_SHARP_ZAURUS - default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4 - default "console=ttySC1 console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH4EB default "console=tty0" if ADK_TARGET_SYSTEM_ARANYM_M68K + default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_I686 + default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_X86_64 + default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_QEMU_SPARC64 + default "console=ttyS0,9600" if ADK_TARGET_SYSTEM_QEMU_PPC + default "console=hvc0" if ADK_TARGET_SYSTEM_QEMU_PPC64 + default "console=ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800 + default "console=ttyS0,115200" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 + default "console=ttyS0,115200" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ + default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB + default "console=ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9 + default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4 + default "console=ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4EB default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13 default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2 default "" @@ -770,6 +768,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS ADK_LINUX_NATIVE depends on !ADK_HARDWARE_VBOX depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI + select ADK_KERNEL_BLK_DEV_INITRD select ADK_KERNEL_BLK_DEV_RAM if ADK_TARGET_SYSTEM_ARANYM_M68K help create an read-only initramfs system. diff --git a/target/config/Config.in.arch.default b/target/config/Config.in.arch.default index 43d1e5399..90401de3d 100644 --- a/target/config/Config.in.arch.default +++ b/target/config/Config.in.arch.default @@ -1,7 +1,4 @@ # target architectures -config ADK_native - bool - config ADK_arm bool @@ -48,5 +45,4 @@ config ADK_TARGET_ARCH default "sh" if ADK_sh default "x86" if ADK_x86 default "x86_64" if ADK_x86_64 - default "native" if ADK_native diff --git a/target/linux/patches/3.10.33/startup.patch b/target/linux/patches/3.10.33/startup.patch index 4dccae8c1..3ebc5db1e 100644 --- a/target/linux/patches/3.10.33/startup.patch +++ b/target/linux/patches/3.10.33/startup.patch @@ -1,12 +1,34 @@ -diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c ---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100 -+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100 -@@ -879,6 +880,8 @@ +diff -Nur linux-3.10.33.orig/init/initramfs.c linux-3.10.33/init/initramfs.c +--- linux-3.10.33.orig/init/initramfs.c 2014-03-07 06:58:45.000000000 +0100 ++++ linux-3.10.33/init/initramfs.c 2014-03-15 18:32:07.240436750 +0100 +@@ -622,6 +622,9 @@ + */ + load_default_modules(); + } ++#ifdef CONFIG_DEVTMPFS_MOUNT ++ devtmpfs_mount("dev"); ++#endif + return 0; + } + rootfs_initcall(populate_rootfs); +diff -Nur linux-3.10.33.orig/init/main.c linux-3.10.33/init/main.c +--- linux-3.10.33.orig/init/main.c 2014-03-07 06:58:45.000000000 +0100 ++++ linux-3.10.33/init/main.c 2014-03-15 18:32:07.240436750 +0100 +@@ -885,6 +885,8 @@ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) - printk(KERN_WARNING "Warning: unable to open an initial console.\n"); + pr_err("Warning: unable to open an initial console.\n"); + printk(KERN_WARNING "Starting Linux (built with OpenADK).\n"); + (void) sys_dup(0); (void) sys_dup(0); /* +@@ -893,7 +895,7 @@ + */ + + if (!ramdisk_execute_command) +- ramdisk_execute_command = "/init"; ++ ramdisk_execute_command = "/sbin/init"; + + if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { + ramdisk_execute_command = NULL; diff --git a/target/linux/patches/3.11.10/startup.patch b/target/linux/patches/3.11.10/startup.patch index 4dccae8c1..e7285873d 100644 --- a/target/linux/patches/3.11.10/startup.patch +++ b/target/linux/patches/3.11.10/startup.patch @@ -1,12 +1,34 @@ -diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c ---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100 -+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100 -@@ -879,6 +880,8 @@ +diff -Nur linux-3.11.10.orig/init/initramfs.c linux-3.11.10/init/initramfs.c +--- linux-3.11.10.orig/init/initramfs.c 2013-11-29 19:42:37.000000000 +0100 ++++ linux-3.11.10/init/initramfs.c 2014-03-15 18:42:01.586249887 +0100 +@@ -622,6 +622,9 @@ + */ + load_default_modules(); + } ++#ifdef CONFIG_DEVTMPFS_MOUNT ++ devtmpfs_mount("dev"); ++#endif + return 0; + } + rootfs_initcall(populate_rootfs); +diff -Nur linux-3.11.10.orig/init/main.c linux-3.11.10/init/main.c +--- linux-3.11.10.orig/init/main.c 2013-11-29 19:42:37.000000000 +0100 ++++ linux-3.11.10/init/main.c 2014-03-15 18:42:01.590249897 +0100 +@@ -886,6 +886,8 @@ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) - printk(KERN_WARNING "Warning: unable to open an initial console.\n"); + pr_err("Warning: unable to open an initial console.\n"); + printk(KERN_WARNING "Starting Linux (built with OpenADK).\n"); + (void) sys_dup(0); (void) sys_dup(0); /* +@@ -894,7 +896,7 @@ + */ + + if (!ramdisk_execute_command) +- ramdisk_execute_command = "/init"; ++ ramdisk_execute_command = "/sbin/init"; + + if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { + ramdisk_execute_command = NULL; diff --git a/target/linux/patches/3.12.13/startup.patch b/target/linux/patches/3.12.13/startup.patch index 4dccae8c1..4cd477da1 100644 --- a/target/linux/patches/3.12.13/startup.patch +++ b/target/linux/patches/3.12.13/startup.patch @@ -1,12 +1,34 @@ -diff -Nur linux-3.7.3.orig/init/main.c linux-3.7.3/init/main.c ---- linux-3.7.3.orig/init/main.c 2013-01-17 17:47:40.000000000 +0100 -+++ linux-3.7.3/init/main.c 2013-01-19 15:08:13.000000000 +0100 -@@ -879,6 +880,8 @@ +diff -Nur linux-3.12.13.orig/init/initramfs.c linux-3.12.13/init/initramfs.c +--- linux-3.12.13.orig/init/initramfs.c 2014-02-22 22:32:50.000000000 +0100 ++++ linux-3.12.13/init/initramfs.c 2014-03-15 18:09:39.040618589 +0100 +@@ -622,6 +622,9 @@ + */ + load_default_modules(); + } ++#ifdef CONFIG_DEVTMPFS_MOUNT ++ devtmpfs_mount("dev"); ++#endif + return 0; + } + rootfs_initcall(populate_rootfs); +diff -Nur linux-3.12.13.orig/init/main.c linux-3.12.13/init/main.c +--- linux-3.12.13.orig/init/main.c 2014-02-22 22:32:50.000000000 +0100 ++++ linux-3.12.13/init/main.c 2014-03-15 18:09:39.044618600 +0100 +@@ -888,6 +888,8 @@ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) - printk(KERN_WARNING "Warning: unable to open an initial console.\n"); + pr_err("Warning: unable to open an initial console.\n"); + printk(KERN_WARNING "Starting Linux (built with OpenADK).\n"); + (void) sys_dup(0); (void) sys_dup(0); /* +@@ -896,7 +898,7 @@ + */ + + if (!ramdisk_execute_command) +- ramdisk_execute_command = "/init"; ++ ramdisk_execute_command = "/sbin/init"; + + if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { + ramdisk_execute_command = NULL; diff --git a/target/linux/patches/3.13.6/startup.patch b/target/linux/patches/3.13.6/startup.patch index be4ea469d..d396b75e4 100644 --- a/target/linux/patches/3.13.6/startup.patch +++ b/target/linux/patches/3.13.6/startup.patch @@ -10,3 +10,28 @@ diff -Nur linux-3.13.3.orig/init/main.c linux-3.13.3/init/main.c (void) sys_dup(0); (void) sys_dup(0); /* +diff -Nur linux-3.13.6.orig/init/initramfs.c linux-3.13.6/init/initramfs.c +--- linux-3.13.6.orig/init/initramfs.c 2014-03-07 07:07:02.000000000 +0100 ++++ linux-3.13.6/init/initramfs.c 2014-03-15 12:11:31.882731916 +0100 +@@ -622,6 +622,9 @@ + */ + load_default_modules(); + } ++#ifdef CONFIG_DEVTMPFS_MOUNT ++ devtmpfs_mount("dev"); ++#endif + return 0; + } + rootfs_initcall(populate_rootfs); +diff -Nur linux-3.13.6.orig/init/main.c linux-3.13.6/init/main.c +--- linux-3.13.6.orig/init/main.c 2014-03-07 07:07:02.000000000 +0100 ++++ linux-3.13.6/init/main.c 2014-03-15 12:13:16.459024452 +0100 +@@ -924,7 +924,7 @@ + */ + + if (!ramdisk_execute_command) +- ramdisk_execute_command = "/init"; ++ ramdisk_execute_command = "/sbin/init"; + + if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { + ramdisk_execute_command = NULL; diff --git a/target/linux/patches/3.4.82/startup.patch b/target/linux/patches/3.4.82/startup.patch index 4f47eddcb..c26430bcb 100644 --- a/target/linux/patches/3.4.82/startup.patch +++ b/target/linux/patches/3.4.82/startup.patch @@ -1,7 +1,20 @@ -diff -Nur linux-2.6.34.orig/init/main.c linux-2.6.34/init/main.c ---- linux-2.6.34.orig/init/main.c 2010-05-16 23:17:36.000000000 +0200 -+++ linux-2.6.34/init/main.c 2010-05-20 20:13:26.321613615 +0200 -@@ -889,6 +890,8 @@ +diff -Nur linux-3.4.82.orig/init/initramfs.c linux-3.4.82/init/initramfs.c +--- linux-3.4.82.orig/init/initramfs.c 2014-02-22 19:33:35.000000000 +0100 ++++ linux-3.4.82/init/initramfs.c 2014-03-15 18:46:22.674928245 +0100 +@@ -606,6 +606,9 @@ + free_initrd(); + #endif + } ++#ifdef CONFIG_DEVTMPFS_MOUNT ++ devtmpfs_mount("dev"); ++#endif + return 0; + } + rootfs_initcall(populate_rootfs); +diff -Nur linux-3.4.82.orig/init/main.c linux-3.4.82/init/main.c +--- linux-3.4.82.orig/init/main.c 2014-02-22 19:33:35.000000000 +0100 ++++ linux-3.4.82/init/main.c 2014-03-15 18:46:22.674928245 +0100 +@@ -873,6 +873,8 @@ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) printk(KERN_WARNING "Warning: unable to open an initial console.\n"); @@ -10,3 +23,12 @@ diff -Nur linux-2.6.34.orig/init/main.c linux-2.6.34/init/main.c (void) sys_dup(0); (void) sys_dup(0); /* +@@ -881,7 +883,7 @@ + */ + + if (!ramdisk_execute_command) +- ramdisk_execute_command = "/init"; ++ ramdisk_execute_command = "/sbin/init"; + + if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { + ramdisk_execute_command = NULL; -- cgit v1.2.3