Changeset 3674

Show
Ignore:
Timestamp:
01/05/08 22:16:39 (1 year ago)
Author:
n0-1
Message:

as I wonder each time how exactly the kernel config is built, I finally documented it

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/freewrt/target/Makefile

    r3335 r3674  
    1616linux-install: $(BIN_DIR) 
    1717 
     18### Kernel .config Creation 
     19# The following target combines all kernel-related variables and 
     20# config files into a single one to be used as the final kernel 
     21# configuration when building. This is how it's done: 
     22# 1) fetch all FWRT_KPACKAGE_KMOD_* vars into  
     23#    .fwrtkernelconfig.modules and set them to "m" 
     24# 2) fetch all enabled FWRT_KERNEL_* vars into 
     25#    .fwrtkernelconfig.kernel (no conversion, as they are booleans) 
     26# 3) repeat 2) for the disabled ones and save them into 
     27#    .fwrtkernelconfig.nokernel (for some obscure reason) 
     28# 4) get the board-specific static kernel config and place it into 
     29#    .fwrtkernelconfig.board 
     30# 5) prepare for merging: 
     31#    * if a variable is disabled in .fwrtkernelconfig.board and 
     32#      enabled in either of .fwrtkernelconfig.{modules,kernel}, 
     33#      remove it from .fwrtkernelconfig.board 
     34#    * append ${FS_CMDLINE} to the kernel commandline inside 
     35#      .fwrtkernelconfig.board 
     36# 6) merge (cat) it all together into .fwrtkernelconfig.tmp 
     37# 7) check if .fwrtkernelconfig.tmp differs from the current one 
     38#    (.fwrtkernelconfig) at all, overwriting the current one 
     39#    only if it does (so the timestamp stays intact) 
     40# 8) remove the temporary .fwrtkernelconfig.tmp 
     41### 
    1842config-prepare: $(TOPDIR)/.config 
    1943        sed -n '/^FWRT_KPACKAGE_KMOD/s//CONFIG/p' ${TOPDIR}/.config | \