linuxppc / issues

Issues repository for linuxppc
5 stars 0 forks source link

Add a tiny config (fragment) #62

Open mpe opened 8 years ago

mpe commented 8 years ago

On another issue @mikey said:

@stewart-ibm and I have a ppc64tiny_defconfig which boots really fast for simulators (not public) that I'd like to push upstream. It might be good to add this as part of this rework.

And posted his tiny config which I'll post below.

IMHO this is probably best done as a config fragment, which can then be merged into whichever base config the user is using.

mpe commented 8 years ago

@mikey's tiny config:

CONFIG_PPC64=y
CONFIG_POWER8_CPU=y
CONFIG_ALTIVEC=y
CONFIG_VSX=y
CONFIG_NR_IRQS=128
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_NO_HZ=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_MULTIUSER is not set
# CONFIG_SYSFS_SYSCALL is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_TIMERFD is not set
# CONFIG_EVENTFD is not set
# CONFIG_AIO is not set
# CONFIG_ADVISE_SYSCALLS is not set
# CONFIG_PCI_QUIRKS is not set
# CONFIG_MEMBARRIER is not set
CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
CONFIG_JUMP_LABEL=y
# CONFIG_BLOCK is not set
# CONFIG_PPC_PSERIES is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_HZ_100=y
# CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE is not set
# CONFIG_COMPACTION is not set
# CONFIG_MIGRATION is not set
CONFIG_PPC_64K_PAGES=y
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="dhash_entries=16 ihash_entries=16"
CONFIG_CMDLINE_FORCE=y
# CONFIG_SECCOMP is not set
CONFIG_NET=y
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=y
# CONFIG_WIRELESS is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_EEPROM_AT24=y
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO_SERPORT is not set
# CONFIG_HW_RANDOM is not set
CONFIG_GEN_RTC=y
CONFIG_I2C=y
# CONFIG_I2C_COMPAT is not set
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_ALGOBIT=y
CONFIG_POWER_SUPPLY=y
# CONFIG_VGA_ARB is not set
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_OF=y
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
# CONFIG_VGA_CONSOLE is not set
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_HID is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_IOMMU_SUPPORT is not set
# CONFIG_FILE_LOCKING is not set
# CONFIG_DNOTIFY is not set
CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SCHEDSTATS=y
# CONFIG_FTRACE is not set
CONFIG_XMON=y
CONFIG_XMON_DEFAULT=y
mpe commented 8 years ago

Here's a start at an arch/powerpc/configs/tiny.config, based on yours.

You use it like:

$ make whatever_defconfig
$ make tiny.config
# CONFIG_842_DECOMPRESS is not set
# CONFIG_ADVISE_SYSCALLS is not set
# CONFIG_AIO is not set
# CONFIG_AUDIT is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_BLOCK is not set
# CONFIG_BRIDGE is not set
# CONFIG_BUILD_BIN2C is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CGROUPS is not set
# CONFIG_CMA is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="dhash_entries=16 ihash_entries=16"
CONFIG_CMDLINE_FORCE=y
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_COMPACTION is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
# CONFIG_CRYPTO is not set
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_EEH is not set
# CONFIG_CXL_KERNEL_API is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DNOTIFY is not set
# CONFIG_DRM is not set
# CONFIG_DST_CACHE is not set
CONFIG_EMBEDDED=y
# CONFIG_EVENTFD is not set
# CONFIG_FB is not set
# CONFIG_FILE_LOCKING is not set
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_FREEZER is not set
# CONFIG_FTRACE is not set
# CONFIG_FTR_FIXUP_SELFTEST is not set
# CONFIG_FUSE_FS is not set
CONFIG_GEN_RTC=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
# CONFIG_HID is not set
# CONFIG_HIGH_RES_TIMERS is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_I2C is not set
# CONFIG_IKCONFIG is not set
# CONFIG_INET is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_IOMMU_SUPPORT is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQ_POLL is not set
# CONFIG_KEXEC is not set
# CONFIG_KEYS is not set
# CONFIG_KSM is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_LIBCRC32C is not set
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_LOGO is not set
# CONFIG_LZO_COMPRESS is not set
# CONFIG_LZO_DECOMPRESS is not set
# CONFIG_MEMBARRIER is not set
# CONFIG_MIGRATION is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_MODULES is not set
# CONFIG_MSI_BITMAP_SELFTEST is not set
# CONFIG_MTD is not set
# CONFIG_MULTIUSER is not set
# CONFIG_NETDEVICES is not set
# CONFIG_NETFILTER is not set
# CONFIG_NET_KEY is not set
# CONFIG_NET_PTP_CLASSIFY is not set
CONFIG_NET=y
# CONFIG_NEW_LEDS is not set
# CONFIG_NLS is not set
CONFIG_NR_CPUS=16
CONFIG_NR_IRQS=32
# CONFIG_NUMA is not set
# CONFIG_OPAL_PRD is not set
# CONFIG_OVERLAY_FS is not set
# CONFIG_PACKET is not set
# CONFIG_PARPORT is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_QUIRKS is not set
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_PERF_EVENTS is not set
# CONFIG_PM is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE is not set
# CONFIG_PPC_COPRO_BASE is not set
# CONFIG_PPC_ICP_HV is not set
# CONFIG_PPC_ICS_RTAS is not set
# CONFIG_PPC_SUBPAGE_PROT is not set
# CONFIG_PPS is not set
# CONFIG_PROFILING is not set
# CONFIG_PTP_1588_CLOCK is not set
# CONFIG_RCU_STALL_COMMON is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_GZIP is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_LZO is not set
# CONFIG_RELAY is not set
# CONFIG_RTC_CLASS is not set
# CONFIG_SCHED_HRTICK is not set
# CONFIG_SECCOMP is not set
# CONFIG_SERIAL_8250 is not set
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIO_SERPORT is not set
CONFIG_SLAB=y
# CONFIG_SMP is not set
# CONFIG_SPARSEMEM_MANUAL is not set
# CONFIG_STACKTRACE is not set
CONFIG_SYSCTL_SYSCALL=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_SYSVIPC_COMPAT is not set
# CONFIG_SYSVIPC is not set
# CONFIG_TIMERFD is not set
CONFIG_TINY_RCU=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS=y
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_UIO is not set
CONFIG_UNIX_DIAG=y
CONFIG_UNIX=y
# CONFIG_USB_SUPPORT is not set
# CONFIG_VGA_ARB is not set
# CONFIG_VGA_CONSOLE is not set
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTUALIZATION is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_WIRELESS is not set
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_SPARC is not set
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_ZLIB_DEFLATE is not set
# CONFIG_ZLIB_INFLATE is not set
mpe commented 8 years ago

Comparing the result of the tiny.config to an allnoconfig, there's still a bunch of things that could be disabled I think.

Which perhaps is pointing us to an easier solution. We start with allnoconfig and then we have a simulator.config (or whatever name), which turns on just the things you need to boot in sim.