On Tue, 11 Nov 2003 12:33:18 +0300 "Andrey Borzenkov" <[EMAIL PROTECTED]> wrote:
> I tried allmodconfig which resulted in ~1.2MB bzImage - same as > 2.4.22-1mdk in your case. You have to add ELF support to it (as it is > also module in this case) which apparently gives you bare minimum. It > is likely that some features can be turned off, because allmodconfig > actually tries to enable everything, either as "m" or as "y" (except > CPU types support). > > Note that I am not even sure if it boots. I had at least one report > about allmodconfig+devfs that could not mount IDE root but it may be > due to other problems. Although modular IDE is "officially" not > working (cf. post-halloween). So, what should we do ? Built all IDE chipsets in ? > Brave hearts can experiment with configuration starting from > allmodconfig to see how much can be removed and how mauch has to be > added for it to boot at all :) I've made a diff between our current config file and the allmodules config files to show what built-ins could be avoided, see the result at the end of my mail (it's not that long ...) As you said, ELF should be kept built-in. Should we modularize IDE, SCSI and AGP support ? Strangely enough, initrd support can be compiled if ramdisk is disabled or compiled as module, is it a bug ? NFS can be compiled as module too. Should we keep basic networking built-in ? (CONFIG_PACKET for example) Thanks for the advice Andrey. Regards. --- $ diff -u kernel-config-2.6-{,allmod-}i586smp | egrep -A 3"^-.*=y" -CONFIG_M586=y +# CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set -- -CONFIG_X86_F00F_BUG=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y -- -CONFIG_X86_ALIGNMENT_16=y +CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y -# CONFIG_HPET_TIMER is not set -- -CONFIG_EDD=y -# CONFIG_NOHIGHMEM is not set -CONFIG_HIGHMEM4G=y +CONFIG_EDD=m +CONFIG_NOHIGHMEM=y +# CONFIG_HIGHMEM4G is not set -- -CONFIG_HIGHMEM=y -CONFIG_HIGHPTE=y -# CONFIG_MATH_EMULATION is not set +CONFIG_MATH_EMULATION=y CONFIG_MTRR=y -- -CONFIG_ACPI_AC=y -CONFIG_ACPI_BATTERY=y -CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_AC=m +CONFIG_ACPI_BATTERY=m +CONFIG_ACPI_BUTTON=m -- -CONFIG_APM=y +CONFIG_APM=m CONFIG_APM_IGNORE_USER_SUSPEND=y CONFIG_APM_DO_ENABLE=y -- -CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_24_API=y +CONFIG_CPU_FREQ_TABLE=m -- -CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_ELF=m CONFIG_BINFMT_AOUT=m CONFIG_BINFMT_MISC=m -- -CONFIG_PARPORT=y -CONFIG_PARPORT_PC=y -CONFIG_PARPORT_PC_CML1=y +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_CML1=m -- -CONFIG_BLK_DEV_FD=y +CONFIG_BLK_DEV_FD=m +CONFIG_BLK_DEV_PS2=m CONFIG_BLK_DEV_XD=m -- -CONFIG_PARIDE_PARPORT=y +CONFIG_PARIDE_PARPORT=m # -- -CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y -- -CONFIG_IDE=y -CONFIG_BLK_DEV_IDE=y +CONFIG_IDE=m +CONFIG_BLK_DEV_IDE=m -- -CONFIG_BLK_DEV_IDEDISK=y +CONFIG_BLK_DEV_HD_IDE=y +CONFIG_BLK_DEV_IDEDISK=m CONFIG_IDEDISK_MULTI_MODE=y -- -CONFIG_SCSI=y +CONFIG_SCSI=m CONFIG_SCSI_PROC_FS=y -- -CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_MD=m CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m -- -CONFIG_PACKET=y +CONFIG_PACKET=m CONFIG_PACKET_MMAP=y CONFIG_NETLINK_DEV=m -CONFIG_UNIX=y +CONFIG_UNIX=m CONFIG_NET_KEY=m CONFIG_INET=y -- -CONFIG_ATM=y -CONFIG_ATM_CLIP=y -# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM=m +CONFIG_ATM_CLIP=m -- -CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV=m CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -- -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y +CONFIG_SERIO=m +CONFIG_SERIO_I8042=m CONFIG_SERIO_SERPORT=m -- -CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_ATKBD=m CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_XTKBD=m -- -CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_SERIAL=m -- -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250=m CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_ACPI=y -- -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_CORE=m CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 -- -CONFIG_AGP=y -CONFIG_AGP_ALI=y +CONFIG_AGP=m +CONFIG_AGP_ALI=m CONFIG_AGP_ATI=m -CONFIG_AGP_AMD=y +CONFIG_AGP_AMD=m CONFIG_AGP_AMD64=m -CONFIG_AGP_INTEL=y +CONFIG_AGP_INTEL=m CONFIG_AGP_NVIDIA=m -CONFIG_AGP_SIS=y -CONFIG_AGP_SWORKS=y -CONFIG_AGP_VIA=y +CONFIG_AGP_SIS=m +CONFIG_AGP_SWORKS=m +CONFIG_AGP_VIA=m -- -CONFIG_EXT2_FS=y +CONFIG_EXT2_FS=m CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y -- -CONFIG_FS_MBCACHE=y +CONFIG_JBD_DEBUG=y +CONFIG_FS_MBCACHE=m CONFIG_REISERFS_FS=m -- -CONFIG_QFMT_V2=y +CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS_FS=m -- -CONFIG_NFS_FS=y +CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V4=y -- -CONFIG_NFSD=y +CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_NFSD_V4=y -- -CONFIG_LOCKD=y +CONFIG_LOCKD=m CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=y -CONFIG_SUNRPC=y +CONFIG_EXPORTFS=m +CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m -- Olivier Blin