Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
freebsd:upgrade_5_-_6 [2006/02/28 10:42]
127.0.0.1 (old revision restored)
freebsd:upgrade_5_-_6 [2010/01/12 13:29] (current)
Line 1: Line 1:
 +-----------------------------------------------------------------------------------------------
 + "​THE BEER-WARE LICENSE"​ (Revision 42):
 + ​[twisla@gcu.info] wrote this file. As long as you retain this notice you
 + can do whatever you want with this stuff. If we meet some day, and you think 
 + this stuff is worth it, you can buy me a beer in return. twisla.
 +
 + En français dans le texte:
 +
 + "​La Licence Bièricielle (Révision 42):
 + <​twisla@gcu.info>​ a écrit ce fichier. Tant que vous y laissez cette notice, vous 
 + ​pouvez en faire ce que vous voulez. Si on se croise un jour, et que vous pensez ​
 + que cela en vaut la peine, vous pouvez me payer un bière en retour. twisla.
 +------------------------------------------------------------------------------------------------
 + $Id: upgrade.fbsd.5.6.txt,​v 1.2 2005/10/17 23:00:32 twisla Exp $
 +
 +
 +
 + ​ATTENTION:​ Lisez tout ce document jusqu'​au bout avant de commencer votre mise à jour.
 +
 + La procédure habituelle reste d'​application,​ il a y a quelques détails à surveiller ​
 + pour cette migration.
 + ​Commencez par éditer le fichier /​etc/​make.conf (qui controle la globalité du système de build).
 +
 +duvel# vi /​etc/​make.conf:​
 +
 +<​code>​
 +########################################################## ​
 +# /​etc/​make.conf
 +SUP_UPDATE= yes # activer la cible "make update"​ dans /usr/src
 +SUP= /​usr/​local/​bin/​cvsup #​ le chemin vers cvsup
 +SUPFLAGS= -g -L 2 # les flags de cvsup
 +SUPFILE= /​etc/​cvsup/​stable-supfile #​ le chemin vers votre supfile basesys
 +#
 +# Pour mettre à jour les sources avec cvsup, il vous faut le port ou package
 +# net/​cvsup-without-gui (réferrez vous au handbook quand à l'​installation de packages ou ports)
 +#
 +KERNCONF=MONKERNEL # le nom de config KERNEL
 +
 +CPUTYPE=pentium3 #​ adaptez à votre processeur. ​
 +# Le compilateur produira alors des binaires taillés _sur_mesure_ pour votre processeur.
 +# Si vous voulez pouvoir installer et executer les binaire sur un autre type, mais quand même 
 +# les optimiser pour votre type de processeur, rajoutez un "?"​ avant le "​="​
 +
 +#​CPUTYPE?​=pentium3 #​ Utilise -mcpu au lieu de -march
 +
 +CFLAGS=-02 -pipe # Flags de compilation userland et ports
 +COPTFLAGS=-02 -pipe # Flags de compilation du kernel.
 +
 +# -O2 optimise les binaires (ATTENTION, tous les ports ne supportent pas ces optimisations
 +# il vaut mieux revenir à "​-O"​ une fois l'​upgrade finie.)
 +# -pipe permet d'​utiliser des pipe en mémoire plutot que des fichiers temporaires.
 +
 +#############################################################​
 +</​code>​
 +
 + /​etc/​make.conf propose BEAUCOUP plus d'​options que ça, jetez un oeil à 
 + "/​usr/​share/​examples/​etc/​make.conf"​ pour avoir une idée de ce qu'il est possible de faire.
 + 
 +
 +duvel# mkdir /etc/cvsup
 +
 + ​éditez les supfile (vous pouvez vous baser sur /​usr/​src/​share/​exemples/​cvsup/​stable-supfile et ports-supfile ​ en y remplaçant ​
 +   ​**default host=CHANGE_THIS.FreeBSD.org par 
 +   ​**default host=cvsup2.fr.FreeBSD.org ​ ou autre mirroir cvsup)
 +
 +duvel# vi /​etc/​cvsup/​stable-supfile
 +
 +<​code>​
 +*default host=cvsup2.nl.FreeBSD.org #​ ou autre mirroir CVSup.
 +*default base=/​var/​db #​
 +*default prefix=/​usr # ​
 +*default release=cvs tag=RELENG_6 #​ Important, indique la branche 6-STABLE
 +*default compress #​ Optionnel si vous avez assez de bande passante
 +src-all #​ Récupérer tout /usr/src
 +</​code>​
 +
 +duvel# cd /usr/src
 +
 +duvel# make update ​
 +
 +
 + Vous avez maintenant votre arbre des sources à jour, vous pouvez lancer le buildworld.
 + ​(toujours dans /usr/src)
 +
 +duvel# make buildworld
 + 
 + Ce qui va prendre un bon petit moment en fonction de votre hardware, ​
 + il est temps de s'​occuper du kernel.
 + Pour la configuration kernel, le mieux que vous ayez à faire est de copier votre fichier ​
 + ​config pour le sauvegarder,​ et vous baser sur GENERIC.
 +
 +duvel# cp /​sys/​i386/​conf/​MONKERNEL /​sys/​i386/​conf/​MONVIEUXKERNEL
 +duvel# cp /​sys/​i386/​conf/​GENERIC /​sys/​i386/​conf/​MONKERNEL.
 +
 + y rajouter vos options, ainsi que retirer tout les drivers inutiles.
 + ​Deux/​trois choses ont changé:
 +
 + Par exemple, le driver pour les cartes wifi basées sur les chipsets atheros requiert ​
 + ​quelques modifications;​ en 5.4 il suffisait de: \\
 + 
 +device ​         ath \\
 +device ​         ath_hal ​         # Atheros HAL (includes binary component) \\
 +
 + Il faut maintenant ajouter:
 +
 +device ​         ath_rate_onoe ​   # Onoe rate control for ath driver \\
 +
 + Le scheduler ULE a été stabilisé et vous pouvez donc commenter la ligne
 +
 +#​options SCHED_4BSD
 +
 + et décommenter
 +
 +options SCHED_ULE
 +
 + Le framework cpufreq(4) a été introduit, vous pouvez soit le compiler en dur:
 +
 +device cpufreq #​ CPU Frequency control framework
 +
 + soit l'​utiliser en module:
 +
 +duvel# echo "​cpufreq_load=YES"​ >> /​boot/​loader.conf
 +
 + Cette méthode peut-être appliquée à tous les modules que vous ne voulez pas avoir en "​dur" ​
 + dans le kernel:
 +
 +duvel# echo "​nom_du_module_load=YES"​ >> /​boot/​loader.conf ​
 +
 + Vous pouvez maintenant lancer la compilation du kernel.
 + ​(toujours dans /usr/src)
 +
 +duvel# make buildkernel
 +
 +(L'​utilité du KERNCONF=MONKERNEL dans le /​etc/​make.conf est de vous éviter de le préciser sur la ligne de commande.)
 +
 + Vous voilà avec de beaux binaires tout soyeux et doux tels le poil d'un bébé chat homosexuel.\\
 + Il vous reste maintenant à les installer, ainsi qu'à mettre à jour votre répertoire /etc 
 + (le badsamère). \\
 + Avant toute chose, il faut préparer l'​environnement avec mergemaster(8)
 + ​(toujours dans ce cher et tendre /usr/src, source de toute vie des lutins démoniaques)
 +
 +duvel# mergemaster -p 
 +
 + ​(prébuild,​ compare uniquement les fichiers essentiels au déroulement de l'​upgrade.)
 +
 + On se rend compte à se moment là que les fichiers /etc/passwd et /etc/group ont changé.
 + ​L'​équipe de FreeBSD a décidé d'​importer la suite d'​outils DHCP d'​OpenBSD,​ en lieu et place 
 + du client historique de l'ISC. Ce qui ajoute un utilisateur système _dhcp.
 + Pour simplifier les choses, avant de commencer, rajoutez l'​utilisateur à la main:
 +
 +duvel# vipw (pour éditer la base  des utilisateurs)
 +
 + ​rajoutez la ligne:
 +
 +_dhcp:​*:​65:​65:​dhcp programs:/​var/​empty:/​usr/​sbin/​nologin
 +
 +duvel# vi /​etc/​group (pour rajouter le groupe)
 +
 + ​rajoutez la ligne:
 +
 +_dhcp:*:65:
 +
 + Il se peut que vous ayez à faire pareil pour l'​utilisateur _pflogd.
 + ​mergemaster(8) vous indique ces changements par des lignes commencant par "​+"​. \\
 + Pour ce qui est de /etc/passwd et /etc/group, ajoutez les à la main, 
 + il risque sinon de vous retirer vos utilisateurs existants.
 +
 + Vous pouvez donc commencer à installer tous ces beaux binaires qui vont vous rendre le poil 
 + si doux et l'​érection plus consistante.
 +
 +duvel# cd /usr/src
 +duvel# make installkernel
 +duvel# make installworld
 +duvel# mergemaster
 +
 + ​Maintenant commence la partie la plus délicate. Qui consiste à passer en revue tous les 
 + ​changements intervenus dans /etc. \\
 + ​J'​espère pour vous que vous vous souvenez de ce que vous avez modifié. Les fichiers ​
 + par défaut peouvant être mis à jour sans crainte. \\
 +
 + ​mergemaster pour vous propose plusieurs choix:
 +
 +  Use '​d'​ to delete the temporary ./​etc/​master.passwd
 +  Use '​i'​ to install the temporary ./​etc/​master.passwd
 +  Use '​m'​ to merge the temporary and installed versions
 +  Use '​v'​ to view the diff results again
 +
 +  Default is to leave the temporary file to deal with by hand
 +
 +  How should I deal with this? [Leave it for later] ​          
 +
 + Par défaut il ne touchera à rien. 
 + - utilisez '​v'​ pour revoir les différences (un - signifie qu'il enlèvera vos changements ​
 +   dans les fichiers, un + qu'il y a de nouvelles options)
 + - utilisez '​d'​ pour deleter la version temporaire si rien n'a changé excepté l'Id CVS et
 +   ​qu'​il veut vous enlever les changements.
 + - utilisez '​i'​ pour installer la nouvelle version si vous n'avez jamais touché à ce fichier.
 + - utilisez '​m'​ pour merger les différence (personellement,​ je skip et j'​édite à la main dans 
 +   ce cas là.)
 +
 + Le repertoire /etc/rc.d qui contient les scripts de démarrage des services a subi de gros 
 + ​changements,​ vous aurez donc beaucoup de fichiers à y installer.
 + ​mergemaster vous fera la remarque qu'il reste des fichiers inutilisés dans ce répertoire, ​
 + vous pouvez les effacer.
 + Il y a aussi quelques nouveaux fichiers à installer.
 +
 + Les fichiers temporaires à installer sont situés dans /​var/​tmp/​temproot.
 + ​Mergemaster vous proposera de deleter les fichier temporaires,​ si vous n'avez pas à en 
 + ​rééditer à la main, vous pouvez y aller.
 +
 + La tonte touche à sa fin, nous allonrs en pouvoir nous asseoir et regarder la pelouse ​
 + ​verdoyante de notre nouveau jardin.
 +
 + Il reste une dernière chose, mais plutot importante pour les posseseurs de cartes graphiques ​
 + ​NVidia utilisant les drivers propriétaires:​
 +
 + - réinstallez les drivers ( cd /​usr/​ports/​x11/​nvidia-driver && make deinstall && make install )
 +   afin qu'ils soient linkés à votre nouveau système. ​
 +   ​C'​est le kernel panic assuré dans le cas contraire.
 +   (Si par malheur vous aviez oublié de le faire, au boot, choisissez ​
 +   "​escape to loader prompt",​ vous aurez un simple prompt, tappez:
 +
 +> unload # pour unloader tous les modules au démarage
 +> boot /​boot/​kernel #​ pour booter votre kernel
 +
 + - Réinstallez les drivers une fois le système booté.
 +
 +   ​Quelques considérations:​
 +   ​-----------------------
 +
 + -- ALWAYS KEEP BACKUPS: sauvegardez toujours vos données, ​
 +    une mise à jour n'est jamais sans risques.
 +
 + -- Arretez tous les services qui tournent avant le make installworld. ​
 +    Vous allez remplacer toutes les librairies et binaires dans les minutes qui viennent, ​
 +    cela peut leur causer pas mal de confusion.
 +    ( /​etc/​rc.d/​nom_du_service "​status"​ pour voir s'il tourne, "​stop"​ pour l'​arreter)
 +
 +  Un grand merci au Squad pour l'​ambiance qui y règne, et à tous ceux qui font qu'​utiliser ​
 +  un vrai UNIX Libre soit possible.
 +
 +---
 +
 + ​Écrit lundi 17 octobre de l'an de grace 2005, relu le mardi 18 octobre.
 + ​Clément Martin <​twisla@gcu.info>​
 +
 +P.S.: pinpin: _rise_
 +
 +<​code>​
 +-----------UPDATE-----08/​08/​2006------------------
 +l'​update vers une version de FreeBSD 6 doit se faire au minimum avec un freeBSD 5.4
 +         ​ERROR:​ Source upgrades from versions prior to 5.3 not supported.
 +
 +Kzper
 +
 +</​code>​
 +
  
freebsd/upgrade_5_-_6.txt · Last modified: 2010/01/12 13:29 (external edit)