aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-04-27 12:15:14 +0200
committerKarel Kočí <cynerd@email.cz>2015-04-27 12:15:14 +0200
commita6bff3a30fee2a2c77d0683eda7945764e7624a8 (patch)
tree489cb727d360d0fc479f1b9e7d2c8762e08d55ff
parenteecef0ad90f9198536206f920cc49f1177e68f6f (diff)
downloadlinux-conf-perf-a6bff3a30fee2a2c77d0683eda7945764e7624a8.tar.gz
linux-conf-perf-a6bff3a30fee2a2c77d0683eda7945764e7624a8.tar.bz2
linux-conf-perf-a6bff3a30fee2a2c77d0683eda7945764e7624a8.zip
Add initram build
Not working properly yet.
-rw-r--r--Makefile15
-rw-r--r--conf.py11
-rw-r--r--scripts/buildroot_recipe/buildroot.def.config (renamed from scripts/buildroot.def.config)48
-rw-r--r--scripts/buildroot_recipe/inittab_directive3
-rwxr-xr-xscripts/buildroot_recipe/linux-conf-perf5
-rwxr-xr-xscripts/confmk.py3
6 files changed, 47 insertions, 38 deletions
diff --git a/Makefile b/Makefile
index c372579..98af2c0 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,9 @@
-include .conf.mk
+BENCHMARK_FILES := $(patsubst benchmark/%,scripts/buildroot/system/skeleton/usr/share/benchmark/%,$(shell find benchmark -type f))
+BENCHMARK_FOLDERS := $(shell dirname $(BENCHMARK_FILES))
+
all: parse_kconfig write_config
help:
@@ -29,7 +32,7 @@ help:
@echo "clean_buildroot - Executes 'make clean' in buildroot folder."
@echo "distclean_buildroot - Executes 'make distclean' in buildroot folder."
-mbuildroot: scripts/buildroot/.config
+mbuildroot: scripts/buildroot/.config scripts/buildroot/system/skeleton/usr/bin/linux-conf-perf $(BENCHMARK_FILES)
$(MAKE) -C scripts/buildroot menuconfig
mlinux:
@@ -51,6 +54,7 @@ clean:
@$(MAKE) -C scripts/parse_kconfig/ clean
@$(MAKE) -C scripts/write_config/ clean
$(RM) -r build
+ $(RM) -r scripts/buildroot/system/skeleton/usr/share/benchmark
distclean: clean distclean_linux distclean_buildroot
$(RM) .conf.mk
@@ -84,8 +88,17 @@ write_config:
$(BUILDROOT_INITRAM): scripts/buildroot/.config
@$(MAKE) -C scripts/buildroot
+$(INITRAM): $(shell dirname $(INITRAM))
$(INITRAM): $(BUILDROOT_INITRAM) $${@D}
mv $^ $@
scripts/buildroot/.config:
cp $(BUILDROOT_DEF_CONFIG) $@
+
+scripts/buildroot/system/skeleton/usr/bin/linux-conf-perf:
+ cp $(BUILDROOT_INITSCRIPT) $@
+ cat $(BUILDROOT_INITTAB_DIRECTIVE) >> scripts/buildroot/system/skeleton/etc/inittab
+
+$(BENCHMARK_FILES): $(BENCHMARK_FOLDERS)
+scripts/buildroot/system/skeleton/usr/share/benchmark/%: benchmark/%
+ cp $< $@
diff --git a/conf.py b/conf.py
index 00d951b..8a15b3f 100644
--- a/conf.py
+++ b/conf.py
@@ -9,6 +9,7 @@ def pf(rfile):
SRCARCH = 'x86' # Kernel architecture
ARCH = SRCARCH
linux_make_args = ['-j8']
+novaboot_args = ['--qemu=qemu-system-x86_64']
# Path settings
dot_confmk = pf('.conf.mk')
@@ -29,16 +30,22 @@ dot_config_back_file = build_folder + '/dot_config_back'
solution_file = build_folder + '/solution'
iteration_file = build_folder + '/iteration'
-buildroot_def_config = pf('scripts/buildroot.def.config')
+buildroot_def_config = pf('scripts/buildroot_recipe/buildroot.def.config')
+buildroot_inittab_directive = pf('scripts/buildroot_recipe/inittab_directive')
+buildroot_initscript = pf('scripts/buildroot_recipe/linux-conf-perf')
buildroot_initram = pf('scripts/buildroot/output/images/rootfs.cpio.gz')
-initram = build_folder + '/initram.gz'
+initram = build_folder + '/initram.gz2'
+
+nbscript = pf('scripts/nbscript')
# Programs paths
parse_kconfig = pf('scripts/parse_kconfig/parse')
write_config = pf('scripts/write_config/write')
+novaboot = pf('scripts/novaboot/novaboot')
# Programs output show/hide
parse_kconfig_output = False
minisat_output = False
kernel_config_output = True
kernel_make_output = True
+boot_output = True
diff --git a/scripts/buildroot.def.config b/scripts/buildroot_recipe/buildroot.def.config
index b11b584..6cc8c18 100644
--- a/scripts/buildroot.def.config
+++ b/scripts/buildroot_recipe/buildroot.def.config
@@ -29,16 +29,16 @@ BR2_i386=y
# BR2_sparc is not set
# BR2_x86_64 is not set
# BR2_xtensa is not set
-BR2_ARCH="i686"
+BR2_ARCH="i586"
BR2_ENDIAN="LITTLE"
-BR2_GCC_TARGET_ARCH="i686"
+BR2_GCC_TARGET_ARCH="i586"
BR2_ARCH_HAS_ATOMICS=y
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_BINFMT_ELF=y
# BR2_x86_i386 is not set
# BR2_x86_i486 is not set
-# BR2_x86_i586 is not set
-BR2_x86_i686=y
+BR2_x86_i586=y
+# BR2_x86_i686 is not set
# BR2_x86_pentiumpro is not set
# BR2_x86_pentium_mmx is not set
# BR2_x86_pentium_m is not set
@@ -180,7 +180,7 @@ BR2_PTHREADS_NATIVE=y
BR2_UCLIBC_INSTALL_UTILS=y
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
BR2_UCLIBC_TARGET_ARCH="i386"
-BR2_UCLIBC_X86_TYPE="686"
+BR2_UCLIBC_X86_TYPE="586"
#
# Binutils Options
@@ -265,32 +265,11 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# eudev needs a toolchain w/ wchar, dynamic library
#
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
-BR2_ROOTFS_SKELETON_DEFAULT=y
-# BR2_ROOTFS_SKELETON_CUSTOM is not set
-BR2_TARGET_GENERIC_ROOT_PASSWD=""
-BR2_SYSTEM_BIN_SH_BUSYBOX=y
-
-#
-# bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
-#
+# BR2_ROOTFS_SKELETON_DEFAULT is not set
+BR2_ROOTFS_SKELETON_CUSTOM=y
+BR2_ROOTFS_SKELETON_CUSTOM_PATH="system/skeleton"
+# BR2_SYSTEM_BIN_SH_BUSYBOX is not set
# BR2_SYSTEM_BIN_SH_NONE is not set
-BR2_SYSTEM_BIN_SH="/bin/busybox"
-BR2_TARGET_GENERIC_GETTY=y
-
-#
-# getty options
-#
-BR2_TARGET_GENERIC_GETTY_PORT="console"
-BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
-# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
-# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
-# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
-# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
-# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
-BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
-BR2_TARGET_GENERIC_GETTY_TERM="vt100"
-BR2_TARGET_GENERIC_GETTY_OPTIONS=""
-BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
# BR2_TARGET_TZ_INFO is not set
BR2_ROOTFS_USERS_TABLES=""
@@ -2311,8 +2290,8 @@ BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y
# BR2_TARGET_ROOTFS_CLOOP is not set
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_CPIO_NONE is not set
-# BR2_TARGET_ROOTFS_CPIO_GZIP is not set
-BR2_TARGET_ROOTFS_CPIO_BZIP2=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
+# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set
# BR2_TARGET_ROOTFS_CPIO_LZMA is not set
# BR2_TARGET_ROOTFS_CPIO_LZO is not set
# BR2_TARGET_ROOTFS_CPIO_XZ is not set
@@ -2330,14 +2309,13 @@ BR2_TARGET_ROOTFS_CPIO_BZIP2=y
# BR2_TARGET_ROOTFS_JFFS2 is not set
# BR2_TARGET_ROOTFS_ROMFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
-BR2_TARGET_ROOTFS_TAR=y
-BR2_TARGET_ROOTFS_TAR_NONE=y
+# BR2_TARGET_ROOTFS_TAR is not set
+# BR2_TARGET_ROOTFS_TAR_NONE is not set
# BR2_TARGET_ROOTFS_TAR_GZIP is not set
# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set
# BR2_TARGET_ROOTFS_TAR_LZMA is not set
# BR2_TARGET_ROOTFS_TAR_LZO is not set
# BR2_TARGET_ROOTFS_TAR_XZ is not set
-BR2_TARGET_ROOTFS_TAR_OPTIONS=""
# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_YAFFS2 is not set
diff --git a/scripts/buildroot_recipe/inittab_directive b/scripts/buildroot_recipe/inittab_directive
new file mode 100644
index 0000000..3290343
--- /dev/null
+++ b/scripts/buildroot_recipe/inittab_directive
@@ -0,0 +1,3 @@
+
+# linux-conf-perf init script
+console::sysinit:/usr/bin/linux-conf-perf -L console 115200 vt100
diff --git a/scripts/buildroot_recipe/linux-conf-perf b/scripts/buildroot_recipe/linux-conf-perf
new file mode 100755
index 0000000..031ba83
--- /dev/null
+++ b/scripts/buildroot_recipe/linux-conf-perf
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+/usr/share/benchmark/start | sed -e 's/^/lcp-output: /'
+
+poweroff
diff --git a/scripts/confmk.py b/scripts/confmk.py
index 6c91234..bb44def 100755
--- a/scripts/confmk.py
+++ b/scripts/confmk.py
@@ -14,8 +14,11 @@ def gen_confmk():
f.write("SRCARCH := " + conf.SRCARCH + "\n")
f.write("\n")
f.write("BUILDROOT_INITRAM := " + conf.buildroot_initram + "\n")
+ f.write("BUILDROOT_INITTAB_DIRECTIVE := " + conf.buildroot_inittab_directive + "\n")
+ f.write("BUILDROOT_INITSCRIPT := " + conf.buildroot_initscript + "\n")
f.write("INITRAM := " + conf.initram + "\n")
f.write("BUILDROOT_DEF_CONFIG := " + conf.buildroot_def_config + "\n")
+ f.write("\n")
#################################################################################