(CommandList
  children: [
    (C {(echo)} {(DQ ('*** BUILD KERNEL BEGIN ***'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SRC_DIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [12 14]
              )
            }
          spids: [11]
        )
      ]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:JOB_FACTOR)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(grep)} {(-i)} {(Lit_Other '^') (JOB_FACTOR)} {(.config)})
                            (C {(cut)} {(-f2)} {(-d) (SQ <'='>)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [22 42]
                )
              )
            }
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CFLAGS)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(grep)} {(-i)} {(Lit_Other '^') (CFLAGS)} {(.config)})
                            (C {(cut)} {(-f2)} {(-d) (SQ <'='>)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [51 71]
                )
              )
            }
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NUM_CORES)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(grep)} {(Lit_Other '^') (processor)} {(/proc/cpuinfo)})
                          (C {(wc)} {(-l)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [79 92]
              )
            }
          spids: [78]
        )
      ]
      spids: [78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NUM_JOBS)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Star
                    left: (ArithVarRef name:NUM_CORES)
                    right: (ArithVarRef name:JOB_FACTOR)
                  )
                spids: [99 106]
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (C {(cd)} {(work/kernel)})
    (C {(rm)} {(-rf)} {(kernel_installed)})
    (C {(mkdir)} {(kernel_installed)})
    (C {(cd)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(ls)} {(-d)} {(linux-) (Lit_Other '*')})])
          left_token: <Left_CommandSub '$('>
          spids: [133 140]
        )
      }
    )
    (C {(echo)} {(DQ ('Preparing kernel work area...'))})
    (C {(make)} {(mrproper)} {(-j)} {($ VSub_Name '$NUM_JOBS')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USE_PREDEFINED_KERNEL_CONFIG)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(grep)} {(-i)} {(Lit_Other '^') (USE_PREDEFINED_KERNEL_CONFIG)} 
                              {($ VSub_Name '$SRC_DIR') (/.config)}
                            )
                            (C {(cut)} {(-f2)} {(-d) (SQ <'='>)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [166 187]
                )
              )
            }
          spids: [164]
        )
      ]
      spids: [164]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_PREDEFINED_KERNEL_CONFIG'))} 
                  {(Lit_Other '=')} {(DQ (true))} {(-a)} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$SRC_DIR') (/minimal_config/kernel.config)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('Config file ') ($ VSub_Name '$SRC_DIR') 
                  ('/minimal_config/kernel.config does not exist.')
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USE_PREDEFINED_KERNEL_CONFIG)
                  op: Equal
                  rhs: {(DQ (false))}
                  spids: [230]
                )
              ]
              spids: [230]
            )
          ]
          spids: [16777215 218]
        )
      ]
      spids: [16777215 235]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_PREDEFINED_KERNEL_CONFIG'))} 
                  {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ ('Using config file ') ($ VSub_Name '$SRC_DIR') (/minimal_config/kernel.config))}
            )
            (C {(cp)} {(-f)} {($ VSub_Name '$SRC_DIR') (/minimal_config/kernel.config)} {(.config)})
          ]
          spids: [16777215 256]
        )
      ]
      else_action: [
        (C {(make)} {(defconfig)} {(-j)} {($ VSub_Name '$NUM_JOBS')})
        (C {(echo)} {(DQ ('Generated default kernel configuration.'))})
        (C {(sed)} {(-i)} 
          {
            (DQ ('s/.*CONFIG_DEFAULT_HOSTNAME.*/CONFIG_DEFAULT_HOSTNAME=') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (minimal) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (/)
            )
          } {(.config)}
        )
        (C {(sed)} {(-i)} {(DQ ('s/.*CONFIG_OVERLAY_FS.*/CONFIG_OVERLAY_FS=y/'))} {(.config)})
        (SimpleCommand
          words: [{(echo)} {(DQ ('CONFIG_OVERLAY_FS_REDIRECT_DIR=y'))}]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(.config)})]
        )
        (SimpleCommand
          words: [{(echo)} {(DQ ('CONFIG_OVERLAY_FS_INDEX=y'))}]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(.config)})]
        )
        (C {(sed)} {(-i)} 
          {
            (DQ ('s/.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('(CONFIG_KERNEL_.*') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (')=y/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('#') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('1 is not set/')
            )
          } {(.config)}
        )
        (C {(sed)} {(-i)} {(DQ ('s/.*CONFIG_KERNEL_XZ.*/CONFIG_KERNEL_XZ=y/'))} {(.config)})
        (C {(sed)} {(-i)} {(DQ ('s/.*CONFIG_FB_VESA.*/CONFIG_FB_VESA=y/'))} {(.config)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:USE_BOOT_LOGO)
              op: Equal
              rhs: 
                {
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(grep)} {(-i)} {(Lit_Other '^') (USE_BOOT_LOGO)} 
                                  {($ VSub_Name '$SRC_DIR') (/.config)}
                                )
                                (C {(cut)} {(-f2)} {(-d) (SQ <'='>)})
                              ]
                              negated: F
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [442 463]
                    )
                  )
                }
              spids: [440]
            )
          ]
          spids: [440]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USE_BOOT_LOGO'))} {(Lit_Other '=')} 
                      {(DQ (true))} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(sed)} {(-i)} {(DQ ('s/.*CONFIG_LOGO_LINUX_CLUT224.*/CONFIG_LOGO_LINUX_CLUT224=y/'))} 
                  {(.config)}
                )
                (C {(echo)} {(DQ ('Boot logo is enabled.'))})
              ]
              spids: [16777215 486]
            )
          ]
          else_action: [
            (C {(sed)} {(-i)} 
              {
                (DQ ('s/.*CONFIG_LOGO_LINUX_CLUT224.*/') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('# CONFIG_LOGO_LINUX_CLUT224 is not set/')
                )
              } {(.config)}
            )
            (C {(echo)} {(DQ ('Boot logo is disabled.'))})
          ]
          spids: [507 530]
        )
        (C {(sed)} {(-i)} 
          {
            (DQ ('s/^CONFIG_DEBUG_KERNEL.*/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
              ('# CONFIG_DEBUG_KERNEL is not set/')
            )
          } {(.config)}
        )
        (C {(sed)} {(-i)} {(DQ ('s/.*CONFIG_EFI_STUB.*/CONFIG_EFI_STUB=y/'))} {(.config)})
        (SimpleCommand
          words: [{(echo)} {(DQ ('CONFIG_APPLE_PROPERTIES=n'))}]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(.config)})]
        )
        (C {(grep)} {(-q)} {(DQ ('CONFIG_X86_32=y'))} {(.config)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(1)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ('CONFIG_EFI_MIXED=y'))}]
                  redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(.config)})]
                )
              ]
              spids: [16777215 624]
            )
          ]
          spids: [16777215 642]
        )
      ]
      spids: [282 644]
    )
    (C {(echo)} {(DQ ('Building kernel...'))})
    (C {(make)} {(Lit_VarLike 'CFLAGS=') (DQ ($ VSub_Name '$CFLAGS'))} {(bzImage)} {(-j)} 
      {($ VSub_Name '$NUM_JOBS')}
    )
    (C {(cp)} {(arch/x86/boot/bzImage)} 
      {($ VSub_Name '$SRC_DIR') (/work/kernel/kernel_installed/kernel)}
    )
    (C {(echo)} {(DQ ('Generating kernel headers...'))})
    (C {(make)} 
      {(Lit_VarLike 'INSTALL_HDR_PATH=') ($ VSub_Name '$SRC_DIR') (/work/kernel/kernel_installed)} {(headers_install)} {(-j)} {($ VSub_Name '$NUM_JOBS')}
    )
    (C {(cd)} {($ VSub_Name '$SRC_DIR')})
    (C {(echo)} {(DQ ('*** BUILD KERNEL END ***'))})
  ]
)