Compare commits

..

10 Commits

12 changed files with 81 additions and 39 deletions

View File

@ -21,4 +21,10 @@ Pour information voici l'identifiant créer pendant l'installation :
* Utilisateur : joe
* Mot de passe : password
(evidemment, pour une utilisation en production ou une exposition de la machine sur internet, je recommande tres fortement de créer un autre utilisateur ou *au moins de changer le mot de passe !*)
(evidemment, pour une utilisation en production ou une exposition de la machine sur internet, je recommande tres fortement de créer un autre utilisateur ou *au moins de changer le mot de passe !*)
Changes Log
-----------
**V0.1** : premiere version du script, il fait son job sans poser de question (en ce basant sur les infos contenu dans le script env.sh)
dans le prochaine version j'essairai de lui faire faire plus de controle et de rendre les installation personalisable.

View File

@ -1,6 +1,7 @@
#!/bin/bash
WGETCMD="wget --no-cookies -P $CHROOT/"
set -eu
# Téléchargements des sources
$WGETCMD $REPO/$STAGE3
$WGETCMD $REPO/$SNAPSHOT
$WGETCMD $REPO/kernel.tar.bz2
$WGETCMD $REPO/modules.tar.bz2
$WGETCMD $REPO/$KERNEL
$WGETCMD $REPO/$MODULES

13
env.sh
View File

@ -1,12 +1,19 @@
#!/bin/bsh
#!/bin/bash
set -eu
export USER=joe
export PASSWORD=password
export MYHOSTNAME=mygentoo
export MYDOMAIN=devel.lan
export SWAP=/dev/sda2
export SYS=/dev/sda1
export CHROOT=/mnt/gentoo
export STAGE3=stage3-amd64-20170907.tar.bz2
export SNAPSHOT=portage-20171006.tar.bz2
export KERNEL=kernel.tar.bz2
export MODULES=modules.tar.bz2
export REPO=https://repo.jmanson.fr
export NJOBS=$(grep '^processor' /proc/cpuinfo | sort -u | wc -l)
export MAKEOPTS="-j$((NJOBS+1)) -l${NJOBS}"
export EMERGE_DEFAULT_OPTS="--jobs=${NJOBS} --load-average=${NJOBS}"
export PORTAGE_BINHOST="https://repo.jmanson.fr/packages"
export PORTAGE_BINHOST="https://repo.jmanson.fr/packages"
export WGETCMD="wget --no-cookies -P $CHROOT/"

View File

@ -1,5 +1,5 @@
#!/bin/bash
set -eu
# Préparer le système
tar xjpf $CHROOT/$STAGE3 -C $CHROOT --xattrs --numeric-owner
chmod 1777 $CHROOT/tmp

View File

@ -1,4 +1,5 @@
#!/bin/bash
#configurer grub
chroot $CHROOT /bin/bash -c "grub-install /dev/sda"
chroot $CHROOT /bin/bash -c "grub-mkconfig -o /boot/grub/grub.cfg"

View File

@ -1,4 +1,6 @@
#!/bin/bash
set -eu
#installer le noyaux
tar xjpf $CHROOT/kernel.tar.bz2 -C $CHROOT/
tar xjpf $CHROOT/modules.tar.bz2 -C /lib/modules/
tar xjpf $CHROOT/$KERNEL -C $CHROOT/
mkdir $CHROOT/lib/modules/
tar xjpf $CHROOT/$MODULES -C $CHROOT/lib/modules/

View File

@ -1,5 +1,7 @@
#!/bin/bash
set -eu
#trouver la quantité de mémoire
MEM=`free -m | grep "Mem:" | awk -F' ' '{print $2}'| sed 's/m//'`
#trouver la taille du disque sda

View File

@ -1,6 +1,7 @@
#!/bin/bash
#configurer portage
mirrorselect -i -c FR -o >> $CHROOT/etc/portage/make.conf
set -eu
echo MAKEOPTS='"'$MAKEOPTS'"' >> $CHROOT/etc/portage/make.conf
echo EMERGE_DEFAULT_OPTS='"'$EMERGE_DEFAULT_OPTS'"' >> $CHROOT/etc/portage/make.conf
echo PORTAGE_BINHOST='"'$PORTAGE_BINHOST'"' >> $CHROOT/etc/portage/make.conf

View File

@ -1,4 +1,7 @@
#!/bin/bash
set -eu
# ectraire portage et installer
tar xjpf $CHROOT/$SNAPSHOT -C $CHROOT/usr
chroot $CHROOT /bin/bash -c "emerge --config sys-libs/timezone-data"

View File

