Commit 6599deca authored by arpinux's avatar arpinux
Browse files

passage en RC1 : improve build script + doc-update en cours + mkmodules fix + git files fix

parent d2a69a4b
......@@ -11,7 +11,14 @@ WTFPL © 2020-2021 https://nakedeb.arpinux.org
* ajout de cryptsetup pour le chiffrement des volumes internes ou externes
* ajout iotop et nethogs pour la surveillance
* remplacement de compton par picom
* ajout de l'option 'full' dans le build
* ajout de nombreux firmwares dans la version non-free
* ajout de l'option 'full' dans le build pour se construire sa
nakedeb toute habillée
TODO
* ajouter + de raccourcis zathura (index)
* ajouter un chapitre "comment nettoyer sa non-free"
* ajouter une page de doc : se construire sa nakedeb"
* ajouter le tuto rpi ?
2021-05-02 - nakedeb-1.3-prx
----------------------------
......
......@@ -13,7 +13,7 @@ le ./nakedbuild pour y ajouter les logs de build
- [auto/clean](/auto/clean) : live-build clean script > nettoyer le dossier
de build après contruction
- [auto/config](/auto/config) : live-build config script > définir certaines
options de lb config
options de lb config pour toutes les versions
[config](/config)
-----------------
......@@ -21,9 +21,11 @@ options de lb config
juste avant la compression en squashfs
- [config/includes.binary](config/includes.chroot/) : fichiers de configuration
pour isolinux et grub, les lanceurs pour le liveCD
- [config/package-lists](config/package-lists/) : les listes des paquets nécessaires.
- nakedeb.list.chroot pour les paquets à coller dans le système
- nakedeb.list.binary pour coller dans le live (les paquets UEFI)
- [config/package-lists](config/package-lists/) : les listes des paquets nécessaires.
- nakedeb.list.chroot pour la version "main"
- nakedeb-nf.list.chroot pour la version "non-free"
- nakedeb-full.list.chroot pour la version "full"
- nakedeb.list.binary pour le live (les paquets UEFI)
[pkgs](/pkgs)
-------------
......
nakeDeb
=======
construire une ISO :
--------------------
* éditer le script 'nakedbuild' pour ajuster les variables et le $USER
* éditer le contenu de 'auto/' et 'config/' selon vos besoins
* ajuster les paquets contenus dans pkgs/foo selon vos besoins
* vérifier les mises à jour de bashmount et veracrypt
* lancer **en mode administrateur** :
* `./nakedbuild 32` > nakedeb i386 (~xxxM)
* `./nakedbuild 64` > nakedeb amd64 (~xxxM)
* `./nakedbuild 32 nf` > nakedeb i386 non-free (~xxxM)
* `./nakedbuild 64 nf` > nakedeb amd64 non-free (~xxxM)
* `./nakedbuild 32 full` > nakedeb i386 non-free full system (~xxxG)
* `./nakedbuild 64 full` > nakedeb amd64 non-free full system (~xxxG)
* `./nakedbuild clean` > nettoyage du dossier de construction et du cache
assurez-vous de lancer `nakedbuild clean` avant de construire une autre architecture
......@@ -10,11 +10,11 @@ nakeDeb
construire une ISO :
--------------------
* éditer le script 'nakedbuild' pour ajuster la version et le $USER
* éditer le script 'nakedbuild' pour ajuster les variables et le $USER
* éditer le contenu de 'auto/' et 'config/' selon vos besoins
* ajuster les paquets contenus dans pkgs/foo selon vos besoins
* vérifier les mises à jour de bashmount et veracrypt
* lancer en mode administrateur :
* lancer **en mode administrateur** :
* `./nakedbuild 32` > nakedeb i386 (~xxxM)
* `./nakedbuild 64` > nakedeb amd64 (~xxxM)
* `./nakedbuild 32 nf` > nakedeb i386 non-free (~xxxM)
......
......@@ -20,6 +20,8 @@ en main par une personne curieuse ;)
sous forme de paquets debian "classique" qu'il suffit de désinstaller pour
obtenir une Debian "pure".
**nakedeb** est distribuée en version amd64 et i386, main et non-free.
ce que n'est pas nakeDeb :
--------------------------
**nakeDeb** n'est pas une distribution communautaire.. c'est surtout un projet
......@@ -37,8 +39,6 @@ glissées dans l'ISO...
* nakedeb est une distribution française avec tout plein de franglais dedans car
soyons honnêtes, si vous désirez vous amuser avec une Debian minimale, vous
devrez passer par un peu d'english de temps en temps ;) .
* l'ISO **nakeDeb** ne dépasse pas le Giga afin de pouvoir être transférée sur
une clé USB basique d'1G facilement utilisable.
* ... liste non-exhaustive soumise à modifications ... ni dieu ni maître.
sources :
......
......@@ -12,8 +12,6 @@ lb config noauto \
--clean \
--debian-installer "live" \
--debian-installer-gui "false" \
--distribution "bullseye" \
--firmware-binary "true" \
--firmware-chroot "true" \
--memtest "memtest86+" \
--system "live" \
......
......@@ -5,48 +5,46 @@ https://nakedeb.arpinux.org
ce qu'est nakeDeb :
-------------------
**nakeDeb** est une *dérivée* française (mais qui sait parler anglais) basée
sur Debian prévue pour délivrer une distribution debian ultra-minimale vous
permettant d'installer rapidement une debian fonctionnelle ou de l'utiliser
**nakeDeb** est une *dérivée* française (mais qui sait parler anglais) basée
sur Debian prévue pour délivrer une distribution debian ultra-minimale vous
permettant d'installer rapidement une debian fonctionnelle ou de l'utiliser
en live léger de secours.
**nakeDeb** tourne sur Debian stable et utilise fluxbox comme gestionnaire de
**nakeDeb** tourne sur Debian stable et utilise fluxbox comme gestionnaire de
fenêtres par défaut. pas d'environnement de bureau complet, noDE!
**nakeDeb** n'est pas particulièrement destinée aux novices mais peut être prise
**nakeDeb** n'est pas particulièrement destinée aux novices mais peut être prise
en main par une personne curieuse ;)
**nakeDeb** est construite de façon modulaire : tous les ajouts sont réalisés
sous forme de paquets debian "classique" qu'il suffit de désinstaller pour
**nakeDeb** est construite de façon modulaire : tous les ajouts sont réalisés
sous forme de paquets debian "classique" qu'il suffit de désinstaller pour
obtenir une Debian "pure".
**nakedeb** est distribuée en version amd64 et i386, main et non-free.
ce que n'est pas nakeDeb :
--------------------------
**nakeDeb** n'est pas une distribution communautaire.. c'est surtout un projet
**nakeDeb** n'est pas une distribution communautaire.. c'est surtout un projet
minimal ludique. pour un usage "sérieux", préférez une Debian.
charte nakeDeb :
----------------
* **nakeDeb** n'utilise pas de dépôts non-free par défaut...
* **nakeDeb** n'utilise pas de dépôts non-free par défaut...
sauf dans la version 'nonfree'.
* **nakeDeb** est basée sur Debian et respecte ses règles et licence : distribution
* **nakeDeb** est basée sur Debian et respecte ses règles et licence : distribution
des sources sous licence libre et utilisation de dépôts officiels sécurisés.
* **nakeDeb** tente de se rapprocher le plus possible de la philosophie KISS : un
outil pour chaque tâche. ceci-dit, quelques applications graphiques se sont
* **nakeDeb** tente de se rapprocher le plus possible de la philosophie KISS : un
outil pour chaque tâche. ceci-dit, quelques applications graphiques se sont
glissées dans l'ISO...
* nakedeb est une distribution française avec tout plein de franglais dedans car
soyons honnêtes, si vous désirez vous amuser avec une Debian minimale, vous
* nakedeb est une distribution française avec tout plein de franglais dedans car
soyons honnêtes, si vous désirez vous amuser avec une Debian minimale, vous
devrez passer par un peu d'english de temps en temps ;) .
* l'ISO **nakeDeb** ne dépasse pas le Giga afin de pouvoir être transférée sur
une clé USB basique d'1G facilement utilisable.
* ... liste non-exhaustive soumise à modifications ... ni dieu ni maître.
sources :
---------
les sources de la version stable sont disponibles sur git :
https://framagit.org/3hg/nakedeb/-/releases
les sources de la version stable sont disponibles sur git : https://framagit.org/3hg/nakedeb/-/releases
licence :
---------
nakeDeb est livrée sous licence libre WTFPLv2 :
https://nakedeb.arpinux.org/LICENCE
nakeDeb est livrée sous licence libre WTFPL : https://nakedeb.arpinux.org/LICENCE
......@@ -28,7 +28,7 @@ find pkgs -iname "*.changes" -exec rm -f {} \;
# compress & move modules sources --------------------------------------
cd ${NKDIR}
echo -e "INFO: compressing nakedmodules sources\n" >> ${LOG}
echo -e "INFO: compressing nakedmodules sources\n"
tar cvzf nakedmodules-src.tar.gz pkgs/
mv nakedmodules-src.tar.gz ${NKDIR}/modules/
......
......@@ -6,22 +6,28 @@
PROJECT="nakedeb project"
HOMEPAGE="https://nakedeb.arpinux.org"
CONTACT="nakedeb@arpinux.org"
VERSION="nakedeb-1.4-testing"
VERSION="nakedeb-1.4-RC1"
DEBV="deb$(cat /etc/debian_version)"
DISTRO="bullseye"
NKDIR="$(realpath "$(dirname "$0")")"
LOG="${NKDIR}/${VERSION}.log"
# txt & vars -----------------------------------------------------------
RESET="## automatic edition by nakedbuild\n## DO NOT EDIT!"
VCHOOK="${NKDIR}/config/hooks/normal/n3-veracrypt.chroot"
NFLIST="${NKDIR}/config/package-lists/nakedeb-nf.list.chroot"
FULLLIST="${NKDIR}/config/package-lists/nakedeb-full.list.chroot"
NFPKGS="firmware-linux firmware-linux-nonfree firmware-misc-nonfree \
firmware-ralink intel-microcode iucode-tool firmware-realtek amd64-microcode \
intel-microcode firmware-realtek amd64-microcode firmware-amd-graphics \
atmel-firmware bluez-firmware firmware-atheros firmware-bnx2 firmware-bnx2x \
firmware-brcm80211 firmware-intel-sound firmware-intelwimax firmware-iwlwifi"
firmware-brcm80211 firmware-b43-installer firmware-b43legacy-installer \
firmware-cavium firmware-ipw2x00 firmware-intel-sound firmware-intelwimax \
firmware-iwlwifi firmware-libertas firmware-myricom firmware-netronome \
firmware-netxen"
FULLPKGS="firefox-esr thunderbird gthumb gimp inkscape mcomix filezilla audacity \
easytag libreoffice libreoffice-gtk3 libreoffice-l10n-fr unison-gtk \
handbrake easytag libreoffice libreoffice-gtk3 libreoffice-l10n-fr unison-gtk \
broadcom-sta-dkms"
# cd work directory ----------------------------------------------------
cd ${NKDIR}
......@@ -42,22 +48,22 @@ elif [ "$1" == "clean" ]; then
exit 0
else
# no args or wrong args > help
echo -e "\n ${red}wrong arg...$NC need help ?\n"; cat ${NKDIR}/HOWTO.md; exit 1
echo -e "\n ${red}wrong arg...$NC need help ?\n"; cat ${NKDIR}/HELP; exit 1
fi
# open log -------------------------------------------------------------
# ouverture du fichier de log avec les informations sur le système hôte
echo -e "----\n${PROJECT} - ${HOMEPAGE} - ${CONTACT}" > ${LOG}
echo -e "$(date)" >> ${LOG}
echo -e "building ${VERSION} ${ARCH}" >> ${LOG}
echo -e "live-build-$(lb -v) - Debian-$(cat /etc/debian_version)" >> ${LOG}
echo -e "$(uname -a)" >> ${LOG}
echo -e "building ${VERSION} ${ARCH} ${DISTRO}" >> ${LOG}
echo -e "system: $(uname -a)" >> ${LOG}
echo -e "tools: live-build-$(lb -v) - Debian-$(cat /etc/debian_version)" >> ${LOG}
if [ "$2" == "nf" ]; then
echo -e "building non-free release" >> ${LOG}
echo -e "> building non-free release" >> ${LOG}
elif [ "$2" == "full" ]; then
echo -e "building non-free full release" >> ${LOG}
echo -e "> building non-free full release" >> ${LOG}
else
echo -e "building main release" >> ${LOG}
echo -e "> building main release" >> ${LOG}
fi
# setup veracrypt ------------------------------------------------------
......@@ -83,38 +89,44 @@ install -m 755 ressources/nakedpreseed config/includes.chroot/usr/bin/nakedprese
# configure build ------------------------------------------------------
echo -e "----\nINFO: configuration de ${VERSION}-${ARCH}\n" >> ${LOG}
# kernel/arch
case ${ARCH} in
i386) lb config -a "${ARCH}" -k 686 | tee -a ${LOG};;
amd64) lb config -a "${ARCH}" | tee -a ${LOG};;
esac
# common config
lb config --iso-volume "${VERSION}" --iso-application "${VERSION}" \
--iso-publisher "${PROJECT}; ${HOMEPAGE}; ${CONTACT}" | tee -a ${LOG}
# if apt-cacher-ng
if dpkg-query -W apt-cacher-ng &>"/dev/null"; then
export http_proxy="http://127.0.0.1:3142/"
lb config --apt-http-proxy "${http_proxy}"
fi
# main/nonfree/full versions
if [ "$2" == "nf" ]; then
echo -e "----\nINFO: setting up non-free release" >> ${LOG}
lb config --archive-areas "main contrib non-free" \
--linux-package "linux-image" | tee -a ${LOG}
ARCHIVE_AREAS="main contrib non-free"
P_ARCHIVE_AREAS="main contrib non-free"
L_PACKAGE="linux-image"
F_BINARY="false"
echo -e "${NFPKGS}" > ${NFLIST}
echo -e "${RESET}" > ${FULLLIST}
elif [ "$2" == "full" ]; then
echo -e "----\nINFO: setting up non-free full system release" >> ${LOG}
lb config --archive-areas "main contrib non-free" \
--linux-package "linux-image linux-headers" | tee -a ${LOG}
ARCHIVE_AREAS="main contrib non-free"
P_ARCHIVE_AREAS="main contrib non-free"
L_PACKAGE="linux-image linux-headers"
F_BINARY="true"
echo -e "${NFPKGS}" > ${NFLIST}
echo -e "${FULLPKGS}" > ${FULLLIST}
else
lb config --archive-areas "main contrib" \
--linux-package "linux-image" | tee -a ${LOG}
echo -e "----\nINFO: setting up main system release" >> ${LOG}
ARCHIVE_AREAS="main contrib"
P_ARCHIVE_AREAS="main contrib"
L_PACKAGE="linux-image"
F_BINARY="false"
echo -e "${RESET}" > ${NFLIST}
echo -e "${RESET}" > ${FULLLIST}
fi
# common config
lb config -a "${ARCH}" --iso-volume "${VERSION}" --iso-application "${VERSION}" \
--iso-publisher "${PROJECT}; ${HOMEPAGE}; ${CONTACT}" \
--parent-distribution "${DISTRO}" --distribution "${DISTRO}" \
--parent-archive-areas "${P_ARCHIVE_AREAS}" \
--archive-areas "${ARCHIVE_AREAS}" \
--linux-package "${L_PACKAGE}" | tee -a ${LOG}
# if apt-cacher-ng
if dpkg-query -W apt-cacher-ng &>"/dev/null"; then
export http_proxy="http://127.0.0.1:3142/"
lb config --apt-http-proxy "${http_proxy}"
fi
# setup debs -----------------------------------------------------------
# construction des paquets-modules intégrés à nakeDeb
......@@ -131,7 +143,7 @@ find pkgs -iname "*.deb" -exec lintian -q {} >> ${LOG} \;
find pkgs -iname "*.deb" -exec mv {} config/packages \;
# build ISO ------------------------------------------------------------
echo -e "----\nINFO: construction de ${VERSION}-${ARCH}\n" >> ${LOG}
echo -e "----\nINFO: construction de ${VERSION}-${ARCH}-${DISTRO}\n" >> ${LOG}
lb build
# rename ---------------------------------------------------------------
......@@ -139,11 +151,11 @@ if test -f live-image-${ARCH}.hybrid.iso; then
echo -e "----\nINFO: renommer"
ISODIR="${NKDIR}/nakedeb-${ARCH}"
if [ "$2" == "nf" ]; then
NAME="${VERSION}-${DEBV}-${ARCH}-nonfree"
NAME="${VERSION}-${DISTRO}-${ARCH}-nonfree"
elif [ "$2" == "full" ]; then
NAME="${VERSION}-${DEBV}-${ARCH}-nonfree-full"
NAME="${VERSION}-${DISTRO}-${ARCH}-nonfree-full"
else
NAME="${VERSION}-${DEBV}-${ARCH}"
NAME="${VERSION}-${DISTRO}-${ARCH}"
fi
mkdir -p ${ISODIR}
mv live-image-${ARCH}.hybrid.iso ${ISODIR}/${NAME}.iso
......@@ -165,7 +177,8 @@ if test -f live-image-${ARCH}.hybrid.iso; then
echo -e "${RESET}" > ${NFLIST}
echo -e "${RESET}" > ${FULLLIST}
lb clean
echo -e "----\nbuild made in $(($SECONDS/60)) minutes\n"; exit 0
echo -e "----\nbuild made in $(($SECONDS/60)) minutes\n"
echo -e "MEMO: you should gpgsign md5 files\n"; exit 0
else
chmod 666 ${LOG}
echo -e "----\nERROR: ISO not builded ... check your ${LOG} file !\n"; exit 1
......
......@@ -94,8 +94,7 @@
read/write feature on windows™ or mac os™ system...</li>
<li><b>documentation</b> <a href="nakedwiki-en.html">integrated</a> and
<a href="https://nakedeb.arpinux.org/nakedwiki-en.html">on-line</a></li>
<li><b>easy to transfer</b>, nakeDeb does not exceed 1GB so that it can be copied
on a basic 1G USB key.</li>
<li><b>several releases available</b> adapted to your needs: main &amp; non-free.</li>
</ul>
<a name="help"></a>
......@@ -278,7 +277,8 @@ rm -rf ./nakedeb.arpinux.org/</code></pre>
<li><b>why nakeDeb?</b> because <i>it's a <b>neked</b> Debian but <b>safe for work</b></i></li>
<li><b>why non-free?</b> because it's very cute to offer a <i>rescue mode</i> but you still have to be
able to boot and use the machine ... nakeDeb therefore also offers a <b>non-free</b>
version with generic basic firmware.</li>
version with generic basic firmware included in the
<a href="https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/">non-free Debian release</a>.</li>
<li><b>why no live installation?</b> because the slightest problem during the live session could generate
an installation fault and given the time taken by the installation of a nakeDeb ...
you might as well do one thing, but do it well.</li>
......
......@@ -98,8 +98,7 @@
la lecture/écriture sur système windows™ ou mac os™...</li>
<li><b>documentation</b> <a href="nakedwiki.html">intégrée</a> et
<a href="https://nakedeb.arpinux.org/nakedwiki.html">en ligne</a></li>
<li><b>simple à transférer</b>, nakeDeb ne dépasse pas le Giga afin de pouvoir
être transféré sur une clé USB basique d'1G.</li>
<li><b>plusieurs versions distribuées</b> pour s'adapter à l'utilisation : main &amp; non-free.</li>
</ul>
<a name="help"></a>
......@@ -218,7 +217,7 @@ rm -rf ./nakedeb.arpinux.org/</code></pre>
<li>architecture : <b>i386/amd64</b></li>
<li>branches : <b>main - contrib</b> / <b>main - contrib - non-free</b></li>
<li>matériel requis : tout ordinateur <b>32/64 bits</b> avec <b>512 de RAM</b>
capable de booter sur une clé USB ou sur un CDROM.</li>
capable de booter sur une clé USB ou sur un DVD.</li>
<li>format : iso hybrid</li>
<li>applications :</li>
<ul>
......@@ -283,7 +282,8 @@ rm -rf ./nakedeb.arpinux.org/</code></pre>
<li><b>pourquoi nakeDeb ?</b> car <i>c'est une debian <b>toute nue</b> mais <b>safe for work</b></i></li>
<li><b>pourquoi du non-free ?</b> car c'est bien mignon de proposer un mode <i>rescue</i> mais encore
faut-il pouvoir booter et utiliser la machine... nakeDeb propose donc aussi une version <i>nonfree</i>
disposant des firmwares génériques de base.</li>
disposant des firmwares génériques de base intégrés dans la version
<a href="https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/">non-free Debian</a>.</li>
<li><b>pourquoi pas d'installation depuis la session live ?</b> car le moindre soucis lors de la session live
pourrait engendrer un défaut d'installation et vu le temps pris par l'installation d'une nakeDeb...
autant ne faire qu'une chose, mais la faire bien.</li>
......
......@@ -88,6 +88,7 @@
<li><a href="#keepass">» keepassxc:</a> your password manager</li>
</ul>
</ul>
<li><a href="#clean">» nettoyer sa non-free :</a> ne conserver que les paquets non-free absolument nécessaires</li>
<li><a href="#improve">» go further:</a> improve nakeDeb</li>
<li><a href="#uefi">» uefi/secure boot</a></li>
</ul>
......@@ -743,6 +744,10 @@ Enter LUKS passphrase for /dev/sdd1:</code></pre>
you will be able to create or import an existing database and list your passwords by categories.<br />
more informations on the <a href="https://keepassxc.org/docs/KeePassXC_GettingStarted.html">official documentation</a>.</p>
<a name="#clean"></a>
<h2>nettoyer sa non-free : ne conserver que les paquets non-free absolument nécessaires</h2>
<p>FIXME</p>
<a name="improve"></a>
<h2>dress nakeDeb</h2>
<p><b>nakeDeb</b> is built on a Debian base and therefore can potentially become
......
......@@ -91,6 +91,7 @@
<li><a href="#keepass">» keepassxc :</a> gérez vos mots de passe</li>
</ul>
</ul>
<li><a href="#clean">» nettoyer sa non-free :</a> ne conserver que les paquets non-free absolument nécessaires</li>
<li><a href="#improve">» aller plus loin :</a> habiller nakeDeb</li>
<li><a href="#uefi">» uefi / secure boot</a></li>
</ul>
......@@ -770,6 +771,10 @@ Saisissez la phrase secrète pour /dev/sdd1 :</code></pre>
vous pourrez créer ou importer une base de donnée existante, lister vos mots de passe par catégories.<br />
plus d'infos sur le <a href="https://debian-facile.org/doc:systeme:keepassxc">wiki debian-facile</a>.</p>
<a name="#clean"></a>
<h2>nettoyer sa non-free : ne conserver que les paquets non-free absolument nécessaires</h2>
<p>FIXME</p>
<a name="improve"></a>
<h2>faire évoluer nakeDeb</h2>
<p><b>nakeDeb</b> est construite sur une base <b>Debian</b> et peut donc potentiellement devenir
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment