UP | HOME

Gentoo

Table of Contents

Site officiel

Distribution orientée sécurité: Pentoo.

1. Ma configuration

1.1. Overlays

gentoo-zh
localsend
guru
tokei, raylib, slstatus
hamari
cutter, radare2, rz-ghidra
joecool
netbird
pentoo
logiciels de cyber (GHidra…)
lanodanOverlay
grammalecte

1.2. Configuration Kernel

debianutils et installkernel pour pouvoir installer le noyau avec make install.

Liste de paramètres acivés pour une raison particulière connues.

  • HIGH_RES_TIMERS : pour activer KVM pour Qemu
  • UDF_FS et ISO9660_FS : pour distrobuilder
  • POSIX_MQUEUE : pour Docker
  • pour pouvoir dechiffrer le disque :
    • CONFIG_MD
      • BLK_DEV_DM
      • DM_CRYPT
    • BLK_DEV_INITRD

1.3. Paquets installés

media-gfx/graphviz (cairo pdf) latexmk imagemagick (svg png) media-fonts/dejavu dev-texlive/texlive-xetex dev-python/sphinx
documentation noyau

2. Luminosité X11

besoin de dev-libs/light (mais plus maintenu, à changer un jour)

2.1. Configuration DWM

Fichier /etc/portage/savedconfig/x11-wm/dwm-6.5:

/* some lines */

static const char *lightdec[] = { "light", "-U", "5", NULL };
static const char *lightinc[] = { "light", "-A", "5", NULL };

static Key keys[] = {
  /* some keys */
  { 0, XF86XK_MonBrightnessUp, spawn, {.v = lightinc} },
  { 0, XF86XK_MonBrightnessDown, spawn, {.v = lightdec} },
}

/* some lines */

3. Installation cross-compilateur pour Arduino et ESP32

  • etre dans le groupe dialout
  • suivre la page pour Arduino ou crossdev
  • pas besoin de changer le groupe pour portage:portage si tout a été créé en root et que les autres dossiers le sont aussi
  • si le dépôt ne s'appelle pas crossdev, il faut le préciser en rajoutant -oO /path/to/repo dans la commande

esptool pour pouvoir flasher le firmware.

Installer emerge -1a dev-embedded/esp-idf.

4. Distcc

Distcc dans Docker

/etc/init.d : liste des services openrc

equery a repository ${overlay_name} pour lister les paquets installés depuis un dépot

5. virt manager

Permet de manager ses VMs Qemu via une interface graphique. J'ai modifié le fichier /etc/dnsmasq.conf pour pouvoir avoir un pont réseau. J'ai activé les options bind-interfaces et interface. Un test sans ces changements est à faire dans un premier temps.

6. LXD

echo app-emulation/qemu virtfs | doas tee /etc/portage/package.use/package.use
echo app-arch/wimlib fuse | doas tee /etc/portage/package.use/package.use
# vérifier les fannions du noyau avant !
doas emerge distrobuilder lxd hivex wimlib gtk-vnc qemu

Avant la 3.1 de distrobuilder, il faut mettre ce patch afin de pouvoir utiliser mkisofs au lieu de genisoimage.

doas mkdir -p /etc/portage/patches/app-containers/distrobuilder
doas cat <<EOF
From 91ab435f54d1665e5f5c0497568ae7985c6b8b38 Mon Sep 17 00:00:00 2001
From: rick <rick@gnous.eu>
Date: Wed, 25 Oct 2023 15:49:14 +0200
Subject: [PATCH] change genisoimage for mkisofs

---
 distrobuilder/main_repack-windows.go | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/distrobuilder/main_repack-windows.go b/distrobuilder/main_repack-windows.go
index 76735f2..cbeae34 100644
--- a/distrobuilder/main_repack-windows.go
+++ b/distrobuilder/main_repack-windows.go
@@ -327,17 +327,17 @@ func (c *cmdRepackWindows) run(cmd *cobra.Command, args []string, overlayDir str
          logger.Info("Generating new ISO")
          var stdout strings.Builder

-       err = shared.RunCommand(c.global.ctx, nil, &stdout, "genisoimage", "--version")
+       err = shared.RunCommand(c.global.ctx, nil, &stdout, "mkisofs", "--version")
          if err != nil {
-               return fmt.Errorf("Failed to determine version of genisoimage: %w", err)
+               return fmt.Errorf("Failed to determine version of mkisofs: %w", err)
          }

          version := strings.Split(stdout.String(), "\n")[0]

          if strings.HasPrefix(version, "mkisofs") {
-               err = shared.RunCommand(c.global.ctx, nil, nil, "genisoimage", "-iso-level", "3", "-l", "-no-emul-boot", "-b", "efi/microsoft/boot/efisys.bin", "-o", args[1], overlayDir)
+               err = shared.RunCommand(c.global.ctx, nil, nil, "mkisofs", "-iso-level", "3", "-l", "-no-emul-boot", "-b", "efi/microsoft/boot/efisys.bin", "-o", args[1], overlayDir)
          } else {
-               err = shared.RunCommand(c.global.ctx, nil, nil, "genisoimage", "--allow-limited-size", "-l", "-no-emul-boot", "-b", "efi/microsoft/boot/efisys.bin", "-o", args[1], overlayDir)
+               err = shared.RunCommand(c.global.ctx, nil, nil, "mkisofs", "-l", "-no-emul-boot", "-b", "efi/microsoft/boot/efisys.bin", "-o", args[1], overlayDir)
          }

          if err != nil {
@@ -413,7 +413,7 @@ func (c *cmdRepackWindows) modifyWim(path string, index int) error {
 }

 func (c *cmdRepackWindows) checkDependencies() error {
-       dependencies := []string{"genisoimage", "hivexregedit", "rsync", "wimlib-imagex"}
+       dependencies := []string{"mkisofs", "hivexregedit", "rsync", "wimlib-imagex"}

          for _, dep := range dependencies {
                  _, err := exec.LookPath(dep)
-- 
2.42.0

EOF

Author: rick

Email: rick@gnous.eu

Created: 2025-05-11 dim. 23:24

Validate