Outils pour utilisateurs

Outils du site


installfreebsd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
installfreebsd [2019/03/10 13:04] cyrilleinstallfreebsd [2019/03/25 08:40] – [Network Manager] cyrille
Ligne 3: Ligne 3:
 Sur laptop, DELL Latitude E5430 et DELL Latitude E6410 Sur laptop, DELL Latitude E5430 et DELL Latitude E6410
  
 +
 +Attention si en parallèle d'un linux, laisser le Linux gérer le grub via le MBR et rajouter une entrée dans le grub. 
 +
 +Exemple : 
 +<code bash>cat /etc/grub.d/40_custom
 +#!/bin/sh
 +exec tail -n +3 $0
 +# This file provides an easy way to add custom menu entries.  Simply type the
 +# menu entries you want to add after this comment.  Be careful not to change
 +# the 'exec tail' line above.
 +menuentry "FreeBSD 12" {
 +    set root='(hd0,3)'
 +    kfreebsd /boot/loader
 +}</code>
 +
 +Si que freesbd sur le disque, utiliser <code bash>GPT</code> et non MBR
 ===== Installation ===== ===== Installation =====
  
Ligne 61: Ligne 77:
  
 Le recharger  Le recharger 
-<code bash>cap_mkdb /etc /login.conf</code>+<code bash>cap_mkdb /etc/login.conf</code>
  
 =====Initialisation de pkg===== =====Initialisation de pkg=====
Ligne 69: Ligne 85:
 =====AJOUTER un user===== =====AJOUTER un user=====
 <code bash># adduser</code> <code bash># adduser</code>
-L’inclure dans les groupes : wheel operator video+L’inclure dans les groupes : **wheel operator video**
  
  
Ligne 75: Ligne 91:
 =====Gestion du son===== =====Gestion du son=====
  
-<code bash>#kldload snd_driver</code>+<code bash># kldload snd_driver</code>
 <code bash>cat /dev/sndstat <code bash>cat /dev/sndstat
 Installed devices: Installed devices:
Ligne 85: Ligne 101:
 No devices installed from userspace.</code> No devices installed from userspace.</code>
  
-<code bash>#sysrc kld_list+=snd_hda</code>+<code bash># sysrc kld_list+=snd_hda</code>
  
  
-=====Affichage drm-kmod=====+=====Affichage  : drm-kmod=====
 Installer le paquet Installer le paquet
 <code bash>pkg install drm-kmod</code> <code bash>pkg install drm-kmod</code>
Ligne 100: Ligne 116:
 Vérifier Vérifier
 <code bash>kldstat -v | grep i915</code> <code bash>kldstat -v | grep i915</code>
 +
 +
 +
 +===== Network Manager =====
 +
 +
 +==== Network Manager ====
 +
 +
 +<code bash>pkg show  networkmgr
 +WWW            : https://github.com/GhostBSD/networkmgr
 +Comment        : FreeBSD/GhostBSD network conection manager
 +Annotations    :
 + repo_type      : binary
 + repository     : FreeBSD
 +Flat size      : 1.71MiB
 +Description    :
 +NetworkMgr is an open source, Network Manager based on the look of the Linux
 +Network Manager user interface. It use ifconfig and netif if make all work.
 +</code>
 +
 +Il faudra ensuite configurer DOA pour que ça fonctionne
 +
 +<code bash>cat /usr/local/etc/doas.conf
 +
 +    permit nopass keepenv root
 +    permit :wheel 
 +    permit nopass keepenv :wheel cmd netcardmgr
 +    permit nopass keepenv :wheel cmd ifconfig
 +    permit nopass keepenv :wheel cmd service</code>
 +
 +Se delogguer, l'utilisateur doit faire partie du groupe **wheel**.
 +
 +
 +Gestion de la connexion par ce fichier
 +
 +<code bash> cat /etc/wpa_supplicant.conf</code>
 +
 +{{ ::wifi-network.png?direct&400 |}}
 +
 +==== CLI graphique de gestion ====
 +
 +<code bash> pkg install  wifimgr</code>
 +===== Devices : permissions =====
 +Permettra en autres l'accès aux périphériques amovibles (CDR,DVD). Nécessaire pour xfburner par exemple.
 +
 +<code bash>cat /etc/devfs.conf
 +
 +    # Allow all users to access optical media
 +    perm    /dev/acd0       0666
 +    perm    /dev/acd1       0666
 +    perm    /dev/cd0        0666
 +    perm    /dev/cd1        0666
 +     
 +    # Allow all USB Devices to be mounted
 +    perm    /dev/da0        0666
 +    perm    /dev/da1        0666
 +    perm    /dev/da2        0666
 +    perm    /dev/da3        0666
 +    perm    /dev/da4        0666
 +    perm    /dev/da5        0666
 +     
 +    # Misc other devices
 +    perm    /dev/pass0      0666
 +    perm    /dev/xpt0       0666
 +    perm    /dev/uscanner0  0666
 +    perm    /dev/video0     0666
 +    perm    /dev/tuner0     0666
 +    perm    /dev/dvb/adapter0/demux0    0666
 +    perm    /dev/dvb/adapter0/dvr       0666
 +    perm    /dev/dvb/adapter0/frontend0 0666
 +</code>
 +
 +<code bash>cat /etc/devfs.rules
 +
 +    [devfsrules_common=7]
 +    add path 'ad[0-9]\*' mode 666
 +    add path 'ada[0-9]\*' mode 666
 +    add path 'da[0-9]\*' mode 666
 +    add path 'acd[0-9]\*' mode 666
 +    add path 'cd[0-9]\*' mode 666
 +    add path 'mmcsd[0-9]\*' mode 666
 +    add path 'pass[0-9]\*' mode 666
 +    add path 'xpt[0-9]\*' mode 666
 +    add path 'ugen[0-9]\*' mode 666
 +    add path 'usbctl' mode 666
 +    add path 'usb/\*' mode 666
 +    add path 'lpt[0-9]\*' mode 666
 +    add path 'ulpt[0-9]\*' mode 666
 +    add path 'unlpt[0-9]\*' mode 666
 +    add path 'fd[0-9]\*' mode 666
 +    add path 'uscan[0-9]\*' mode 666
 +    add path 'video[0-9]\*' mode 666
 +    add path 'tuner[0-9]*'  mode 666
 +    add path 'dvb/\*' mode 666
 +    add path 'cx88*' mode 0660
 +    add path 'cx23885*' mode 0660 # CX23885-family stream configuration device
 +    add path 'iicdev*' mode 0660
 +    add path 'uvisor[0-9]*' mode 0660</code>
 +    
 +Mettre à jour le **/etc/rc.conf** avec cette entrée
 +
 +<code bash>devfs_system_ruleset="devfsrules_common"</code>
 +
 +Prendre en compte les modifications sans rebooter
 +<code bash>/etc/rc.d/devfs restart</code>
  
  
Ligne 109: Ligne 231:
  
  
-======Pour activer le suspend et resume ======+====Pour activer le suspend et resume ====
 Créer ces 2 fichiers Créer ces 2 fichiers
-<code bash>pkg info -D xfce4-session  
-xfce4-session-4.12.1_4: 
-Always: 
-To be able to shutdown or reboot your system, you'll have to add .rules 
-files in /usr/local/etc/polkit-1/rules.d directory. Which looks 
-like this (replace PUTYOURGROUPHERE by your group): 
  
-polkit.addRule(function (action, subject) {+**/usr/local/etc/polkit-1/rules.d/51.shutdown.rules** 
 + 
 + 
 +<code bash>polkit.addRule(function (action, subject) {
   if ((action.id == "org.freedesktop.consolekit.system.restart" ||   if ((action.id == "org.freedesktop.consolekit.system.restart" ||
       action.id == "org.freedesktop.consolekit.system.stop")       action.id == "org.freedesktop.consolekit.system.stop")
Ligne 125: Ligne 244:
   }   }
 }); });
 +</code>
  
