kisscommunity

kisscommunity.bvnf.space site sources
git clone git://bvnf.space/home/kiss/kisscommunity.git
Log | Files | Refs | Submodules | README | LICENSE

index.md (5840B)


      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
# Frequently Asked Questions

Many people who install KISS come across similar problems and misunderstandings
in the process. Almost all of these have solutions documented somewhere in the
KISS documentation, but it can be spread out, hard to find, and easy to miss.
Therefore, this page collects solutions to some of the most common problems.

**This is not a substitute for a thorough reading of the
[install guide](https://kisslinux.github.io/install) and the appropriate
[wiki](https://kisslinux.github.io/wiki/) page.**

This page does not answer questions about the philosophy of KISS, or why KISS
is designed in any certain way. For those questions, refer to <https://kisslinux.github.io/answers>.

## [%[000]] General tips for identifying build errors

If you use parallel make (`make -jN`), the actual error probably isn't at the
bottom of the log. You'll need to look back through it, and find the first
occurence of "Waiting for unfinished jobs....".

Try to find the particular command which failed (make gives you a file and line
number), and see if you can reproduce the error by running that command by itself.

Often you might be missing a hidden dependency. Look for errors like "not found"
or "no such file or directory".

Make sure your CFLAGS are like `-O2` not `-02` (letter O not number 0).

Search online for the error message. Look through [issues in the community
repo](https://codeberg.org/kiss-community/community/issues), in case someone's
encountered it before.

If you need more help, the best place is IRC. Upload a *full* log to a pastebin.

Once you've found the solution, make a note of it so that others can learn. You
could contribute it to this page.

## [%[010]] My kernel doesn't build!

### [%[011]] Busybox diff given unrecognized options
These are not causing the build to fail; they are only warnings.

### [%[012]] Errors about `__always_inline`, versions 5.12-5.18
Kernels with minor version 5.12-5.18 require the following patch to add an include:

	$ sed -i '/<stdlib.h>/a #include <linux/stddef.h>' tools/objtool/arch/x86/decode.c

### [%[013]] `env: can't execute 'bash': No such file or directory`, versions 5.19 and 6.0
Kernels version 5.19 and 6.0 require bash to be built. There is a
patch by [$/ioraff](https://codeberg.org/ioraff) available
[here](https://codeberg.org/kiss-community/repo/issues/79) to remove this dependency.
Kernels 6.1 and later have had the patch merged into them already.

## [%[020]] Kernel config/boot problems

The kernel not booting can be a variety of issues. This is almost always
related to a configuration issue in the kernel or the bootloader.
The [Gentoo
wiki](https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/en#Enabling_support_for_typical_system_components)
is useful for kernel configuration help.

KISS doesn't use an initramfs by default so the configuration of the kernel
may have different requirements from other distributions.

### [%[021]] Essential drivers
Make sure you've enabled drivers for at least your boot and root filesystems,
disk controller, and drives. They should be set to `=y` in your .config or `[*]`
when using make menuconfig. Essentially, every driver the kernel requires to
detect and mount the drive containing the root filesystem, must be built as a
part of the kernel binary (rather than as modules).

### [%[022]] Boot stopped at "Loading Linux-X.Y.Z..."
You've almost certainly forgotten a driver, probably for the framebuffer
(at least `CONFIG_FB` and `CONFIG_FB_EFI` or `CONFIG_FB_VESA` depending on your
boot system).

### [%[023]] Including firmware
Choose some location, such as `/usr/lib/firmware` and install the firmware you need into it.
This alone isn't enough; you need to tell the kernel the directory where to find firmware, and
the filenames relative to this directory for everything you want to use.
See [kernel/firmware](/kernel/firmware/) for details.

Firmware problems are most easily diagnosed by looking through `dmesg`.

### [%[024]] initramfs
KISS technically supports booting via an initramfs, it just doesn't require
or provide one. As a user you have the means to set this up yourself for
your system. A simple one is [tinyramfs](https://github.com/illiliti/tinyramfs).

Full disk encryption is also possible without the use of an initramfs in
modern kernels (see `dm-mod.create`).

## [%[100]] Software

### [%[110]] Is *SOFTWARE* packaged?

To quickly check through all the KISS repositories which exist, you can use the
`kiss-find` tool:

    $ kiss find music
    gnome-music          42.1 1        https://github.com/mdartmann/mkiss.git        gnome/gnome-music         main    "Mae Dartmann"
    io.elementary.music  5.0.5 1       https://github.com/eudaldgr/elementaKISS.git  apps/io.elementary.music  master  "Eudald Gubert i Roldan"
    texlive-music        2022.62533 1  https://github.com/ehawkvu/kiss-tex.git       texlive/texlive-music     master  "Ethan"
    zmusic               1.1.8 1       https://github.com/sdsddsd1/kiss-games.git    equipment/zmusic          master  "Claudia"

kiss-find is packaged in the community repo, or available [here](https://github.com/aabacchus/kiss-find).

### [%[120]] Can you package *SOFTWARE* for me?

Do it yourself!

### [%[130]] Why isnt my mouse/keyboard working on tinyx?

You lack the correct drivers.
Using PS/2 mouse and keyboard drivers however, seems to be what works for most users.

### [%[140]] Can I use LLVM instead of gcc?

Yes you can. You can use [konimex/kiss-llvm](https://github.com/konimex/kiss-llvm) as a reference to bootstrap llvm on a gcc system.
To build kernel with `llvm`, you would need to pass `make LLVM=1 LLVM_IAS=1`.

## [%[200]] Misc

### [%[210]] Can I create a KISS linux live USB?

Yes, you can. Have a look at [kiss-community/kiss-live](https://github.com/kiss-community/kiss-live).