Guest User

Untitled

a guest
Mar 16th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. #! /bin/bash
  2. shopt -s expand_aliases # Active l'expansion d'alias.
  3. alias Chroot='chroot $Mont'
  4.  
  5.  
  6. Mont=/mnt/arch
  7. Root=/dev/sdb2
  8. Home=/dev/sdb3
  9. Swap=
  10. User=pat
  11.  
  12. # Labels servant au montage des partitions
  13. LabelRoot=RootArch2
  14. LabelHome=HomeArch2
  15. LabelSwap=
  16.  
  17. # Architecture 64 bits, doit être la même que celle de la machine hôte.
  18. # Pour l'instant, le 32 bits n'est pas supporté.
  19. Arch=x86_64
  20.  
  21. # Miroir utilisé pour l'installation
  22. Miroir=http://mir.archlinux.fr
  23.  
  24. # Nom de la machine cible. Par défaut, celui de la machine hôte.
  25. #Host=`hostname`
  26. Host=arch
  27.  
  28. # Emplacement du Grub, par défaut sur la machine hôte. Mettre à blanc pour éviter son installation
  29. Grub=`df / | grep '/$' | sed 's/[0-9][0-9]*.*//'`
  30.  
  31. # Bureau par défaut. Doit valoir Gnome, Cinnammon,ou Xfce. Sinon, pas de bureau installé.
  32. Bureau=Xfce
  33.  
  34. # Navigateur par déFaut. Peut être vide, contenir Chromium ou Firefox
  35. Navig=
  36.  
  37. # Gestionnaire de courrier par défaut. Peut être vide ou Thunderbird
  38. # ------------------------------------------------------------------
  39. Email=
  40.  
  41. # Installation du Wifi s'il y en a un
  42. # -----------------------------------
  43. Wifi="wlan0" # Mettre à blanc si pas de Wifi
  44. Essid=Rominet # Nom de la box
  45. Clewpa="2CCAD128FF" # Clé de sécurité de la Box
  46.  
  47. # Fin paramètrage
  48. # ---------------
  49.  
  50.  
  51.  
  52. # Options de pacman
  53. Pacopt=" --noconfirm --noprogressbar"
  54. # Mémoriser le répertoire de lancemnt (sert à installation sans réseau)
  55. Cwd=$PWD
  56.  
  57.  
  58. # Formatage et montage des partitions
  59. # -----------------------------------
  60. umount -a 2>/dev/null # Virer les partitions parasites du système hôte
  61. echo "Formatage de la partition système."
  62. mkfs.ext4 -q -L $LabelRoot $Root || exit 1
  63. mkdir -p $Mont
  64. mount $Root $Mont
  65. mkdir -p $Mont/home
  66. # Si une partition home séparée a été déclarée
  67. if [ $Home ]; then
  68. e2label $Home $LabelHome # Etiqueter cette partition
  69. mount $Home $Mont/home # La monter sur /home
  70. fi
  71. # Si une partition de swap a été déclarée
  72. [ $Swap ] && mkswap -L $LabelSwap $Swap # Etiqueter cette partition et la préparer
  73.  
  74. echo -e '\n\E[37;44m'"\033[1m Debut de l'installation \033[0m\n"
  75.  
  76. cd $Mont
  77. [ -e tmp ] || mkdir tmp
  78. chmod 1777 tmp
  79.  
  80.  
  81. # Téléchargement du chroot minimal
  82. # --------------------------------
  83. echo
  84. cd tmp
  85. echo -e '\E[37;44m'"\033[1m Téléchargement du chroot minimal... \033[0m"
  86. Minichrooturl="$Miroir/~tuxce/chroot"
  87. Minichrootarchive="archlinux.chroot.${Arch}.tgz"
  88. if [ -e "$Cwd/${Minichrootarchive}" ]; then
  89. echo "Archive trouvée dans $Mont/tmp"
  90. else
  91. if wget -q "${Minichrooturl}/${Minichrootarchive}"; then
  92. echo "$Minichrootarchive : téléchargée."
  93. mv $Minichrootarchive $Cwd
  94. else
  95. echo "Erreur lors du téléchargement de ${Minichrooturl}/${Minichrootarchive} !"
  96. exit 1
  97. fi
  98. fi
  99. cd ..
  100.  
  101. echo -e '\n\E[37;44m'"\033[1m Décompression... \033[0m"
  102. tar xf "$Cwd/${Minichrootarchive}" && echo "${Minichrootarchive} : fait." || exit
  103.  
  104. # Appliquer le miroir
  105. [ -e "$Mont/etc/pacman.d" ] || mkdir -p "$Mont"/etc/pacman.d
  106. echo "Server = $Miroir/\$repo/os/$Arch/" > "$Mont"/etc/pacman.d/mirrorlist
  107.  
  108. # Restauration du cache de pacman s'il y en a une sauvegarde
  109. #[ -e $Cwd/pacman.tar ] && tar xf $Cwd/pacman.tar
  110.  
  111.  
  112. # Installation système de base
  113. # ----------------------------
  114. echo -e '\n\E[37;44m'"\033[1m Installation du système de base... \033[0m"
  115.  
  116. # Montage des dossiers système pour chrooter
  117. mount -o bind /proc $Mont/proc || (echo "Ne peut pas monter /proc";exit 1) && echo "/proc montée."
  118. mount -o bind /dev $Mont/dev || (echo "Ne peut pas monter /dev";exit 1) && echo "/dev montée."
  119. mount -o bind /sys $Mont/sys || (echo "Ne peut pas monter /sys";exit 1) && echo "/sys montée."
  120.  
  121. cp /etc/resolv.conf "$Mont"/etc/
  122. Chroot pacman -Syf base $Pacopt || exit 1
  123. exit
Advertisement
Add Comment
Please, Sign In to add comment