-For those who have working suspend/resume:+**/usr/local/etc/polkit-1/rules.d/52.resume.rules** 
  
-polkit.addRule(function (action, subject) {+<code bash>polkit.addRule(function (action, subject) {
   if (action.id == "org.freedesktop.consolekit.system.suspend"   if (action.id == "org.freedesktop.consolekit.system.suspend"
       && subject.isInGroup("PUTYOURGROUPHERE")) {       && subject.isInGroup("PUTYOURGROUPHERE")) {
Ligne 135: Ligne 255:
 });</code> });</code>
  
 +puis 
  
 +<code bash>chown -R polkitd /usr/local/etc/polkit-1/</code>
  
  
-======Démarrer xfce======+====Démarrer xfce====
  
  
Ligne 145: Ligne 267:
 <code bash>Pkg install dbus <code bash>Pkg install dbus
 service dbus onestart</code> service dbus onestart</code>
 +
 +Démarrage auttomatique, ajouter
 +<code bash>cat /etc/rc.conf
 +dbus_enable="YES"</code>
  
 On utilisera xinit pour le lacement de XFCE On utilisera xinit pour le lacement de XFCE
-Créer dans le Home un .xinitrc+Créer dans le Home un **.xinitrc**
  
 <code bash># SET PROPER locale <code bash># SET PROPER locale
Ligne 159: Ligne 285:
 /usr/local/bin/startxfce4</code> /usr/local/bin/startxfce4</code>
  
 +Lier xinitrc et xsession
 +<code bash> ln -s ~/.xinitrc ~/.xsession</code>
  
 Enfin lancer la session X Enfin lancer la session X
 <code bash>xinit .xinitrc</code> <code bash>xinit .xinitrc</code>
  
-Lier xinitrc et xsession +Pour démarrer la session de XFCE, j'ai choisi la façon manuelle sinon on peut passer, entre autre par SLIM. 
-<code bash> ln -s ~/.xinitrc ~/.xsession</code>+J'ai donc créer cet alias  
 +<code bash>alias x='xinit ~/.xinitrc'</code> 
 +et la commande **x** suffit au démarrage de XFCE 
 + 
 +Sinon : jeter un oeil à SLIM : [[https://www.freebsd.org/cgi/man.cgi?query=slim&sektion=1&manpath=freebsd-release-ports|Slim]] 
  
  
  
 ====anti-aliasing avec la police Helvetica===== ====anti-aliasing avec la police Helvetica=====
-Editer ce fichier ainsi+Editer ce fichier ainsi : **/usr/local/etc/fonts/local.conf** 
 <code bash><?xml version='1.0'?> <code bash><?xml version='1.0'?>
 <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
Ligne 217: Ligne 350:
 </fontconfig></code> </fontconfig></code>
  
 +====Gestionnaire WIFI====
 +Bien que par défaut, on n'en a pas besoin. On peut vouloir utiliser un outil style Gestionnaire Wifi
 +<code bash>pkg install wifimgr</code>
  
 +Sinon la(es) connexion(s) se gère(nt) via :
 +<code bash> cat /etc/wpa_supplicant.conf</code>
 +
 +====Barre de Menu pour XFCE====
 +
 +J'utilise Plank, simple et convivial.
 +
 +<code bash># pkg install plank</code>
 +
 +Ajouter cette commande au démarrage de XFCE
 =====Paramétrage de Xorg===== =====Paramétrage de Xorg=====
-======Carte video======+====Carte video====
 Créer ces 2 fichiers Créer ces 2 fichiers
 <code bash># cat /usr/local/etc/X11/xorg.conf.d/card.conf <code bash># cat /usr/local/etc/X11/xorg.conf.d/card.conf
Ligne 229: Ligne 375:
 EndSection</code> EndSection</code>
  
-======Le clavier======+====Le clavier====
 <code bash># cat /usr/local/etc/X11/xorg.conf.d/keyboard.conf <code bash># cat /usr/local/etc/X11/xorg.conf.d/keyboard.conf
 Section "InputDevice" Section "InputDevice"
Ligne 240: Ligne 386:
  
  
- +=====Configuration spécifique===== 
 +====timeout boot====
 Diminuer le timeout du menu du boot loader à 2 secondes Diminuer le timeout du menu du boot loader à 2 secondes
 <code bash>sysrc -f /boot/loader.conf autoboot_delay=2</code> <code bash>sysrc -f /boot/loader.conf autoboot_delay=2</code>
 +
 +====Acc. chiffr.====
 Accélération de chiffrement des processeurs modernes Accélération de chiffrement des processeurs modernes
 <code bash>#echo 'aesni_load="YES"' >> /boot/loader.conf</code> <code bash>#echo 'aesni_load="YES"' >> /boot/loader.conf</code>
-Module à charger dans /boot et non etcrc.conf pour un chargement plus rapide  +Module à charger dans /boot et non /etc/rc.conf pour un chargement plus rapide 
- +
- +
-On commence par optimiser le scheduler pour un usage desktop:+
  
 +====Scheduler====
 +Configuration pour une utilisation pour desktop/laptop
 <code bash>sysrc -f /etc/sysctl.conf kern.sched.preempt_thresh=224</code> <code bash>sysrc -f /etc/sysctl.conf kern.sched.preempt_thresh=224</code>
  
 Pour activer la réponse «yes» aux questions de fsck au démarrage: Pour activer la réponse «yes» aux questions de fsck au démarrage:
- 
 <code bash>sysrc fsck_y_enable=YES</code> <code bash>sysrc fsck_y_enable=YES</code>
 +====Micro codes CPU====
 Utiliser micro codes CPU Utiliser micro codes CPU
 <code bash>pkg install devcpu-data <code bash>pkg install devcpu-data
 service microcode_update enable service microcode_update enable
 service microcode_update start</code> service microcode_update start</code>
 +
 +==== ACPI ====
 +=== CPU et TEMP ===
  
  device driver for Intel Core on-die digital thermal sensor  device driver for Intel Core on-die digital thermal sensor
Ligne 268: Ligne 417:
  sysrc kld_list+=cpuctl</code>  sysrc kld_list+=cpuctl</code>
  
 +==== Fn Keys : DELL latitude E5430 ====
 +
 +Ai rencontré un soucis avec les touches **Fn + brightness** seulement sur le Latitude E5430. Avec le Latitude E6410 pas de soucis.
 +
 +Les touches** FN et luminosité -up/down** ne fonctionnent pas. De plus **xbindkeys** ne retourne aucun code avec l'association **Fn + Brightness UP / Down** (Pas de Mod 2 + quelque chose)
 +
 +Solution adoptée. 
 +
 +Installer : 
 +<code bash>pkg install xbindkeys intel-backlight</code>
 +
 +
 +Fichier de configuration :
 +<code bash>cat .xbindkeysrc 
 +# PERSONNAL XBINDKEYS
 + "intel_backlight decr 10"
 + Alt + Down
 +
 + "intel_backlight incr 10"
 + Alt + Up
 +</code>
 +
 +Lancer xbindkeys au démarrage de la session **~/.xinitrc** 
 +
 +Ajouter cette section avant le démarrage de XFCE dans 
 +<code bash># Démarrer xbindkeys
 +/usr/local/bin/xbindkeys  &</code>
 +
 +==== XFCE / FLUXBOX / OPENBOX ====
 +Pour avoir le choix entre plus Windows Manager : ici fluxbox, openbox
 +
 +<code bash>pkg install openbox openbox-themes obconf fluxbox fluxbox-tenr-styles-pack icewm wmakerconf windowmaker blackbox  </code>
 +
 +Modifier le fichier **~/.xinitrc** de cette façon
 +
 +<code bash># GESTIONNAIRE X
 +  DEFAULT_SESSION=startxfce4
 +
 +case $1 in
 +o)
 +    exec openbox
 +    ;;
 +f)
 +    exec fluxbox
 +    ;;
 +i)
 +    icewmbg &
 +    icewmtray &
 +    exec icewm
 +    ;;
 +w)
 +    exec wmaker
 +    ;;
 +b)
 +    exec blackbox
 +    ;;
 +*)
 +    exec $DEFAULT_SESSION
 +    ;;
 +esac
 +</code>
  
 +Dans votre shell, créer l'alias suivant
 +<code bash>alias x='xinit ~/.xinitrc'</code>
 +A la connexion, un **x** lancer xfce, **x o** openbox **x b** blackbox....
  