@ -1,22 +1,29 @@
#!/bin/bash
RAWDIR=https://git.jmanson.fr/jeremy/installer_gentoo/raw/master
wget -P /tmp/ $RAWDIR/env.sh 2>> err.log
wget -P /tmp/ $RAWDIR/downloader.sh 2>> err.log
wget -P /tmp/ $RAWDIR/partitions.sh 2>> err.log
wget -P /tmp/ $RAWDIR/grubconfig.sh 2>> err.log
wget -P /tmp/ $RAWDIR/extract_and_mount.sh 2>> err.log
wget -P /tmp/ $RAWDIR/sysconfig.sh 2>> err.log
wget -P /tmp/ $RAWDIR/portageconfig.sh 2>> err.log
wget -P /tmp/ $RAWDIR/portageinstall.sh 2>> err.log
wget -P /tmp/ $RAWDIR/kernelinstall.sh 2>> err.log
wget -P /tmp/ $RAWDIR/sudoconfig.sh 2>> err.log
source /tmp/env.sh 2>> err.log
sh /tmp/partitions.sh 2>> err.log
sh /tmp/downloader.sh 2>> err.log
sh /tmp/extract_and_mount.sh 2>> err.log
sh /tmp/sysconfig.sh 2>> err.log
sh /tmp/portageconfig.sh 2>> err.log
sh /tmp/portageinstall.sh 2>> err.log
sh /tmp/kernelinstall.sh 2>> err.log
sh /tmp/sudoconfig.sh 2>> err.log
sh /tmp/grubconfig.sh 2>> err.log
set -eu
# définition de l'url contenant les scripts
RAWDIR=https://git.jmanson.fr/jeremy/installer_gentoo/raw/v0.1
# Téléchargements des scripts
wget -P /tmp/ $RAWDIR/env.sh
wget -P /tmp/ $RAWDIR/downloader.sh
wget -P /tmp/ $RAWDIR/partitions.sh
wget -P /tmp/ $RAWDIR/grubconfig.sh
wget -P /tmp/ $RAWDIR/extract_and_mount.sh
wget -P /tmp/ $RAWDIR/sysconfig.sh
wget -P /tmp/ $RAWDIR/portageconfig.sh
wget -P /tmp/ $RAWDIR/portageinstall.sh
wget -P /tmp/ $RAWDIR/kernelinstall.sh
wget -P /tmp/ $RAWDIR/sudoconfig.sh
# ouvrir les varriables
source /tmp/env.sh
# lancer les scripts
sh /tmp/partitions.sh
sh /tmp/downloader.sh
sh /tmp/extract_and_mount.sh
sh /tmp/sysconfig.sh
sh /tmp/portageconfig.sh
sh /tmp/portageinstall.sh
sh /tmp/kernelinstall.sh
sh /tmp/sudoconfig.sh
sh /tmp/grubconfig.sh

View File

@ -1,3 +1,4 @@
#!/bin/bash
#configurer sudo
set -eu
#configurer sudo pour que l'utilisateur créé accede au droit d'administration sans mot de passe
echo "%wheel ALL=(ALL) NOPASSWD: ALL" > $CHROOT/etc/sudoers.d/wheel

View File

@ -1,21 +1,32 @@
#!/bin/bash
set -eu
# configuration du système
# Franciser la gentoo
echo "Europe/Paris" > $CHROOT/etc/timezone
cp /etc/resolv.conf $CHROOT/etc/resolv.conf
echo "fr_FR.UTF-8 UTF-8" >> $CHROOT/etc/locale.gen
chroot $CHROOT /bin/bash -c "locale-gen"
echo 'LANG="fr_FR.UTF-8"' > $CHROOT/etc/env.d/02locale
echo 'LC_COLLATE="C"' >> $CHROOT/etc/env.d/02locale
chroot $CHROOT /bin/bash -c "useradd -p \`openssl passwd -1 password\` -G wheel joe"
sed -i 's/keymap="us"/keymap="fr"/g' $CHROOT/etc/conf.d/keymaps
# Configuration réseau et activation de(s) interface(s) réseau au démarrage ainsi que le serveur SSH
cp /etc/resolv.conf $CHROOT/etc/resolv.conf
echo "127.0.0.1 localhost" > $CHROOT/etc/hosts
echo "::1 localhost" >> $CHROOT/etc/hosts
echo "127.0.1.1 $MYHOSTNAME.$MYDOMAIN $MYHOSTNAME" >> $CHROOT/etc/hosts
echo hostname='"'$MYHOSTNAME'"' > $CHROOT/etc/conf.d/hostname
for interfaces in `ls /sys/class/net | sed /lo/d`
do
chroot $CHROOT /bin/bash -c "ln -s /etc/init.d/net.lo /etc/init.d/net.$interfaces"
chroot $CHROOT /bin/bash -c "rc-update add net.$interfaces default"
done
do
chroot $CHROOT /bin/bash -c "ln -s /etc/init.d/net.lo /etc/init.d/net.$interfaces"
chroot $CHROOT /bin/bash -c "rc-update add net.$interfaces default"
done
chroot $CHROOT /bin/bash -c "rc-update add sshd default"
# Configuration de fstab
echo "$SYS / ext4 noatime 0 1" > $CHROOT/etc/fstab
echo "$SWAP none swap sw 0 0" >> $CHROOT/etc/fstab
echo "/dev/cdrom /mnt/cdrom auto noauto,ro 0 0" >> $CHROOT/etc/fstab
echo "/dev/cdrom /mnt/cdrom auto noauto,ro 0 0" >> $CHROOT/etc/fstab
# ajout de l'utilisateur
chroot $CHROOT /bin/bash -c "useradd -p \`openssl passwd -1 $PASSWORD\` -G wheel $USER"