# make: *** No rule to make target 'menuconfig'. Stop.

## LegionOfHell

I do : 

cd /usr/src/linux

make menuconfig

and then I get this error.

I used :

emerge --depclean

&

eclean distfiles --deep

I think the latter deleted something important...how do i fix this ? should I re-emerge the source ?

/usr/src/linux points to my current kernel's source .. but i get this error..

----------

## mrbassie

try 

```
make prepare
```

----------

## LegionOfHell

make: *** No rule to make target 'prepare'. Stop.

----------

## mrbassie

Are your sources installed e.g gentoo-sources?

----------

## fedeliallalinea

You can post what /usr/src/linux contains with ls?

----------

## LegionOfHell

http://dpaste.com/0XP2X60

----------

## fedeliallalinea

 *LegionOfHell wrote:*   

> http://dpaste.com/0XP2X60

 

Something is wrong in your folder Makefile is missing.

Save your .config and try to re-emerge your kernel

----------

## freke

I *think* that you've unmerged the sources.

Maybe forgot to update the symlink to newer sources?

----------

## LegionOfHell

how do I re-emerge my kernel ? like this : 

emerge --ask sys-kernel/gentoo-sources

?

symlink is there...it is pointing to the current kernel source..Last edited by LegionOfHell on Wed Aug 07, 2019 4:51 pm; edited 1 time in total

----------

## fedeliallalinea

 *LegionOfHell wrote:*   

> how do I re-emerge my kernel ?

 