-Monter les périphériques amovibles+=====Monter les périphériques amovibles=====
 Attention la version d’automount des repos ne permet pas de monter du FAT32. Utiliser cette procédure. Attention la version d’automount des repos ne permet pas de monter du FAT32. Utiliser cette procédure.
  
-Installer git+====Installer git====
 <code bash># pkg install git <code bash># pkg install git
 # git clone https://github.com/vermaden/automount.git # git clone https://github.com/vermaden/automount.git
Ligne 280: Ligne 493:
  
  
-Initialisation des ports+====Initialisation des ports====
 (nécessaires pour compiler exfat-utils/exFAT et  sysutils/fusefs-exfat) (nécessaires pour compiler exfat-utils/exFAT et  sysutils/fusefs-exfat)
  
Ligne 320: Ligne 533:
 # /etc/rc.d/devd restart</code> # /etc/rc.d/devd restart</code>
 Et hop, ça fonctionne…... Et hop, ça fonctionne…...
 +
 +=====Dropbox=====
 +Pas de portage Dropbox sous freeBSD
 +Le kernel de freeBSD ne prend pas en charge **inotify** donc pas de dropbox... En tout cas dropbox ne fournit pas de client freeBSD. Reste à trouver une alternative ou utiliser wine et le client windows (parait il)... Il y aussi [[https://www.freshports.org/devel/libinotify|libnotify]] mais pas trop cherché dans ce sens ....
 +
 +En alternative, il y a [[https://www.freshports.org/net/rclone|rclone]] qui fait très bien le travail mais en ligne de commande. Mais reste très gérable.
 +
 + <code bash>pkg info rclone
 +rclone-1.43
 +Name           : rclone
 +Version        : 1.43
 +Installed on   : Sat Feb 23 19:02:31 2019 CET
 +Origin         : net/rclone
 +Architecture   : FreeBSD:12:amd64
 +Prefix         : /usr/local
 +Categories     : net
 +Licenses       : MIT
 +Maintainer     : wg@FreeBSD.org
 +WWW            : https://rclone.org/
 +Comment        : Sync files to and from various cloud services
 +Annotations    :
 + FreeBSD_version: 1200086
 + repo_type      : binary
 + repository     : FreeBSD
 +Flat size      : 26.1MiB
 +Description    
 +Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and
 +Google Cloud Storage
 +
 +WWW: https://rclone.org/</code>
 +
 +On l'installe 
 +<code bash># pkg install rclone</code>
 +
 +Puis on le configure
 +<code bash>$ rclone config</code>
 +
 +Toute la doc est là [[https://rclone.org/dropbox/|Configurer rclone pour Dropbox]]
 +
 +L'option dropbox est la **7**, on valide le tout et on finit par être redirigé vers une page **d'association dropbox/rclone** qu'on renseigne et valide.
 +
 +Sur mon système mon répertoire **dropbox** et dans mon** /home/$USER/Dropbox** et contient 2 dossiers essentiels qui seront mis à jour soit de mon **PC vers la Dropbox** ou de la **Dropbox vers mon PC**.
 +
 +J'ai écrit ce script qui fonctionne sur 3 arguments
 +* le premier : **IN** ou **OUT** : la synchronisation se fait vers la Dropbox ou depuis la Dropbox
 +* le second : **répertoire à mettre à jour** : COURS ou DIR
 +* le dernier : **dry** ou **write** : **dry** : on simule, **write** on met à jour
 +
 +Puis 1 alias :
 +<code bash>alias dropbox='/home/ragnarok/SCRIPTS/dropbox.sh'</code>
 +
 +Pour mettre à jour le répertoire DIR depuis la Dropbox vers mon PC
 +<code bash>dropbox IN DIR write</code>
 +
 +Pour simuler une synchroniation du répertoire COURS de mon PC vers la Dropbox
 +<code bash>dropbox OUT COURS dry</code>
 +
 +Et c'est tout ! Le script ci-dessous : 
 +
 +
 +<code bash>#!/bin/sh
 +  echo == DEBUG ==
 +  echo "Nom du script : $0";
 +  echo argument 1 : $1
 +  echo argument 2 : $2
 +  echo "Tous les arguments : $* ($# arguments)"
 +  echo == FIN DEBUG ==
 +
 +
 +# =========================================
 +case $# in
 +  0) echo "Aucun parametre"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +  1) echo "Il manque un paramètre !"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +  2) echo "2 parametres passes au programme : $1 et $2";;
 +  3) echo "Le 3eme argument ne peut être que --dry-run ou write";;
 +  *) echo "TROP DE PARAMETRES !"
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";;
 +esac
 +
 +# =========================================
 +    if [ $1 == "IN" ]
 +        then
 +            echo "Depuis la dropbox";
 +     source="dropbox:/"    ;
 +            dest="/home/ragnarok/Dropbox/";
 +
 +    elif [ $1 == "OUT" ]
 +        then   
 +            echo "Vers la dropbox" ;
 +     source="/home/ragnarok/Dropbox/"    ; 
 +            dest="dropbox:/";
 +
 +    else
 +        echo "$1  : Soit IN soit OUT";
 + exit;
 +    fi
 +# =========================================
 +    if [ $2 == "DIR" ]
 +        then
 +            echo "Repertoire de DIR";
 +            dir="DIR-2018-2019";
 +    elif [ $2 == "COURS" ]
 +        then   
 +            echo "Repertoire de COURS" 
 +     dir="COURS-2018-2019";
 +    elif [ $2 == "ecole" ]
 +        then   
 +     echo "Repertoire Ecole" 
 +     dir="ecole";
 +    else
 +        echo "$2  : Soit DIR soit COURS soit ecole";
 + exit;
 +    fi
 +# =========================================
 +
 +  if [ $3 == "dry" ]
 +        then
 +            echo "Option --dry-run activée";
 +     option="--dry-run";
 +  elif [ $3 == "write" ]
 +        then
 +            echo "Option: aucune. En action";
 +     option="";
 +  else
 +            echo "$3  : Ne peut être que dry ou write";
 + exit;
 +    fi
 +# =========================================
 +
 +echo "rclone sync $source$dir $dest$dir $option --progress"
 +rclone sync $source$dir $dest$dir $option --progress
 +
 +echo " --------------- Done.";
 +</code>
 +===== WINE =====
 +Attention il faut installer le paquet i386 même si on est en 64bit, sinon erreur de segmentation.
 +
 +Donc 
 +<code bash>pkg install i386-wine</code>
 +
 +Puis peaufinage via 
 +<code bash>$ winecfg</code>
 +
 +Accepter tout ce qu'il propose de télécharger et installer.
 +
 +
 +Fonctionne nickel, mais les polices sont vraiment bizarres.
 +
 +Éditer **~/.config/fontconfig/fonts.conf** de cette manière : 
 +<code bash><?xml version="1.0"?>
 +<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 + 
 +<fontconfig>
 + 
 +  <!-- antialias all fonts -->
 +  <match target="font">
 +    <edit name="antialias" mode="assign"><bool>true</bool></edit>
 +    <edit name="hinting"   mode="assign"><bool>true</bool></edit>
 +    <edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
 +    <edit name="rgba"      mode="assign"><const>rgb</const> </edit>
 +    </match>
 + 
 +</fontconfig></code>
 +
 +=====Arduino=====
 +Surtout ne pas installer la version depuis les ports, elle ne passe pas (l'iDE d'aruino ne sait pas compiler) et c'est hyper casse-pieds pour la desinstaller. Préférer la version précompilée (**pkg**).
 +<code bash>pkg install arduino</code>
 +
 +Si nécessaire, inclure votre $USER aux groupes **operator** et **dialer**
 +<code bash>
 +# sudo pw groupmod operator -m $USER
 +# sudo pw groupmod dialer -m $USER</code>
 +
 +Donner l'accès aux périphériques USB via **/etc/devfs.rules**<code bash>
 +# cat /etc/devfs.rules
 +#
 +# Allow operators access to usb devices.
 +#
 +[operator_usb=5]
 +add path usbctl mode 0660 group operator
 +add path 'usb/*' mode 0660 group operator
 +add path 'ugen*' mode 0660 group operator</code>
 +
 +Prise en compte des changements
 +<code bash># sudo sysrc devfs_system_ruleset=operator_usb</code>
 +Relance du service devfs
 +<code bash># sudo service devfs restart</code>
 +
 +On branche sa carte et on vérifie sa détection
 +<code bash>$ usbconfig 
 +...
 +ugen0.2: <Arduino (www.arduino.cc) product 0x0043> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
 +</code>
 +
 +{{ ::capture_d_ecran_2019-03-10_14-53-21.png?direct&400 |}}
 +
 +
 +=====DUAL BOOT freeBSD / Linux=====
 +J'avais une Linux Debian SID d'installée sur mon PC. 
 +
 +<code bash>$ sudo fdisk -l
 +Disque /dev/sda : 111,8 GiB, 120034123776 octets, 234441648 secteurs
 +Unités : secteur de 1 × 512 = 512 octets
 +Taille de secteur (logique / physique) : 512 octets / 512 octets
 +taille d'E/S (minimale / optimale) : 512 octets / 512 octets
 +Type d'étiquette de disque : dos
 +Identifiant de disque : 0x0c3bb11c
 +
 +Périphérique Amorçage    Début       Fin  Secteurs Taille Id Type
 +/dev/sda1           2048 143362047 143360000  68,4G 83 Linux
 +/dev/sda2             226338814 234440703   8101890   3,9G  5 Étendue
 +/dev/sda3             143362048 226338813  82976766  39,6G a5 FreeBSD
 +/dev/sda5             226338816 234440703   8101888   3,9G 82 partition d'échange</code>
 +
 +Donc on voit
 +    * sda1 : Partition primaire : Racine linux /
 +    * sda2 : Partition étendue
 +    * sda 3 : FreeBSD
 +    * sda5 : swap Linux
 +
 +**Configuration du grub sous LINUX**
 +Sous LINUX, éditer le fichier suivant : **/etc/grub.d/40_custom** et créer l'entrée ci-dessous
 +
 +Attention hd0,3 car freeBSD est sur /dev/sda3, s'il était sur le 1, mettre hd0,1, sur le 2 hd0,2, sur la seconde partition d'un deuxième disque hd1,2... Donc à adapter à votre configuration
 +
 +<code bash>#!/bin/sh
 +exec tail -n +3 $0
 +# This file provides an easy way to add custom menu entries.  Simply type the
 +# menu entries you want to add after this comment.  Be careful not to change
 +# the 'exec tail' line above.
 +menuentry "FreeBSD 12" {
 +    set root='(hd0,3)'
 +    kfreebsd /boot/loader
 +}
 +</code>
 +
 +Prendre en compte les modifications de la configuration du grub
 +
 +<code bash># update-grub
 +Création du fichier de configuration GRUB…
 +Image Linux trouvée : /boot/vmlinuz-4.10.0-38-generic
 +Image mémoire initiale trouvée : /boot/initrd.img-4.10.0-38-generic
 +Found memtest86+ image: /boot/memtest86+.elf
 +Found memtest86+ image: /boot/memtest86+.bin
 +unknown Linux distribution trouvé sur /dev/sda3
 +</code>
 +
 +Rebooter et la nouvelle entrée est fonctionnelle dans le grub.
 +
 +===== Bash =====
 +
 +==== bash comme shell par défaut ====
 +
 +
 +<WRAP center round important 60%>
 +Attention ne pas changer le shell du root
 +</WRAP>
 + 
 +
 +
 +<code bash># chsh -s /usr/local/bin/bash {username}</code>
 +
 +
 +<code bash>grep ragnarok /etc/passwd</code>
 +
 +
 +
 +
 +<code bash>cat /etc/fstab
 +## append the following to /etc/fstab file ##
 +fdesc  /dev/fd  fdescfs  rw 0 0</code>
 +
 +
 +==== Autocomplétion ====
 +<code bash>add the following to your ~/.bashrc or ~/.bash_profile file:
 +[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \
 + . /usr/local/share/bash-completion/bash_completion.sh</code>
 +
 +
 +<code bash># pkg install bash-completion</code>
 +
 +==== Alias ====
 +Créer un fichier **.bash_aliases**
 + touch .bash_aliases
 +Et y mettre ses alias. Si non fait,  insérer cette section dans le .bashrc 
 +<code bash># Alias definitions.
 +# You may want to put all your additions into a separate file like
 +# ~/.bash_aliases, instead of adding them here directly.
 +# See /usr/share/doc/bash-doc/examples in the bash-doc package.
 +if [ -f ~/.bash_aliases ]; then
 +    . ~/.bash_aliases
 +fi
 +</code>
 +
 +===== SSD Config =====
 +Rien d'extraorinaire à faire, juste **activer le trim** sur les partitions montées
 +Chez moi ada0p2 (**/**) et ada0p4 (**/home**)
 +
 +Rebooter et démarrer en mode :** Boot Single User** (le n°2). (Il ne faut pas que les partitions soient montées)
 +<code bash>
 +tunefs -t enable ada0p2
 +tunefs -t enable ada0p4</code>
 +
 +Rebooter
 +
 +Vérfier que ce soit pris en compte
 + <code bash>tunefs -p /dev/ada0p4 | grep trim
 +tunefs: POSIX.1e ACLs: (-a)                                disabled
 +tunefs: NFSv4 ACLs: (-N)                                   disabled
 +tunefs: MAC multilabel: (-l)                               disabled
 +tunefs: soft updates: (-n)                                 enabled
 +tunefs: soft update journaling: (-j)                       enabled
 +tunefs: gjournal: (-J)                                     disabled
 +tunefs: trim: (-t)                                         enabled
 +tunefs: maximum blocks per file in a cylinder group: (-e)  4096
 +tunefs: average file size: (-f)                            16384
 +tunefs: average number of files in a directory: (-s)       64
 +tunefs: minimum percentage of free space: (-m)             8%
 +tunefs: space to hold for metadata blocks: (-k)            6408
 +tunefs: optimization preference: (-o)                      time
 +tunefs: volume label: (-L)                                 
 +</code>
 +
 +
 +
 +
 +=====Sources=====
 +Je n'ai pas pondu tout cela tout seul, j'ai lu pas mal de docs et les forums BSD.
 +Voici les sources indispensables à mon avis :
 +  *[[http://olivier.cochard.me/bidouillage/installation-et-configuration-de-freebsd-comme-poste-de-travail|O. Cochard FreeBSD]]
 +  *[[https://vermaden.wordpress.com/|Mine d'or d'informations]]
 +  *[[https://github.com/vermaden|GIT de Vermaden]]
 +  *[[https://www.c0ffee.net/blog/freebsd-on-a-laptop/|FreeBSD on a laptop]]
 +  *[[https://www.tecmint.com/things-to-do-after-installing-freebsd/|Post installation freeBSD laptop]]
 +  *[[https://www.cyberciti.biz/faq/freebsd-bash-installation/|FreeBSD Install BASH Shell Using pkg command]]
 +  *[[https://cooltrainer.org/a-freebsd-desktop-howto/|A FreeBSD 11 Desktop How-to]]
 +Et surtout
 +  *[[https://www.freebsd.org/| Site FreeBSD]]
 +  *[[https://forums.freebsd.org/|Forums FreeBSD]]
 +  *[[https://www.freebsd.org/doc/fr/books/handbook/|HandBook Français de FreeBSD]]
installfreebsd.txt · Dernière modification : 2020/06/06 17:12 de cyrille