Differences

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

Link to this comparison view

Both sides previous revision Previous revision
project:kernellab:bsd [2021/03/19 21:22]
maxfx removed
— (current)
Line 1: Line 1:
-====== Fundamentals of FreeBSD ====== 
  
-===== Getting Started with FreeBSD ​ ===== 
-[[https://​unixsheikh.com/​articles/​why-you-should-migrate-everything-from-linux-to-bsd.html | Why you should migrate everything from Linux to BSD ]] 
-[[https://​unixsheikh.com/​articles/​technical-reasons-to-choose-freebsd-over-linux.html#​introduction | Technical reasons to choose freebsd over linux ]] 
-[[https://​www.digitalocean.com/​community/​tutorial_series/​getting-started-with-freebsd | Getting Started with FreeBSD ​ ]] 
-[[https://​svnweb.freebsd.org/​base/​head/​share/​misc/​bsd-family-tree?​view=co | BSD Tree ]] 
- 
-===== The Kernel Boot Process ===== 
- 
-[[https://​distkeys.com/​operating%20systems/​2014/​07/​08/​boot-freebsd.html| Boot Freebsd ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2014/​08/​03/​system-call.html | System Call  ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2014/​08/​04/​open-system-call.html | Open System Call ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2014/​12/​31/​fork-freebsd.html| Fork]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2014/​12/​31/​signal-code-in-freebsd.html| Signal]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2015/​01/​02/​virtual-memory-1.html| Virtual memory 1 ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2015/​01/​02/​virtual-memory-2.html| Virtual memory 2 ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2015/​01/​02/​virtual-memory-3.html| Virtual memory 3 ]] 
- 
-[[https://​distkeys.com/​operating%20systems/​2015/​04/​12/​virtual-memory-4.html| Virtual memory 4 ]] 
- 
-[[https://​bsdmag.org/​basic-unix-queuing-techniques/​ | Kernel Mode Queues ]] 
- 
-[[https://​bsdmag.org/​dynamic-memory-allocation-unix-systems/​| Dynamic Memory Allocation in Unix Systems ]] 
- 
-===== The Kernel ===== 
- 
-[[https://​kernelnomicon.org/?​p=682 | 64-bit U-Boot on Raspberry Pi 3 ]] 
- 
-[[https://​www.bsdcan.org/​2008/​schedule/​attachments/​49_2008_uboot_freebsd.pdf| Interfacing FreeBSD with U-Boot]] 
- 
-[[https://​bsdimp.blogspot.cz/​2007/​10/​building-bootable-freebsdi386-images.html| ​ Building bootable FreeBSD/​i386 images ​ ]] 
- 
-[[https://​www.cl.cam.ac.uk/​research/​security/​ctsrd/​pdfs/​201403-asiabsdcon2014-freebsd-smp-boot.pdf| How FreeBSD Boots: a soft-core MIPS perspective]] 
- 
-[[http://​www.isysop.com/​unpacking-and-repacking-u-boot-uimage-files/​|http://​www.isysop.com/​unpacking-and-repacking-u-boot-uimage-files/​]] 
- 
-[[http://​www.isysop.com/​unpacking-and-repacking-u-boot-images-part-2/​| http://​www.isysop.com/​unpacking-and-repacking-u-boot-images-part-2/​]] 
- 
-[[https://​github.com/​bitboss-ca/​freebsd-arm-tools|https://​github.com/​bitboss-ca/​freebsd-arm-tools]] 
- 
-[[https://​raybsd.blogspot.cz/​2012/​12/​|https://​raybsd.blogspot.cz/​2012/​12/​]] 
- 
-[[https://​distkeys.com/​blog/​2014/​08/​03/​inside-freebsd/​|http://​distkeys.com/​blog/​2014/​08/​03/​inside-freebsd/​]] 
- 
-[[https://​www.digitalocean.com/​community/​tutorials/​how-to-install-and-manage-ports-on-freebsd-10-1|https://​www.digitalocean.com/​community/​tutorials/​how-to-install-and-manage-ports-on-freebsd-10-1]] 
- 
- 
-===== FreeBSD Kernel Porting Guide ===== 
- 
-[[https://​www.freebsd.org/​doc/​en_US.ISO8859-1/​books/​arch-handbook/​index.html | FreeBSD Architecture Handbook]] 
- 
-==== Do you like backdoors ? ==== 
- 
-[[https://​elkamika.blogspot.com/​2019/​09/​freebsd-kernel-icmp-backdoor-part-3.html| https://​elkamika.blogspot.com/​2019/​09/​freebsd-kernel-icmp-backdoor-part-3.html]] 
- 
-[[https://​elkamika.blogspot.com/​2019/​09/​freebsd-kernel-stack-unrolling-and-safe.html | https://​elkamika.blogspot.com/​2019/​09/​freebsd-kernel-stack-unrolling-and-safe.html ]] 
-==== Kernel Porting to ARM Board ==== 
- 
-[[https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-1/​|https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-1/​]] 
- 
-[[https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-2/​|https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-2/​]] 
- 
-[[https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-3/​|https://​www.bidouilliste.com/​blog/​2015/​11/​27/​Porting-FreeBSD-to-a-new-ARM-Board-Part-3/​]] 
- 
-==== NetBooting ARM/MIPS ==== 
- 
-[[https://​kernelnomicon.org/?​p=306 | Netbooting ARM/MIPS devices: server setup ]] 
- 
-[[https://​kernelnomicon.org/?​p=327 | Netbooting ARM/MIPS devices: kinds of kernel and u-boot ]] 
- 
- 
-==== Kernel Debug, BackTrace ==== 
-[[https://​backtrace.io/​blog/​backtrace/​improving-freebsd-kernel-debugging/​]] 
- 
-[[https://​gist.github.com/​bijanebrahimi/​f2eb0c620d81aa6234e121a0ddd88cc2]] 
- 
-[[https://​forums.freebsd.org/​threads/​ctl-alt-esc-not-taking-me-to-kernel-debugger.40111/​]] 
- 
-[[https://​riptutorial.com/​freebsd/​example/​23734/​download-the-latest-source-code]] 
- 
-[[https://​elkamika.blogspot.com/​2019/​06/​freebsd-kernel-remote-debugging-part1.html?​m=1]] 
- 
-[[https://​blog.hostileadmin.com/​2012/​09/​25/​so-you-want-a-freebsd-debugging-kernel/​]] 
- 
- 
-==== Extended firmware interface (Efi) ==== 
-[[https://​bsdmag.org/​beyond-bios-the-extended-firmware-interface-efi/​ | https://​bsdmag.org/​beyond-bios-the-extended-firmware-interface-efi/​]] 
- 
- 
-==== Internal Talks ==== 
- 
-[[https://​www.youtube.com/​watch?​v=nwbqBdghh6E|FreeBSD Kernel Internals, Dr. Marshall Kirk McKusick ]] 
- 
-[[https://​www.youtube.com/​watch?​v=UfiTV9QWhM4|An Overview of Locking in the FreeBSD Kernel - Kirk McKusick, EuroBSDcon 2012 ]] 
- 
-[[https://​www.youtube.com/​watch?​v=E04LxKiu79I|An Overview of Security in the FreeBSD Kernel, Dr. Marshall Kirk McKusick ]] 
- 
-[[https://​www.youtube.com/​watch?​v=ds77e3aO9nA|A Narrative History of BSD, Dr. Kirk McKusick]] 
- 
-[[https://​www.youtube.com/​watch?​v=_oWcfUt9QUs|Systems,​ Science and FreeBSD, George Neville-Neil]] 
- 
-[[https://​www.youtube.com/​watch?​v=D-iKNtfBySg|The Realities of DTrace on FreeBSD, by George Neville Neil (EuroBSDcon 2017)]] 
- 
-[[https://​www.youtube.com/​watch?​v=WnCClGMzB58|Tuning FreeBSD for routing and firewalling,​ by Olivier Cochard-Labbé (EuroBSDcon 2017)]] 
- 
-[[https://​www.youtube.com/​watch?​v=NMUf6VGK2fI|Brian Kidney: The Realities of DTrace on FreeBSD - BSDCan 2017 ]] 
- 
-[[https://​www.youtube.com/​watch?​v=8f9TREeqb5o|An introduction to the implementation of ZFS by Kirk McKusick]] 
- 
-[[https://​www.youtube.com/​watch?​v=IQp_FglfzUQ|ZFS Internals Overview by Kirk McKusick ]] 
- 
- 
-==== FreeBSD is not a Linux distribution ==== 
- 
-[[https://​www.youtube.com/​watch?​v=wwbO4eTieQY|FreeBSD:​ Not a Linux Distro, George Neville-Neil ]] 
- 
-[[https://​www.youtube.com/​watch?​v=ps67ECyh0sM|FreeBSD is not a Linux distribution:​ Philip Paes]] 
- 
-[[https://​www.youtube.com/​watch?​v=cofKxtIO3Is|Convincing a Linux guy to use FreeBSD :-) ]] 
- 
-[[https://​www.youtube.com/​watch?​v=XnO4S7kb7vg|What is FreeBSD by Gavin Atkinson]] 
- 
-[[https://​www.youtube.com/​watch?​v=A5rmG2j4Lk8|Case Study: Switching from Linux to FreeBSD ]] 
- 
-[[https://​www.youtube.com/​watch?​v=Mri66Uz6-8Y|Jordan Hubbard - FreeBSD: The Next 10 Years]] 
- 
-[[https://​www.youtube.com/​watch?​v=TneLO5TdW_M|Rick Reed - WhatsApp: Half a billion unsuspecting FreeBSD users]] 
- 
-[[https://​www.youtube.com/​watch?​v=YsBxS2WswBw | Michael W. Lucas talks FreeBSD ]] 
- 
-[[https://​www.youtube.com/​watch?​v=Ib7tFvw34DM|The Trouble with FreeBSD ]] 
- 
-[[https://​www.youtube.com/​watch?​v=5mv_oKFzACM| NYLUG Presents: George Neville-Neil on FreeBSD and Linux, a comparative analysis (Feb 19, 2014)]] 
- 
-[[https://​www.youtube.com/​watch?​v=CehSeSVgEUA|LFNW 2018: Switching to the BSDs: A crash course in FreeBSD, FreeNAS, TrueOS and OpenBSD ]] 
- 
-[[https://​www.youtube.com/​watch?​v=7kShjboN6ek&​list=PLnTFqpZk5ebBqq5-LCFPLjPMxe4Ml7Fc8&​index=2 | George Neville-Neil,​ Security Fantasies and Realities for the BSDs]] 
- 
- 
-==== FreeBSD BSDCons ==== 
-[[https://​www.youtube.com/​watch?​v=E8kAVmvlBLQ&​list=PLeF8ZihVdpFegPoAKppaDSoYmsBvpnSZv&​index=1 | BSDCon 2019]] 
- 
-[[https://​www.youtube.com/​watch?​v=SeQ345njH1s&​list=PLeF8ZihVdpFfkICtA2HFsZecdC28_mrQh | BSDCon 2018 ]] 
- 
-==== FreeBSD ASIANBSDCON 2018 ==== 
- 
-[[https://​www.youtube.com/​watch?​v=e1B_6iGY2lU|P01A:​ Institutionalizing FreeBSD Isolated and Virtualized Hosts -- Michael Dexter]] 
- 
-[[https://​www.youtube.com/​watch?​v=SLlzep0IxVY|P02A:​ Tuning FreeBSD for routing and firewalling -- Olivier Cochard Labbe]] 
- 
-[[https://​www.youtube.com/​watch?​v=bwbLuQDoxuQ|P03A:​ PC BSD evolves into TrueOS - Kris Moore]] 
- 
-[[https://​www.youtube.com/​watch?​v=Y5cx9hEhxfE|P04A:​ FreeBSD ARM32ARM64 Porting to a new board - Emmanuel Vadot]] 
- 
-[[https://​www.youtube.com/​watch?​v=NeJ2ztPasso|P05A:​ Profiling the FreeBSD kernel boot -- Colin Percival]] 
- 
-[[https://​www.youtube.com/​watch?​v=FzF9e4jrnJ4|P06A:​ Role based Access Control in BCHS Web Applications -- Kristaps Dzonsons]] 
- 
-[[https://​www.youtube.com/​watch?​v=vOVoylirkUU|P07A:​ OpenBSD/​x-ray:​ OpenBSD on medical x-ray machines -- Henning Brauer]] 
- 
-[[https://​www.youtube.com/​watch?​v=bBLSvTQY7xw|P08A:​ Improving netdump hardware support and performance with iflib -- Sam Gwydir]] 
- 
-[[https://​www.youtube.com/​watch?​v=9mOFFovdAw0|P09A:​ Introducing FreeBSD VPC -- Sean Chittenden]] 
- 
-[[https://​www.youtube.com/​watch?​v=lcrnXQ7xp7k|AsiaBSDCon 2018 Work in Progress Session and Closing]] 
- 
-==== FreeBSD ASIANBSDCON 2017 ==== 
- 
-[[https://​www.youtube.com/​watch?​v=9zyF7Kbxj3o|AsiaBSDCon 2017 Opening - Hiroki Sato]] 
- 
-[[https://​www.youtube.com/​watch?​v=tuqADfhqwa8|P01A:​ Understandings NFSv4 ACLs - John Hixson]] 
- 
-[[https://​www.youtube.com/​watch?​v=V_HqMATqtlA|P01B:​ Bulk building in the many core era - Joerg Sonnenberger]] 
- 
-[[https://​www.youtube.com/​watch?​v=5Cni50vnlto|P01C:​ OpenBSD pf+rdomains create splendid multi tenancy firewalls - Philipp Buehler]] 
- 
- 
-===== Tweaking a Running Kernel ===== 
- 
-==== Tuning tips ==== 
-[[https://​calomel.org/​freebsd_network_tuning.html|FreeBSD network tuning]] 
- 
-[[https://​calomel.org/​network_performance.html|Network performance]] 
- 
-[[https://​cooltrainer.org/​a-freebsd-desktop-howto/​|https://​cooltrainer.org/​a-freebsd-desktop-howto/​]] 
- 
-[[http://​www.packetwatch.net/​documents/​guides/​2008030201.php|http://​www.packetwatch.net/​documents/​guides/​2008030201.php]] 
- 
-[[https://​home.nuug.no/​~peter/​pf/​en/​|Firewalling with OpenBSD'​s PF packet filter]] 
- 
-[[https://​www.freebsdnews.com/​2017/​07/​18/​building-bsd-home-router-pt-4-installing-pfsense/​|Building-bsd-home-router-pt-4-installing-pfsense/​]] 
- 
-[[https://​www.digitalocean.com/​community/​tutorials/​a-comparative-introduction-to-freebsd-for-linux-users|comparative-introduction-to-freebsd-for-linux-users ]] 
- 
-[[http://​truelogic.org/​wordpress/​2015/​09/​24/​freebsd-how-to-clean-and-rebuild-all-ports-with-portmaster/​|How to clean and rebuild all ports with Portmaster]] 
- 
-[[http://​www.wonkity.com/​~wblock/​docs/​html/​disksetup.html|http://​www.wonkity.com/​~wblock/​docs/​html/​disksetup.html]] 
- 
-[[http://​www.freebsdmadeeasy.com/​tutorials/​freebsd/​schedule-tasks-with-crontab.php|schedule-tasks-with-crontab]] 
- 
-[[http://​blog.up-link.ro/​how-to-set-up-a-freebsd-router-step-by-step-tutorial/​|Freebsd router step by step]] 
- 
-[[https://​unixblogger.com/​2011/​10/​18/​the-pain-of-an-realtek-rtl8111rtl8168-ethernet-card/​|The pain of a Realtek (RTL8111/​RTL8168) ethernet card]] 
- 
-[[http://​blog.ataboydesign.com/​2014/​04/​23/​freebsd-10-mounting-usb-drive-with-ext4-filesystem/​|Mounting drive with ext4 filesystem]] 
- 
-[[https://​www.garron.me/​en/​bits/​change-permissions-recursively.html|Change permissions]] 
- 
-[[https://​unrelenting.technology/​articles/​freebsd-on-the-thinkpad-x240|Freebsd on the Thinkpad x240]] 
- 
-====  FreeBSD Broadcom Wi-Fi ==== 
-[[https://​landonf.org/​code/​freebsd/​Broadcom_WiFi_Improvements.20180122.html| Landon Fuller: FreeBSD Broadcom Wi-Fi Improvements ]] 
- 
-==== Linux® emulation in FreeBSD ==== 
- 
-[[https://​www.freebsd.org/​doc/​en_US.ISO8859-1/​articles/​linux-emulation/​article.html | Linux® emulation in FreeBSD ]] 
- 
-==== How to Become a FreeBSD Committer ==== 
- 
-[[https://​wiki.freebsd.org/​BecomingACommitter|How to Become a FreeBSD Committer]] 
- 
-==== Bios ==== 
-[[http://​opensecuritytraining.info/​IntroBIOS_files/​Day1_01_Advanced%20x86%20-%20BIOS%20and%20SMM%20Internals%20-%20QuickAsideTools.pdf | Intro to BIOS]] 
- 
- 
- 
-====== Bhyve Hypervisor ====== 
- 
-* [[https://​wiki.freebsd.org/​bhyve | bhyve hypervisor ]] 
- 
- 
-====== Build ports ====== 
- 
-==== Reference ==== 
- 
-* [[https://​networking.ringofsaturn.com/​Unix/​createportpatch.php|Creating a FreeBSD Port Patch]] 
- 
-* [[http://​zewaren.net/​site/​node/​172|Build your own FreeBSD ports and make packages out of them using jails, poudriere and portshaker ]] 
- 
-* [[https://​www.freebsd.org/​doc/​handbook/​ports-poudriere.html|Building Packages with Poudriere]] 
- 
-* [[https://​github.com/​freebsd/​poudriere/​wiki|Poudriere wiki]] 
- 
-* [[http://​www.freebsd.cz/​doc/​en/​books/​porters-handbook/​own-port.html|Making a New Port]] 
- 
- 
-==== Portmaster ==== 
- 
-<​code>​ 
-portmaster -L - Check all update for ports 
-portmaster -a - Upgrade ports 
-portmaster -af - Rebuild of installed application 
-</​code>​ 
- 
-==== Build ports with Poudriere ==== 
- 
-Create it ports tree for poudriere ​ 
-<​code>​ 
-poudriere ports -c 
-</​code>​ 
- 
-Configure poudriere, file system, ram, etc... 
-<​code>​ 
-/​usr/​local/​etc/​poudriere.conf 
-</​code>​ 
- 
-List port tree 
-<​code>​ 
-poudriere ports -l 
- 
-PORTSTREE METHOD ​  ​TIMESTAMP ​          PATH 
-default ​  ​portsnap 2019-07-10 21:47:49 /​usr/​local/​poudriere/​ports/​default 
-</​code>​ 
- 
-Create it jail for build and the target system ​ 
-<​code>​ 
-poudriere jail -c -j freebsd_11-2x64 -v 11.2-RELEASE -a amd64 
-</​code>​ 
- 
- 
-List the jails 
-<​code>​ 
-sudo poudriere jail -l 
- 
-JAILNAME ​       VERSION ​         ARCH  METHOD TIMESTAMP ​          PATH 
-freebsd_11-2x64 11.2-RELEASE-p11 amd64 ftp    2019-07-10 20:48:07 /​usr/​local/​poudriere/​jails/​freebsd_11-2x64 
-</​code>​ 
- 
- 
-Copy your port files to /​usr/​local/​poudriere/​default/​ 
-and then build it port for example 
- 
-<​code>​ 
-sudo poudriere testport -o lang/halide -j freebsd_11-2x64 
-</​code>​ 
- 
-==== Debug ports ==== 
- 
-Just put the following line to /​etc/​make.conf. Then recompile port with debug symbol. 
- 
-<​code>​ 
-WITH_DEBUG= ​   yes 
-</​code>​ 
- 
-more information in 
- 
-<​code>​ 
-/​usr/​ports/​Mk/​bsd.port.mk 
-</​code>​ 
- 
-==== Debug Makefile ==== 
- 
-Debug makefile for your port 
- 
-<​code>​ 
-make -d A 
-</​code>​ 
- 
- 
-====== Desktop tips ====== 
- 
-==== FoldingHome on FreeBSD ==== 
- 
-[[https://​www.leidinger.net/​blog/​2020/​03/​19/​fighting-the-coronavirus-with-freebsd-foldinghome/​ | Folding home on FreeBSD ]] 
- 
-==== Steam on FreeBSD ==== 
- 
-[[https://​github.com/​SteamOnFreeBSD/​SteamOnFreeBSD|Steam on FreeBSD]] 
- 
-==== Bitcoin Full Node ==== 
- 
-[[https://​bsdmag.org/​5374-2/​|https://​bsdmag.org/​5374-2/​]] 
- 
-==== Tuning Power Laptops ==== 
- 
-[[https://​wiki.freebsd.org/​TuningPowerConsumption|https://​wiki.freebsd.org/​TuningPowerConsumption]] 
- 
-==== Optimus on Freebsd - Hot fix ==== 
- 
-Comment out Nvidia-related parts from your [[https://​www.freebsd.org/​cgi/​man.cgi?​xorg.conf|xorg.conf ]]: 
- 
-<​code>​ 
-... 
- 
-Section "​Device"​ 
-    Identifier ​ "​Card0"​ 
-    Driver ​     "​intel"​ 
-    BusID       "​PCI:​0:​2:​0"​ 
-EndSection 
- 
-#Section "​Device"​ 
-#   ​Identifier ​ "​Card1"​ 
-#   ​Driver ​     "​nvidia"​ 
-#   ​BusID ​      "​PCI:​1:​0:​0"​ 
-#EndSection 
- 
-... 
-</​code>​ 
- 
-Then add the following bits to [[https://​www.freebsd.org/​cgi/​man.cgi?​rc.conf|rc.conf(5) ]]: 
- 
-<​code>​ 
-kld_list='​i915kms'​ 
-</​code>​ 
- 
-==== NTPD synchronize ==== 
- 
-<​code>​ 
-ntpdate_enable="​YES"​ 
-ntpdate_hosts="​in.pool.ntp.org"​ 
-</​code>​ 
- 
-Or manually update time and date <WRAP center round important 60%> securelevel on 2 then you cannot set time only about second. </​WRAP>​ 
- 
-<​code>​ 
-ntpdate -b pool.ntp.org 
-sudo service ntpd start 
-</​code>​ 
- 
-==== Disable Beep ==== 
- 
-<​code>​ 
-# sysctl hw.syscons.bell=0 
-</​code>​ 
- 
-or if you use XFCE 
- 
-<​code>​ 
-set bell-style none 
-</​code>​ 
- 
-==== Change standard shell to fish ==== 
- 
-You must add line in /etc/shells for example fish shell 
- 
-<​code>​ 
-/​usr/​local/​bin/​fish 
-</​code>​ 
- 
-Change shell and path your favorite shell 
- 
-<​code>​ 
-chsh -s /​usr/​local/​bin/​fish 
-</​code>​ 
- 
-=== Paths for shell === 
- 
-If you need PATH for example compiler or some options 
- 
-<​code>​ 
-# ASAN settings 
-set -x ASAN_SYMBOLIZER_PATH /​usr/​local/​llvm50/​bin/​llvm-symbolizer 
-set -x ASAN_OPTIONS verbosity=1 
-set -x ASAN_OPTIONS symbolize=1 
-set -x ASAN_OPTIONS detect_stack_use_after_scope=1 
- 
-# UBSAN settings 
-set -x UBSAN_SYMBOLIZER_PATH /​usr/​local/​llvm50/​bin/​llvm-symbolizer 
-set -x UBSAN_OPTIONS verbosity=2 
- 
-# MSAN 
-set -x MSAN_SYMBOLIZER_PATH /​usr/​local/​llvm50/​bin/​llvm-symbolizer 
-set -x MSAN_OPTIONS fsanitize-memory-track-origins=2 
-set -x MSAN_OPTIONS verbosity=2 
-set -x MSAN_OPTIONS symbolize=1 
-</​code>​ 
- 
-==== Nano tuning ==== 
- 
-<​code>​ 
-set constantshow 
-set smooth 
-set autoindent 
-set casesensitive 
-set historylog 
-set morespace 
- 
-syntax "​comments"​ "​.*"​ 
-color blue "​^#​.*"​ 
- 
-## nanorc files 
-include "/​usr/​local/​share/​nano/​asm.nanorc"​ 
-include "/​usr/​local/​share/​nano/​awk.nanorc"​ 
-include "/​usr/​local/​share/​nano/​c.nanorc"​ 
-include "/​usr/​local/​share/​nano/​cmake.nanorc"​ 
-include "/​usr/​local/​share/​nano/​css.nanorc"​ 
-include "/​usr/​local/​share/​nano/​debian.nanorc"​ 
-include "/​usr/​local/​share/​nano/​fortran.nanorc"​ 
-include "/​usr/​local/​share/​nano/​gentoo.nanorc"​ 
-include "/​usr/​local/​share/​nano/​groff.nanorc"​ 
-include "/​usr/​local/​share/​nano/​html.nanorc"​ 
-include "/​usr/​local/​share/​nano/​java.nanorc"​ 
-include "/​usr/​local/​share/​nano/​makefile.nanorc"​ 
-include "/​usr/​local/​share/​nano/​man.nanorc"​ 
-include "/​usr/​local/​share/​nano/​mgp.nanorc"​ 
-include "/​usr/​local/​share/​nano/​mutt.nanorc"​ 
-include "/​usr/​local/​share/​nano/​nanorc.nanorc"​ 
-include "/​usr/​local/​share/​nano/​objc.nanorc"​ 
-include "/​usr/​local/​share/​nano/​ocaml.nanorc"​ 
-include "/​usr/​local/​share/​nano/​patch.nanorc"​ 
-include "/​usr/​local/​share/​nano/​perl.nanorc"​ 
-include "/​usr/​local/​share/​nano/​php.nanorc"​ 
-include "/​usr/​local/​share/​nano/​pov.nanorc"​ 
-include "/​usr/​local/​share/​nano/​python.nanorc"​ 
-include "/​usr/​local/​share/​nano/​ruby.nanorc"​ 
-include "/​usr/​local/​share/​nano/​sh.nanorc"​ 
-include "/​usr/​local/​share/​nano/​tcl.nanorc"​ 
-include "/​usr/​local/​share/​nano/​tex.nanorc"​ 
-include "/​usr/​local/​share/​nano/​xml.nanorc"​ 
-</​code>​ 
- 
-==== QT Creator - Debugging ==== 
- 
-I cannot debug C/C++ programs because message "No symbol table is loaded. Use the \"​file\"​ command"​ … 
- 
-Best solution is install //​devel/​gdb//​ with path ///​usr/​local/​bin/​gdb//​ 
- 
-====== Touchpad ====== 
- 
-===== Touchpad reference =====  ​ 
-[[https://​forums.freebsd.org/​threads/​how-to-use-synaptics-driver-for-better-touchpad-features.54872/​]] 
- 
-[[http://​freebsd.1045724.x6.nabble.com/​Glidepoint-Scrolling-td4084250.html]] 
- 
-[[https://​www.freebsd.org/​doc/​en_US.ISO8859-1/​books/​faq/​x.html#​idp59892168]] 
- 
-[[https://​forums.freebsd.org/​threads/​synaptics-touchpad-on-dell-inspiron-5150.19707/​]] 
- 
-[[http://​kenbsd.blogspot.com/​2015/​12/​setting-up-horizontal-scroll-on-freebsd.html]] 
- 
-[[https://​www.reddit.com/​r/​freebsd/​comments/​7o2v62/​your_xorgconfd_touchpad_configuration/​]] 
- 
-[[https://​forums.freebsd.org/​threads/​synaptics-touchpad-right-key-on-r60.10125/​]] 
- 
-[[https://​forums.freebsd.org/​threads/​solved-mouse-pointer-wont-move-for-acer-laptop-touchpad.37329/​]] 
- 
-[[https://​lists.freebsd.org/​pipermail/​freebsd-x11/​2009-July/​008638.html]] 
- 
-[[https://​forums.freebsd.org/​threads/​touchpad-not-recognized-generic-ps-2-mouse-instead.50318/#​post-281745]] 
- 
-[[https://​forums.freebsd.org/​threads/​synaptics-driver-not-loading-elantech-touchpad.59207/#​post-339241]] 
- 
-[[https://​forums.freebsd.org/​threads/​cannot-manage-display-mouse-from-xfce4-settings-menus.63988/#​post-371562]] 
- 
- 
-====== Mount ====== 
- 
-==== Mount msdosfs ==== 
- 
-<​code>​ 
-# ls /dev/da* 
-# mount_msdosfs /dev/da0 /media/usb 
-</​code>​ 
- 
-==== ReMount /etc/fstab ==== 
- 
-<​code>​ 
-mount -av 
-</​code>​ 
-==== Mount ext2/​ext3/​ext4 ==== 
- 
-Fuse-ext2 mounts an ext2/​ext3/​ext4 partition or image file 
- 
-For control kernels fuse modules is command: 
- 
-<​code>​ 
-kldstat 
-</​code>​ 
- 
-If you don't have fuse.ko module in the kernel you use this command 
- 
-<​code>​ 
-kldload fuse 
-</​code>​ 
- 
-Then mount your partition 
- 
-<​code>​ 
-fuse-ext2 ​ /​dev/​your_partition /media/ 
-</​code>​ 
- 
-==== Mount NTFS ==== 
- 
-For mounting ntfs file system you must kernel module loaded. 
- 
-For control kernels fuse modules is command: 
- 
-<​code>​ 
-kldstat 
-</​code>​ 
- 
-and load FUSE kernel module: 
- 
-<​code>​ 
-kldload fuse 
-</​code>​ 
- 
-and then you can mount ntfs filesystem. 
- 
-<​code>​ 
-# ls /dev/da* 
-# ntfs-3g ​ /​dev/​your_partition ​ /mnt/ 
-</​code>​ 
- 
-==== Automounting Removable Media ==== 
- 
-Uncomment in config file in /​etc/​auto_master 
- 
-<​code>​ 
-/​media ​       -media ​       -nosuid 
-</​code>​ 
- 
-Add lines to /​etc/​devd.conf 
- 
-<​code>​ 
-notify 100 { 
-    match "​system"​ "​GEOM";​ 
-    match "​subsystem"​ "​DEV";​ 
-    action "/​usr/​sbin/​automount -c"; 
-}; 
-</​code>​ 
- 
-Reload service 
- 
-<​code>​ 
-service automount reload 
-service devd restart 
-</​code>​ 
- 
-and added configuration /​etc/​rc.conf 
- 
-<​code>​ 
-autofs_enable="​YES"​ 
-</​code>​ 
- 
- 
-====== Introduction ZFS ====== 
- 
-[[http://​tate.cx/​improving-zfs-performance/​]] 
- 
-===== Mount ZFS ===== 
- 
-<​code>​ 
-zpool import 
-</​code>​ 
- 
-For control command mount. 
- 
-===== Mount ZFS from Live CD ===== 
- 
-<​code>​ 
-zpool import -fR /media zroot 
-</​code>​ 
- 
-===== Tuning zfs on i386 ===== 
-If you will have i386 OS you must set wm.kmem_size="​512M"​ and vm.kmem_size_max=""​ is minimal value. ​ 
- 
-This is little tunables 
-more information on http://​www.freebsd.cz/​doc/​handbook/​zfs-advanced.html 
-<​code>​ 
-vfs.zfs.prefetch_disable=0 
-vm.kmem_size="​512M"​ 
-vm.kmem_size_max="​768M"​ 
-vfs.zfs.arc_max="​40M"​ 
-vfs.zfs.vdev.cache.size="​5M"​ 
-</​code>​ 
- 
- 
-===== Resize partition ===== 
- 
-We added space for virtual disk (VirtualBox,​ or other) 
-but we have disk CORRUPT ​ 
-<​code>​ 
-lol@ ~/> gpart show ada0 
-=>      40  41942960 ​ ada0  GPT  (39G) [CORRUPT] 
-        40      1024     ​1 ​ freebsd-boot ​ (512K) 
-      1064       ​984 ​       - free -  (492K) 
-      2048   ​4194304 ​    ​2 ​ freebsd-swap ​ (2.0G) 
-   ​4196352 ​ 37744640 ​    ​3 ​ freebsd-zfs ​ (18G) 
-  41940992 ​     2008        - free -  (1.0M) 
-</​code>​ 
- 
-Fix is easy :  
-<​code>​ 
-gpart recover ada0 
-</​code>​ 
- 
-Now we need resize partion 3. 
-<​code>​ 
-lol@ ~/> gpart show  
-=>      40  81919920 ​ ada0  GPT  (39G) 
-        40      1024     ​1 ​ freebsd-boot ​ (512K) 
-      1064       ​984 ​       - free -  (492K) 
-      2048   ​4194304 ​    ​2 ​ freebsd-swap ​ (2.0G) 
-   ​4196352 ​ 37744640 ​    ​3 ​ freebsd-zfs ​ (18G) 
-  41940992 ​ 39978968 ​       - free -  (19G) 
-</​code>​ 
- 
-<​code>​ 
-lol@ ~/> zpool list 
-NAME    SIZE  ALLOC   ​FREE ​ EXPANDSZ ​  ​FRAG ​   CAP  DEDUP  HEALTH ​ ALTROOT 
-zroot  17.9G  17.3G   ​621M ​        ​- ​   76%    96%  1.00x  ONLINE ​ - 
-</​code>​ 
- 
-For device is Busy , we have set this value: 
-<​code>​ 
-lol@ ~/> sysctl kern.geom.debugflags=16 
-kern.geom.debugflags:​ 0 -> 16 
-</​code>​ 
- 
-Now resize partition number 3  
-<​code>​ 
-lol@ ~/> gpart show  
-=>      40  81919920 ​ ada0  GPT  (39G) 
-        40      1024     ​1 ​ freebsd-boot ​ (512K) 
-      1064       ​984 ​       - free -  (492K) 
-      2048   ​4194304 ​    ​2 ​ freebsd-swap ​ (2.0G) 
-   ​4196352 ​ 37744640 ​    ​3 ​ freebsd-zfs ​ (18G) 
-  41940992 ​ 39978968 ​       - free -  (19G) 
- 
-lol@ ~/> sudo gpart resize -i 3 ada0 
- 
-ada0p3 resized 
- 
-lol@ ~/> gpart show  
-=>      40  81919920 ​ ada0  GPT  (39G) 
-        40      1024     ​1 ​ freebsd-boot ​ (512K) 
-      1064       ​984 ​       - free -  (492K) 
-      2048   ​4194304 ​    ​2 ​ freebsd-swap ​ (2.0G) 
-   ​4196352 ​ 77723608 ​    ​3 ​ freebsd-zfs ​ (37G) 
-</​code>​ 
- 
-Last step with zfs pool:  
-<​code>​ 
-lol@ ~/> sudo zpool set autoexpand=on zroot 
-lol@ ~/> sudo zpool online -e zroot ada0p3 ada0p3 
-</​code>​ 
- 
-Control space in zpool.Size of zroot is right. 
-<​code>​ 
-lol@ ~/> zpool list 
-NAME    SIZE  ALLOC   ​FREE ​ EXPANDSZ ​  ​FRAG ​   CAP  DEDUP  HEALTH ​ ALTROOT 
-zroot    37G  17.3G  19.7G         ​- ​   36%    46%  1.00x  ONLINE ​ - 
-</​code>​ 
- 
-<​code>​ 
-lol@ ~/​Desktop>​ sudo sysctl kern.geom.debugflags=0 
-kern.geom.debugflags:​ 16 -> 0 
- 
-</​code>​ 
- 
-====== Virtualbox ====== ​ 
-===== Virtuabox in FreeBSD ===== 
- 
-Added line with kernel module to /​boot/​loader.conf 
- 
-<​code>​ 
-vboxdrv_load="​YES"​ 
-</​code>​ 
- 
-Added line for bridged or host-only networking to /​etc/​rc.conf 
-<​code>​ 
-vboxnet_enable="​YES"​ 
-</​code>​ 
- 
-Added to group 
-<​code>​ 
-pw groupmod vboxusers -m yourusername 
-chown root:​vboxusers /​dev/​vboxnetctl 
-chmod 0660 /​dev/​vboxnetctl 
-</​code>​ 
- 
-Permanent permisions added lines to /​etc/​devfs.conf 
-<​code>​ 
-own     ​vboxnetctl root:​vboxusers 
-perm    vboxnetctl 0660 
-</​code>​ 
- 
-===== FreeBSD as guest Virtualbox ===== 
- 
-Write to /​etc/​rc.conf 
- 
-<​code>​ 
-vboxguest_enable="​YES"​ 
-vboxservice_enable="​YES"​ 
-</​code>​ 
- 
-====== ​ Wifi and FreeBSD ​ ====== ​ 
- 
-===== How to setup WIFI card ===== 
-<​code>​ 
-pciconf -l - look for if see wifi hardware 
-sudo ifconfig wlan0 create wlandev wpi0 
-sudo wpa_supplicant -i wlan0 -c /​etc/​wpa_supplicant.conf 
-</​code>​ 
- 
-===== How to setup USB WIFI ===== 
- 
-Add kernel module to /​boot/​loader.conf 
-<​code>​ 
- 
-# Kernel module for wifi  
-if_ath_load="​YES"​ 
-if_iw_load="​YES"​ 
- 
-# Next wifi kernel modules 
-wlan_wep_load="​YES"​ 
-wlan_ccmp_load="​YES"​ 
-wlan_tkip_load="​YES"​ 
-</​code>​ 
- 
- 
-Add to configure /​etc/​rc.conf this lines. 
-Configure you wifi device. 
-<​code>​ 
-wlans_run0="​wlan0"​ 
-create_args_wlan0="​wlanmode sta country CZ indoor"​ 
-</​code>​ 
- 
- 
-Look to your hardware if you have drivers. 
-<​code>​ 
- 
-# Look for if see wifi hardware (wpi, run0) 
-pciconf -l  
- 
-# Create a device with name wlan0 
-sudo ifconfig wlan0 create wlandev wpi0 
- 
-# Create wpa_supplicant configure file with ssid network ​ 
-sudo wpa_supplicant -i wlan0 -c /​etc/​wpa_supplicant.conf 
- 
-# Scan your wifi networks 
-ifconfig wlan0 up scan  
-SSID/MESH ID    BSSID              CHAN RATE   ​S:​N ​    INT CAPS 
-lol        00:​13:​46:​49:​41:​76 ​  ​11 ​  54M -90:​96 ​  100 EPS  WPA WME 
-trololo ​   00:​11:​95:​c3:​0d:​ac ​   1   54M -83:​96 ​  100 EPS  WPA 
- 
-# IP address from DHCP server 
-sudo dhclient wlan0 
-</​code>​ 
- 
-====== GELI ====== 
-<​code>​ 
-Install CD -> Partition -> Shell 
- 
-gpart create -s gpt vtbd0 
-gpart add -t freebsd-boot -s 512k -a 4k vtbd0 
-gpart add -t freebsd-ufs -a 1M vtbd0 
-gpart bootcode -b /boot/pmbr -p /​boot/​gptboot -i 1 vtbd0 
- 
-geli init -b -g vtbd0p2 
-geli attach vtbd0p2 
- 
-newfs -j /​dev/​vtbd0p2.eli 
-mount /​dev/​vtbd0p2.eli /mnt 
- 
-- /​tmp/​bsdinstall_etc/​fstab 
-/​dev/​vtbd0p2.eli / ufs rw,noatime 1 1 
- 
-- /​tmp/​bsdinstall_boot/​loader.conf 
-geom_eli_load="​YES"​ 
- 
-exit (installer will continue) 
- 
-Change ​ /​dev/​vtbd0p2.eli to gptid/​rawuuid (gpart list): 
-/​dev/​gptid/​015ceb9a-90a4-11e6-b8fc-1392a9ed1847 / ufs rw,noatime 1 1 
-</​code>​ 
- 
- 
-====== FreeBSD Security ====== ​ 
-===== Security on FreeBSD ===== 
- 
-To check the status of the securelevel on a running system: Add to /​etc/​sysctl.conf 
- 
-<​code>​ 
-kern.securelevel=2 
-security.bsd.see_other_uids=0 
-security.bsd.stack_guard_page=1 
-net.inet.ip.random_id=1 
-</​code>​ 
- 
-more : [[https://​www.freebsd.org/​doc/​faq/​security.html|https://​www.freebsd.org/​doc/​faq/​security.html]] 
- 
-===== Enabling and Utilizing Process Accounting ===== 
- 
-Tracking information such as CPU statistics and executed commands. ​ 
- 
-<​code>​ 
-touch /​var/​account/​acct 
-chmod 600 /​var/​account/​acct 
-accton /​var/​account/​acct 
-echo '​accounting_enable="​YES"'​ >> /​etc/​rc.conf 
-</​code>​ 
- 
- 
-====== Troubleshooting with FreeBSD ====== 
- 
-===== SSH ===== 
-==== Too many authentication failures ==== 
-If You are not able to authenticate via ssh and message "Too many authentication failures"​ is logged in /​var/​log/​auth.log you probably have more than 2 keys loaded in your ssh agent that are failing to authenticate. To solve this unload keys you are not using from ssh agent (ssh-add -d path/ ssh-add -D), use ssh -i path_to_key or create an appropriate section in your ~/​.ssh/​config with IdentityFile. 
- 
-===== BOOT on FreeBSD ===== 
- ==== Fatal double fault FreeBSD 10.3 - i386 , FreeBSD 11 - i386  ==== 
- 
-The fatal double fault is a problem on FreeBSD - i386 with ZFS file system. 
- 
-As described in /​usr/​src/​UPDATING entry 20121223, rebuilding the kernel with options KSTACK_PAGES=4 has been observed to resolve the boot-time crash. ​ 
-This, however, is not an ideal solution for inclusion in the GENERIC kernel configuration,​ as increasing KSTACK_PAGES ​ 
-implicitly decreases available usermode threads in an environment that is already resource-starved. ​ 
- 
-You must do this steps for new kernel: 
-<​code>​ 
-# mkdir -p /usr/src 
-# svnlite co svn://​svn.freebsd.org/​base/​releng/​10.2 /usr/src 
-# make -C /usr/src kernel-toolchain 
-# printf "​include GENERIC\noptions KSTACK_PAGES=4\n"​ > /​usr/​src/​sys/​i386/​conf/​ZFS 
-# make -C /usr/src buildkernel KERNCONF=ZFS 
-# make -C /usr/src installkernel KERNCONF=ZFS 
-</​code>​ 
- 
- 
-For FreeBSD 10.3 - More information on page https://​www.freebsd.org/​releases/​10.3R/​errata.html 
-For FreeBSD 11.0 - More information on page https://​www.freebsd.org/​releases/​11.0R/​errata.html 
- 
-==== How to boot from live CD ==== 
- 
-If is a problem with boot on FreeBSD and cannot run the system. 
-Back to FreeBSD menu and choose option 3. ( Escape to loader prompt ) 
-For help in command line is command help or ? (list of commands ) 
-help set are options for the command set  
- 
-For boot from CD is commnad ​ 
-<​code>​ 
-set boot_cdrom (for mount filesystem) 
-boot 
-</​code>​ 
- 
-Look for a mounted filesystem with command mount.If you haven'​t zfs filesystem mounted you must run command and connect zpool : 
-<​code>​ 
-zpool import -f zroot 
-</​code>​ 
- 
- 
-==== How to mount disk with geli from live CD  ==== 
- 
-Boot live system ... 
- 
-<​code>​ 
-geli attach /dev/ada0p3 
-password: ​ 
-</​code>​ 
- 
-The command mount only part of filesystem. 
-For example /usr; /tmp; /var; but not /boot 
-<​code>​ 
-zpool import -f /mnt zroot 
-</​code>​ 
- 
-The command mount /boot etc.. 
-<​code>​ 
-zfs mount zroot/​ROOT/​default 
-</​code>​ 
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki