User Tools

Site Tools


project:kernellab:bsd

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
project:kernellab:bsd [2020/04/30 19:14] – I am sorry, i created. maxfxproject:kernellab:bsd [2020/09/09 15:29] – removed maxfx
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      freebsd-boot  (512K) 
-      1064       984        - free -  (492K) 
-      2048   4194304      freebsd-swap  (2.0G) 
-   4196352  37744640      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      freebsd-boot  (512K) 
-      1064       984        - free -  (492K) 
-      2048   4194304      freebsd-swap  (2.0G) 
-   4196352  37744640      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      freebsd-boot  (512K) 
-      1064       984        - free -  (492K) 
-      2048   4194304      freebsd-swap  (2.0G) 
-   4196352  37744640      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      freebsd-boot  (512K) 
-      1064       984        - free -  (492K) 
-      2048   4194304      freebsd-swap  (2.0G) 
-   4196352  77723608      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:    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>