FreeBSD?, OpenBSD?, etc. Installations, tricks & tips
+Disk usage, gpart, RAID, etc.
# camcontrol devlist
<ST3120026AS 8.05> at scbus0 target 0 lun 0 (pass0,ada0)
<MAXTOR STM3250310AS 3.AAF> at scbus1 target 0 lun 0 (pass1,ada1)
<Maxtor 6Y120P0 YAR41BW0> at scbus2 target 0 lun 0 (pass2,ada2)
<TSSTcorp CD/DVDW SH-S182M SB02> at scbus3 target 0 lun 0 (pass3,cd0)
gpart cheat chart (summary)
root@zany:/home/cmic #gpart create -s GPT ada2
ada2 created
"gpart create" crée une table de partition du disque (ou d'une partition !) selon un scheme (BSD, MBR, GPT, ..). On peut alors creer des partitions avec gpart add. Dans chacune de ces partitions on peut alors, à nouveau, créer une table de partition selon une scheme donné, etc.
Traditionnelement, on crée des slices dans une table MBR, mais on peut également le faire en GPT. Cela donne alors des partitions ada2p1a, ada2p1b, ...ada2p2a, etc.
gpart create -s gpt ada1 ; add -t freebsd => slices: ada1s1
gpart create -s gpt ada1 ; add -t freebsd-ufs => part: ada1p1
gpart create -s bsd ada1 ; add -t freebsd-ufs => part; ada1a
gpart create -s mbr ada1 ; add -t freebsd => slices: ada1s1
|
root@zany:/home/cmic # gpart add -t freebsd-ufs -s 12GB ada2
ada2p1 added
root@zany:/home/cmic # gpart show -p ada2
=> 40 240121648 ada2 GPT (114G)
40 25165824 ada2p1 freebsd-ufs (12G)
25165864 214955824 - free - (102G)
- formatting the partition and mounting it
root@zany:/home/cmic #newfs /dev/ada2p1 #filesystem-type default is UFS2
...
root@zany:/home/cmic #mount /dev/ada2p1 /mnt
- Or you can label the disk and mount it:
root@zany:~ # glabel label mypart1 ada1p1
root@zany:~ # newfs -Uj /dev/label/mypart1
root@zany:~ # mount /dev/label/mypart1 /mnt
- recovering a corrupted disk (gpart shows: adaN "...GPT (114G) [CORRUPT]")
#gpart recover adaN
Add a disk
- le disque systeme est en ada0, le disque supplémentaire en ada1.
Faire : gpart show ada1 pour voir l'état des partitions
- supprimer les partitions existantes, puis le label
gpart delete -i 1 ada1
gpart delete -i 2 ada1
...
gpart destroy ada1
- facultativement on peut créer un disque GUID:
gpart create -s GPT ada1
- créer une partition sur tout le disque (sinon il faut dimensionner)
gpart add -t freebsd-ufs ada1
- puis formater (ya pas de slices !)
newfs ada1p1
Soft RAID 0
- gstripe permet de creer un RAID 0 avec 2 ou plusieurs disques. (handbook 18.1)
- Ex: avec 2 disques de 500GB /dev/ad1 et /dev/ada2 et 1 disque de 160GB /dev/ada3
#kldload geom_stripe #charger le module gstrip
#gstripe label -v st0 /dev/ada1 /dev/ada2 #resulting disc /dev/stripe/st0 is less than 1TB
#gconcat label -v disk /dev/stripe/st0 /dev/ada3
- On obtient un disque de ~960GB. On peut alors utiliser gpart, puis mkfs, puis growfs si c'est du UFS, etc.
Soft RAID 1
- gmiror permet de créer un RAID 1 de 2 ou plusiruers disques.
- la taille totale sera egale à la taille du plus petit disque
- On recommande ne pas creer de disque GPT car GPT et gmirror stockent tou les deux des infos en fin de disque.
- on a 2 disques: ada1 de 160GB et ada2 de 500G
#gmirror load
#gmirror label -v gm1 dev/ada1 /dev/ada2
Metadata value stored on /dev/ada1.
Metadata value stored on /dev/ada2.
Done.
- on cree donc un disque MBR (pas GPT, voir ci-dessus). On note que mirro/gm1 fait 149 GB , taille du plus petit des 2 disques
#gpart create -s MBR mirror/gm1
mirror/gm1 created
# gpart add -t freebsd mirror/gm1
..
- creation d'une partition BSD, *puis d'une slice freebsd
# gpart create -s BSD mirror/gm1s1
..
#gpart add -t freebsd mirror/gm1s1
..
#gpart show -p mirror/gm1
=> 63 312581744 mirror/gm1 MBR (149G)
63 1 - free - (512B)
64 312581736 mirror/gm1s1 freebsd (149G)
312581800 7
- utilisation: newfs, mount, cp files, etc...
#newfs -Uj /dev/mirror/gm1s1 && mount /dev/mirror/gm1s1 /mnt && cp -r /usr/local/bin /mnt
- ajouter dans fstab et charger le module dans /boot/loader.conf
#cat fstab
/dev/mirror/gm1s1 /mnt ufs rw 0 0
#cat /boot/loader.conf
geom_mirror_load="YES"
..
- reboot pour verifier que l'on retrouve mirror/gm1s1 monté sur /mnt
- scenari d'une panne: ada2 fait défaut, on ajoute des fichiers sur gm1s1. puis on insère à nouveau ada2
- il ya synchronisation du mirroir.
#gmirror remove gm1 ada2
.. ajout de fichiers sur /mtn (c.a.d. /dev/mirror/gm1s1)
#gmirror insert gm1 ada2
..
#gmirror status
Name Status Components
mirror/gm1 DEGRADED ada1 (ACTIVE)
ada2 (SYNCHRONIZING, 4%)
+FreeBSD? 11 and X11, Xorg, KMS, etc.
+Installer minidlna
Ai voulu installer minidlna. ai été obligé d'upgrader plein de paquets. Et puis des paquets ont été effacés (Grrr !) J'ai du réinstaller emacs24 (/usr/ports/editors/emacs), mais libiconv.la (la <=> libtool archive) avait été supprimée.
NB: les libtool archives (.la) sont abandonnés dans les nouvelles versions de FreeBSD?
1- chercher les dépendances de libiconv.la
#find /usr/local/lib -name '*.la' | xargs grep -l 'libiconv.la' | xargs pkg which
/usr/local/lib/libxml2.la was installed by package libxml2-2.8.0_3
/usr/local/lib/libwmf.la was installed by package libwmf-0.2.8.4_10
/usr/local/lib/libcddb.la was installed by package libcddb-1.3.2_2
/usr/local/lib/libcdio.la was installed by package libcdio-0.83_2
/usr/local/lib/libcdio++.la was installed by package libcdio-0.83_2
/usr/local/lib/libcdio_cdda.la was installed by package libcdio-0.83_2
/usr/local/lib/libcdio_paranoia.la was installed by package libcdio-0.83_2
/usr/local/lib/libiso9660.la was installed by package libcdio-0.83_2
/usr/local/lib/libiso9660++.la was installed by package libcdio-0.83_2
/usr/local/lib/libudf.la was installed by package libcdio-0.83_2
2- faire un rebuild de tous les packages trouvés
Il faut alors reconstruire tout ces paquets avec portmaster:
#portmaster libxml2
...
#portmaster libwmf
...
etc
3- puis refaire un make emacs
Ensuite relancer le port emacs. Si erreur, recommencer la procédure ci-dessus..
+Installation
- 10 things to do after installation https://bastillebsd.org/blog/2022/07/14/ten-things-to-do-after-installing-freebsd/
NB: /usr/sbin/sysinstall has been removed since 10.0. Replaced by bsdconfig and bsdinstall.
- Install normale...
- pkg_add -r emacs # -r so pkg_add searches for the right version)
- pkg_add -r xorg
- pour Gnome : # pkg_install -r gnome puis : echo /usr/local/bin/gnome-session > ~/.xinitrc
- pour Xfce4 : # pkg_add -r xfce4, puis echo startxfce4 > ~/.xinitrc
- setenv PAKAGEROOT ftp://ftp3.fr.freebsd.org pour faire les package_add a partir de ce site
- pkg_info -L < pkg_name
- Pas de xorg.conf ? Le creer sous root :
# Xorg -configure. Placer ensuite le fichier ~root/xorg.conf dans /etc/X11.
- Config du touchpad sur zazou (DELL latitude D600); http://wiki.freebsd.org/SynapticsTouchpad et suivre les instructions.
- Installer aussi : xrootconsole xscreensaver Eterm
- /etc/rc.conf overrides /etc/defaults/rc.conf. Faire les modifs dans ce dernier.
- Ne pas lancer sendmail : #echo sendmail_enable="NO" > /etc/rc.conf
- Ne pas lancer sendmail ni son listener : #echo sendmail_enable="NONE" > /etc/rc.conf
- X11, souris et clavier. Avec Xorg et les version 7, on peut utiliser une de 2 solutions suivantes
- sans hal : dans /etc/X11/xorg.conf :
Section "serverLayout"
..
Option "AutoAddDevices?" "off"
..
Section "InputDevice?"
Identifier "mouse0"
Driver,"mouse"
Option "protocol' "auto"
option "device" "/dev/sysmouse"
..
Section "InputDevice?"
Identifier "Keyboard0"
Option "KbModel?" "PC105"
Option "xkbVariant" "latin9"
Option "Xkblayout" "fr"
..
dans xorg.conf, modifier la section ServerLayout?
Section "serverLayout"
..
Option "AutoAddDevices?" "on"
dans /etc/rc.conf, ajouter les 2 lignes suivantes :
dbus_enable="YES"
hald_enable="YES"
puis recopier :
#cp /usr/local/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /usr/local/etc/hal/fdi/policy
Dans le fichier recopié, modifier ensuite les lignes :
<merge key="input.xkb.Layout" type="string">fr</merge>
<merge key="input.xkb.Variant" type="string">latin9</merge>
<merge key="input.xkb.Option" type="string">compose:rwin</merge>
enfin redemarrer hald et dbus
#service hald start
#service dbus start
<2009-11-18 14:08:04 cmic> fixed on 2014-04-16 17:31:24
Installation de flashplayer (sur FreeBSD? 8.0 release)
En fait il faut installer l'emulateur Linux (c'est un gros port) et ensuite le plugin linux flashplayer pour le Web Browser. Chaque utilisateur doit charger le plugin avec la commande :
prompt>nspluginwrapper -v -a i
On peut alors vérifier les plugins chargés en tapant "about:plugins" dans la barre d'adresse de FF par exemple.
Toutes infos ici : http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/desktop-browsers.html
-- Cmic 2010-07-07 21:53:46
Installation Carte son
Je ne sais pas le type de la carte installée (DELL D600). alors je charge tous les drivers son:
#kldload snd_driver
et je vérifie avec kldstat, puis avec dmesg et enfin je verifie le pîlote installé :
#cat /dev/sndstat
FreeBSD? Audio Driver (newpcm: 32 bit 2009061500/i386)
Installed devices:
pcm0: <Intel ICH4 (82801DB)>
at io 0xf4fff800 irq9 bufsz 16384 kld snd_ich [MPSAFE]
(1p:1v/1r:1v channels duplex default)
Manuel FreeBSD? Install parag. 7.2
-- Cmic 2010-07-08 19:04:17
+Jails & vms
+Misc
- monolith a tool to copy html+css+js pages [windows, FreeBSD?, Linux, etc.] https://github.com/Y2Z/monolith
- Nexcloud on FreeBSD? 13 https://vermaden.wordpress.com/2018/04/04/nextcloud-13-on-freebsd/
- Wireguard on FreeBSD? https://vlads.me/post/create-a-wireguard-server-on-freebsd-in-15-minutes/ and https://www.zenarmor.com/docs/network-security-tutorials/how-to-install-wireguard-on-freebsd
- How to reboot FreeBSD? a hardway in case a awry filesystem: sysctl debug.kbd.panic=1
- FreeBSD? Architecture Handbook http://docs.freebsd.org/en/books/arch-handbook
- FreeBSD? Performance Observability tools [gstat, iostat, dtrace, vm, ..] https://klarasystems.com/articles/freebsd-performance-observability/
- Hardware info base [find a driver for X] https://bsd-hardware.info/
- FreeBSD? Journal https://www.freebsdfoundation.org/journal/browser-based-edition/
- FreeBSD? on USB key or on HD http://nomadbsd.org/
- utilisation de cpdup on FreeBSD? ?
- FreeBSD? pf manual http://home.nuug.no/~peter/pf/en/unrouteables.html
- A silent FreeBSD? Server DIY https://vermaden.wordpress.com/2019/04/03/silent-fanless-freebsd-server-redundant-backup/
- Backup with ZFS and mbuffer and ssh w/ ZnapZend?: http://www.znapzend.org/
- Power management [lots of usefull commands] article https://vermaden.wordpress.com/2018/11/28/the-power-to-serve-freebsd-power-management/
- OpenBSD? Journal [with archives] https://undeadly.org/cgi?action=front
- FreeBSD? Architecture handbook https://www.freebsd.org/doc/en/books/arch-handbook/index.html
- A redundant load-balancing firewall system, using FreeBSD? http://redundancy.redundancy.org/fbsd_lb.html
- All FreeBSD? sources [from BSD 4 to FreeBSD? 11.x] https://svnweb.freebsd.org/base
- Disk setup on FreeBSD? [BPT, MBR, UEFI boot] http://www.wonkity.com/~wblock/docs/html/disksetup.html
- FreeBSD? UEFI root ZFS ans Windows install with http://kev009.com/wp/2016/07/freebsd-uefi-root-on-zfs-and-windows-dual-boot/
- Creating a Wifi Access Point (WAP) witg FreeBSD? https://calomel.org/freebsd_wireless_access_point.html
- A FreeBSD? 11 Desktop How-to, a complete article https://cooltrainer.org/a-freebsd-desktop-howto/
- L'auto-hébergement facile et sécurisé avec OpenBSD? https://yeuxdelibad.net/ah/
- many articles [writing rc, etc] https://www.freebsd.org/doc/en/articles/
- Soft update article [and ref to PDF paper] https://lwn.net/Articles/339337/
- Cloning a live FreeBSD? ZFS system [and other ZFS admin tasks] http://daemon-notes.com/articles/system/zfs-maintenance/clonezfs
- cflags to make files undeletables [linux chattr] man chflags(1)
- Installation, gestion, trucs et astuces sur OpenBSD? http://obsd4a.net/wiki/doku.php?id=start
- installation FreeBSD? http://olivier.cochard.me/bidouillage/installation-et-configuration-de-freebsd-comme-poste-de-travail
- DragonFly BSD Handbook http://www.dragonflybsd.org/docs/newhandbook/
- OpenBSD? errata (security patches) http://www.openbsd.org/errata.html
+Mounting CDROM and USB for a user
Utiliser devfs.conf(5). Exemple de fichier /etc/devfs.conf.
own acd0 root:cdrom
perm acd0 0660
own cdrom root:cdrom
perm cdrom 0660
own fd0 root:floppy
perm fd0 0660
Le propriétaire root ou le goupe floppy (:floppy) ont la permission d'écrire sur le floppy.
Pour que le montage d'un périphérique puisse être fait par un user :
#sysctl vfs.usermount=1
Ou bien dans /etc/syysctl.conf. Mais le point de montage doit appartenir au user.
Pour une clef USB, utiliser devfs.rules(5). Exemple de fichier /etc/devfs.rules
[usb_key=1]
add path 'da2*' mode 0660 user root group cdrom
A la detection, le /dev/da2s1 est cree (puis /dev/das2, ..),
Mieux : utiliser le montage automatique avec le daemon amd. Instalkler puis activer avec automounter_enable=yes dans /etc/rc.conf
Montage d'image iso avec mdconfig (vn et vnconfig sur les FreeBSD? < 5 ). A noter que les images Nero (extension .nrg) ont un entete de 150 blocks de 2048 qu'il faut supprimer pour transformer en format iso.
ref: http://www.diablotins.org/index.php/Media_amovibles
2011-02-10 10:03:22 -- Cmic
+Mounting an ISO image
1.Create a loop-back device with mdconfig
#mdconfig -a -t vnode -f PATH_TO_YOUR_ISO/ISOFILE.iso
2.Mount the created vnode to a folder (Replace /dev/mdX with your device node!).
#mount -t cd9660 /dev/mdX /cdrom
NB: See another example in mdconfig(8)
+Retrouver un boot BSD
Perdu le boot FreeBSD ? (OpenBSD ? ??) suite a install de windows
- fdisk -B -b /boot/boot0 device
- ou ceci, à vérifier ...
- boot0cfg -B ad0
+Snapshot et mdconfig FreeBSD?
1-Pour créer des snapshots de la partition /home seulement :
/home est en fait un lien vers /usr/home. Je reduis la partition usr (/dev/ad0s1f) de 5GB, je cree une nouvelle partition home de 5GB (/dev/ad0s1g). Puis sauvegardes dump, restauration, et zou !
- Ajout d'un disque externe usb en /dev/da0 pour dumper /usr
#bsdlabel /dev/da0 ; newfs -U /dev/da0 ; mount !$ /mnt
#/sbin/init 1
#umount /usr ; dump 0sf 500000 /dev/ad0s1f /dev/da0s1/usrdump
#bsdlabel -e /dev/ada0 ==> calcul des tailles des nouvelles partition f et g et mise en place...
Partitionnment avant de /dev/ad0s1 ...
6 partitions:
size offset fstype [fsize bsize bps/cpg]
a: 1048576 0 4.2BSD 2048 16384 8
b: 4125280 1048576 swap
c: 78140097 0 unused 0 0 # "raw" part, don't edit
d: 4159488 5173856 4.2BSD 2048 16384 28552
e: 1048576 9333344 4.2BSD 2048 16384 8
f: 67758177 10381920 4.2BSD 2048 16384 28552
Partitionnement apres de /dev/ad0s1 ...
7 partitions:
size offset fstype [fsize bsize bps/cpg]
a: 1048576 0 4.2BSD 2048 16384 8
b: 4125280 1048576 swap
c: 78140097 0 unused 0 0 # "raw" part, don't edit
d: 4159488 5173856 4.2BSD 2048 16384 28552
e: 1048576 9333344 4.2BSD 2048 16384 8
f: 57272417 10381920 4.2BSD 2048 16384 28552
g: 10485760 67654337 4.2BSD 2048 16384 28552
|
#newfs -U /dev/ad0s1f ; newfs -U /dev/ad0s1g
#etc..
2-Creation d'un memory disque sauvegardé dans un fichier (de nom "newimage")
mdconfig attach a memory disk (-a) (the /dev/md0) type (-t) vnode from file newimage, unit (-u) 0. Disklabel writes (-w) labels on md0 type auto. Newfs on /dev/md0.
# dd if=/dev/zero of=newimage bs=1k count=5k
# mdconfig -a -t vnode -f newimage -u 0
# disklabel -w md0 auto
# newfs md0
...
# mount /dev/md0 /mnt
... copies -> /mnt
et démontage, puis supression
# umount /mnt
# mdconfig -d -u 0
3-creation et montage d'un disque sur fichier avec mdmfs. Idem ci-dessus, mais mdmfs utilise mdconfig, newfs et mount.
# dd if=/dev/zero of=newimage bs=1k count=5k
# mdmfs -F newimage -s 5m md0 /mnt
....operations sur /mnt
#umount ...
4-Creation d'un disque RAM md1 de 5MB, label MonDisque?
#mdconfig -a -t malloc -s 5m -u 1
#newfs -L MonDisque? /dev/md1
5- Snapshots:
5.1- creer un snapshot avec mount option snapshot.
NB: Par defaut le file system est soft-updates UFS et journaled. Or le journaling est incompatible avec snapshot.
NB: le snap et son répertoire doivent etre sur le meme systeme de fichier
/dev/ada1p1 on /attic (ufs, local)
#mkdir /attic/.snap
#cd /
#mount -u -o snapshot /attic/.snap/test /attic
On peut monter le snapshot sur un vnode et extraire des fichiers :
#mdconfig -a -t vnode -o readonly -f /attic/.snap/test -u 4
#mount -r /dev/md4 /mnt
#cp /mnt/file-x /tmp
#umount /mnt && mdconfig -d -u 4
5.2- Creer un snaphot de /attic avec mksnap :
#mksnap_ffs /attic /attic/.snap/test2
find permet de trouveer les snaps :
#find /attic -flags snapshot
a partir du snapshot : sauvegarde, fsck, dump, montage en read-only, etc.
5.3- Et enfin enlever le snapshot:
#rm -rf /attic/.snap/test
+Upgrading to FreeBSD? X-release
- first, upgrade to last patch
#freebsd-update fetch install
- Then upgrade to FreeBSD? XX.0-RELEASE
# : > /usr/bin/bspatch
# freebsd-update upgrade -r 11.0-RELEASE
# freebsd-update install
# reboot
# freebsd-update install
then rebuild third-party software --> see Upgrading ports & packages
+Upgrading ports & packages
After upgrading FreeBSD ?, you have to update and upgrade packages and ports because the ABI has changed with the releaase change)
see https://docs.freebsd.org/en/books/handbook/cutting-edge/#updating-upgrading-freebsdupdate
particularly "24.2.3.2. Upgrading Packages After a Major Version Upgrade"
- To update the package list and upgrade *all* (-f) packages:
#pkg update
#pkg upgrade -f
..
Ex: Emacs24 doesn't exists so emacs25 is proposed.
..
Fetching libksba-1.3.4.txz: 100% 156 KiB? 160.0kB/s 00:01
Fetching libidn-1.33_1.txz: 100% 202 KiB? 207.2kB/s 00:01
Fetching libid3tag-0.15.1b_1.txz: 100% 57 KiB? 58.7kB/s 00:01
..
- OBSOLETE If the ports are not yet installed (first install of FreeBSD?), update the "port collection" with this portsnap command:
#portsnap fetch update
#portsnap extract
- NOTE: portsnap is obsolete. Now git is preferred tool for ports install & update
#pkg install git
#git clone https://git.FreeBSD.org/ports.git /usr/ports
-and update the ports when needed
#git -C /usr/ports pull
Before upgrading take a look at the content of /usr/ports/UPDATING and follox instructions, if ever.
- To upgrade all (-a) force (-f) whitout getting prompting for OK (-G) and no cleaning distfiles (-D) (or -d to clean distfiles):
#portmaster -G -af
Note: portmaster is a shell script, portupgrade is a Ruby script which needs Ruby to be installed)
All ports are browsed and actions on options are asked
- to upgade one port (this will upgrade and compile all dependancies)
#portmaster emacs
- After a portmaster command, you can delete distfiles which are not useful anymore
#portmaster --clean-distfiles
- After upgrading ports, do a freebsd-update to tie up all the loose ends in the upgrade process:
#freebsd-update install
Pour comparer les programmes installés aux versions dans les ports :
#portmaster -L --index-only | egrep '(ew|ort) version|total install'
===>>> New version available: bash-4.1.10
===>>> 674 total installed ports
- Ex: Mise a jour de perl5.10 vers perl5.12:
#portmaster -o lang/perl5.12 lang/perl5.10
When the port database index is corrupted :
NB: durant la manip j'ai une erreur "Updating the portsdb ..... 22713 port entries found error] remove and try again. Ce qui signifie que la bd index des ports est corrompue. La reconstruire :
#cd /usr/ports
#rm -rf INDEX*
#make index
#portsdb -Uu
|
-- 2024-01-31T21:32:15 maj -- Cmic maj 2016-11-08 11:29:06
+WIFI natif and with ndis
Manuel FreeBSD ? ici : http://www.freebsd.org/doc/en/books/handbook/network-wireless.html et docs FreeBSD ? wifi la http://www.linuxpedia.fr/doku.php/bsd/freebsd-wifi
Cas d'un Dell Latitude D600 FreeBSD? 8.0 avec une carte Wifi Intel wm3B2100. Il faut charger le module if_ipw avec kldload ou dans loader.conf en n'oubliant pas la license Intel (sinon erreur SIOCIFADDR2 !) :
...
if_ipw_load="YES" #Intel wireless
legal.intel_ipw.license_ack="1"
...
NB: a partir de FreeBSD? 8.0, le driver wlan est automatiquement chargés avec le driver hardware if_ipw. Les modules wlan_scan_ap_load wlan_scan_sta_load sont inclus dans wlan.
Toujours dans /boot/loader.conf :
...
wlan_wep_load="YES"
wlan_ccmp_load="YES" #load these 2 ones for
wlan_tkip_load="YES" #WAP security protocols
...
Ensuite configurer l'interface :
#ifconfig wlan0 create wlandev ipw0 inet 192.168.0.10 netmask 255.255.255.0
#ifconfig wlan0 list scan
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
A9F1BDF1DAB... de:8f:59:65:5c:35 10 11M -95:-95 100 IP
NEUF_89C8 00:17:33:56:89:cc 11 54M -95:-95 100 EP WPA WME
Neuf Wifi 00:17:33:56:89:cd 11 54M -95:-95 100 E WME
SFR Wifi Pu... 00:17:33:56:89:ce 11 54M -95:-95 100 E WME
Legende CAPS : voir http://www.freebsd.org/doc/en/books/handbook/network-wireless.html
- E
- extended service (BSS not IBSS)
- I
- IBSS Had hoc network
- P
- privacy required (WEP or WAP or..)
- S
- Short preambe (56 bits)
- s
- short slot time
WIFI with NDIS
Cas d'un Dell Latitude D600 avec une carte Wifi Intel wm3a2100. Cette carte ne possède pas de driver pour FreeBSD?. On va donc utiliser les pilotes Windows et les fichier NDIS. On récupère les fichier .sys et .inf de la carte, puis on compile le pilote :
#ndisgen w70n501.inf w70n51.sys
...
NB: il y a peut-être un driver pour Intel mini PCI 2100 : if_ipw (cf man ipw) FIXME
Ce qui génère le fichier w70n51_sys.ko que l'on peut charger immédiatement avec kldload. Pour que ce chargement se fasse au boot, placer ce fichier dans le répertoire /boot/modules et modifier le fichier /boot/loader.conf :
..
ndisload="YES"
if_ndis_load="YES"
wlan="YES"
wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"
w70n51_sys.ko_load="YES"
...
Au boot, on doit avoir la ligne ndis0 :
#ifconfig ndis0
ndis0: flags=8843<....
ether 00:0c:f1:43::d6:38
media: IEEE 802.11 Wireless ...
status: no carrier
Il faut ensuite associer ce device a un pseudo device wlan ;
#ifconfig wlan create wlandev ndis0 up
....ifconfig montre alors maintenant wlan0
#ifconfig wlan0 list scan
.. afichage de la liste de tous les spots visibles
#ifconfig wlan0 inet 192.168.1.5
#ifconfig wlan0 ssid chipmunk
Remplir le fichier /etc/wap_supplicant.conf :
network={
ssid="chipmunk"
scn_ssid=1
psk="le motDePasseDeLaCLefWap?"
}
L'interface wlan0 est toujours marquee "no carrier". Il faut l'associer au ssid de l'ap
/etc/rc.d/wpa_supplicant start wlan0
ce qui lance la commande suivante :
/usr/sbin/wpa_supplicant -s -B -i wlan0 -c /etc/wpa_supplicant.conf \ -D ndis -P /var/run/wpa_supplicant/wlan0.pid
Mais alors, il faut configurer l'adresse TCP/IP de wlan0 puisque le DHCP n'a pas été configuré.
#ifconfig wlan0 192.168.1.2 netmask 255.255.255.0
On peut alors pinger l'AP.
Tester ci-dessous
Pour que l'interface soit configurée au démarrage, placer les lignes suivantes dans le fichier /etc/rc.conf :
wlans_ndis0="wlan0"
ifconfig_wlan0="ssid xxxxx DHCP"
ou
ifconfig_wlan0="ssid xxxxx 192.168.0.5 mask 255.255.255.0"
create_args_wlan0="wlanmode sta country FR"
Mais pour que DHCP fonctionne, il faut sans doute installer dhcpcd (/usr/ports/net/dcpcd)...
wlans_rum0="wlan0"
ifconfig_wlan0="DHCP"
NB: see doc in the entry 20080420 in /usr/src/UPDATING
+ZFS
- ZFS ZPOOL iostat https://klarasystems.com/articles/openzfs-using-zpool-iostat-to-monitor-pool-perfomance-and-health/
- ZFS storage efficiency calculator https://openzfs.github.io/openzfs-docs/Basic%20Concepts/RAIDZ.html
- ZFS nfsv3 nfsv4 server and client and autofs https://geekandnix.com/freebsd/install-nfs/
- ZFS draid online calculator
- ZFS draid internals and calculator https://jro.io/truenas/openzfs/#draid
- ZFS draid howto internals https://github.com/openzfs/zfs/wiki/dRAID-HOWTO/001b44728e1ac3329a4d91be97bcd565a8f351b7
- ZFS draid performance reddit article https://www.reddit.com/r/zfs/comments/ydct9a/draid_performance_with_32_drives/
- ZFS basis tutorial https://www.thomas-krenn.com/en/wiki/ZFS_dRAID_Basics_and_Configuration
- ZFS space, efficiency calculator
- read write stats iozstat tool https://github.com/jimsalterjrs/ioztat
- Using ZFS NFS sharenfs https://klarasystems.com/articles/nfs-shares-with-zfs/
- From Recovery Mode to Normal Operations with OpenZFS? Manipulating a Pool from the Rescue System https://klarasystems.com/articles/manipulating-a-pool-from-the-rescue-system/
- Problem: ZFS loads before disks are ready
- verify zfs_enable=YES in /etc/rc.conf
- verify zfs_load="YES" in /boot/loader.conf
- add 2 sysctl vars in boot/loader.conf:
- kern.cam.boot_delay: ==>Bus registration wait time)
- and kern.cam.scsi_delay ==>Delay to allow devices to settle after a SCSI bus reset (in ms)
- To boot from another version of ZFS (present as old version for ex.) with bectl
|