Please post uname -a and qlist -Iv sys-kernel/* output command

----------

## LegionOfHell

http://dpaste.com/1NW9607

http://dpaste.com/1W9SA63

----------

## fedeliallalinea

Probably with a depclean your kernel source (4.19.27) has been removed.

This kernel version is out of tree then best solution is upgrade to 4.19.57

----------

## LegionOfHell

lets say that you install Gentoo for the first time with the kernel that has a default .config(you don't touch anything in .config)...lets call that kernel1

and lets say you install Gentoo with a kernel0 and use the default .config(again, not touching .config), and the upgrade it to kernel1 using "make olddefconfig" to generate a new .config.

then are the .config files identical in both scenarios ? 

in other words, the defaults that "make olddefconfig" generates are the same defaults that the new kernel comes with ... Am I right ?

----------

## fedeliallalinea

make olddefconfig read current .config in folder and active new symbols to their default value.

Then if you copy old .config and the you run olddefconfig the two .config can be different.

See 

```
$ cd /usr/src/linux && make help

Cleaning targets:

  clean           - Remove most generated files but keep the config and

                    enough build support to build external modules

  mrproper        - Remove all generated files + config + various backup files

  distclean       - mrproper + remove editor backup and patch files

Configuration targets:

  config          - Update current config utilising a line-oriented program

  nconfig         - Update current config utilising a ncurses menu based program

  menuconfig      - Update current config utilising a menu based program

  xconfig         - Update current config utilising a Qt based front-end

  gconfig         - Update current config utilising a GTK+ based front-end

  oldconfig       - Update current config utilising a provided .config as base

  localmodconfig  - Update current config disabling modules not loaded

  localyesconfig  - Update current config converting local mods to core

  defconfig       - New config with default from ARCH supplied defconfig

  savedefconfig   - Save current config as ./defconfig (minimal config)

  allnoconfig     - New config where all options are answered with no

  allyesconfig    - New config where all options are accepted with yes

  allmodconfig    - New config selecting modules when possible

  alldefconfig    - New config with all symbols set to default

  randconfig      - New config with random answer to all options

  listnewconfig   - List new options

  olddefconfig    - Same as oldconfig but sets new symbols to their

                    default value without prompting

  kvmconfig       - Enable additional options for kvm guest kernel support

  xenconfig       - Enable additional options for xen dom0 and guest kernel support

  tinyconfig      - Configure the tiniest possible kernel

  testconfig      - Run Kconfig unit tests (requires python3 and pytest)

Other generic targets:

  all             - Build all targets marked with [*]

* vmlinux         - Build the bare kernel

* modules         - Build all modules

  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)

  dir/            - Build all files in dir and below

  dir/file.[ois]  - Build specified target only

  dir/file.ll     - Build the LLVM assembly file

                    (requires compiler support for LLVM assembly generation)

  dir/file.lst    - Build specified mixed source/assembly target only

                    (requires a recent binutils and recent build (System.map))

  dir/file.ko     - Build module including final link

  modules_prepare - Set up for building external modules

  tags/TAGS       - Generate tags file for editors

  cscope          - Generate cscope index

  gtags           - Generate GNU GLOBAL index

  kernelrelease   - Output the release version string (use with make -s)

  kernelversion   - Output the version stored in Makefile (use with make -s)

  image_name      - Output the image name (use with make -s)

  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH

                    (default: ./usr)

Static analysers:

  checkstack      - Generate a list of stack hogs

  namespacecheck  - Name space analysis on compiled kernel

  versioncheck    - Sanity check on version.h usage

  includecheck    - Check for duplicate included header files

  export_report   - List the usages of all exported symbols

  headers_check   - Sanity check on exported headers

  headerdep       - Detect inclusion cycles in headers

  coccicheck      - Check with Coccinelle

Kernel selftest:

  kselftest       - Build and run kernel selftest (run as root)

                    Build, install, and boot kernel before

                    running kselftest on it

  kselftest-clean - Remove all generated kselftest files

  kselftest-merge - Merge all the config dependencies of kselftest to existing

                    .config.

Userspace tools targets:

  use "make tools/help"

  or  "cd tools; make help"

Kernel packaging:

  rpm-pkg             - Build both source and binary RPM kernel packages

  binrpm-pkg          - Build only the binary kernel RPM package

  deb-pkg             - Build both source and binary deb kernel packages

  bindeb-pkg          - Build only the binary kernel deb package

  snap-pkg            - Build only the binary kernel snap package (will connect to external hosts)

  tar-pkg             - Build the kernel as an uncompressed tarball

  targz-pkg           - Build the kernel as a gzip compressed tarball

  tarbz2-pkg          - Build the kernel as a bzip2 compressed tarball

  tarxz-pkg           - Build the kernel as a xz compressed tarball

  perf-tar-src-pkg    - Build perf-4.19.57-gentoo.tar source tarball

  perf-targz-src-pkg  - Build perf-4.19.57-gentoo.tar.gz source tarball

  perf-tarbz2-src-pkg - Build perf-4.19.57-gentoo.tar.bz2 source tarball

  perf-tarxz-src-pkg  - Build perf-4.19.57-gentoo.tar.xz source tarball

Documentation targets:

 Linux kernel internal documentation in different formats from ReST:

  htmldocs        - HTML

  latexdocs       - LaTeX

  pdfdocs         - PDF

  epubdocs        - EPUB

  xmldocs         - XML

  linkcheckdocs   - check for broken external links (will connect to external hosts)

  refcheckdocs    - check for references to non-existing files under Documentation

  cleandocs       - clean all generated files

  make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2

  valid values for SPHINXDIRS are: driver-api core-api media networking crypto sh userspace-api x86 sound gpu input process admin-guide vm maintainer doc-guide filesystems dev-tools kernel-hacking

  make SPHINX_CONF={conf-file} [target] use *additional* sphinx-build

  configuration. This is e.g. useful to build with nit-picking config.

  Default location for the generated documents is Documentation/output

Architecture specific targets (x86):

* bzImage      - Compressed kernel image (arch/x86/boot/bzImage)

  install      - Install kernel using

                  (your) ~/bin/installkernel or

                  (distribution) /sbin/installkernel or

                  install to $(INSTALL_PATH) and run lilo

  fdimage      - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)

  fdimage144   - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)

  fdimage288   - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)

  isoimage     - Create a boot CD-ROM image (arch/x86/boot/image.iso)

                  bzdisk/fdimage*/isoimage also accept:

                  FDARGS="..."  arguments for the booted kernel

                  FDINITRD=file initrd for the booted kernel

  i386_defconfig           - Build for i386

  x86_64_defconfig         - Build for x86_64

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build

  make V=2   [targets] 2 => give reason for rebuild of target

  make O=dir [targets] Locate all output files in "dir", including .config

  make C=1   [targets] Check re-compiled c source with $CHECK (sparse by default)

  make C=2   [targets] Force check of all c source with $CHECK

  make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections

  make W=n   [targets] Enable extra gcc checks, n=1,2,3 where

                1: warnings which may be relevant and do not occur too often

                2: warnings which occur quite often but may still be relevant

                3: more obscure warnings, can most likely be ignored

                Multiple levels can be combined with W=12 or W=123

Execute "make" or "make all" to build all targets marked with [*] 

For further info see the ./README file
```

----------

## LegionOfHell

When I first installed Gentoo, I was getting a flash right at the beginning of kernel messages during boot.

I fixed it by adding i915.fastboot=1 to GRUB_CMDLINE_LINUX_DEFAULT=

Now after this kernel upgrade, I am getting a similar flash during boot..Anyway to fix it ?

----------

## fedeliallalinea

 *LegionOfHell wrote:*   

> When I first installed Gentoo, I was getting a flash right at the beginning of kernel messages during boot.
> 
> I fixed it by adding i915.fastboot=1 to GRUB_CMDLINE_LINUX_DEFAULT=
> 
> Now after this kernel upgrade, I am getting a similar flash during boot..Anyway to fix it ?

 

I don't know this problem, but if you have set GRUB_CMDLINE_LINUX_DEFAULT this isn't changed with new kernel

----------

