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
project:kernellab:bsd [2020/03/07 19:35] – [FreeBSD Kernel for beringer] maxfxproject:kernellab:bsd [2021/03/19 20:22] (current) – removed maxfx
Line 1: Line 1:
-====== Fundamentals of FreeBSD ====== 
  
-===== Getting Started with FreeBSD  ===== 
-[[https://www.digitalocean.com/community/tutorial_series/getting-started-with-freebsd | Getting Started with FreeBSD  ]] 
- 
-===== The Kernel ===== 
- 
-[[https://www.bsdcan.org/2008/schedule/attachments/49_2008_uboot_freebsd.pdf| Interfacing FreeBSD with U-Boot]] 
- 
-[[https://blog.khubla.com/freebsd/building-u-boot-for-chromebook| Building u-boot for Chromebook ]] 
- 
-[[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]] 
- 
-===== 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 ]] 
- 
-===== 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 ? (Its fixed) ==== 
- 
-[[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 ]] 
- 
- 
-==== FreeBSD Kernel for beginner ==== 
- 
-[[https://bsdmag.org/basic-unix-queuing-techniques/|https://bsdmag.org/basic-unix-queuing-techniques/]] 
- 
-[[https://bsdmag.org/unix-kernel-system-calls/|https://bsdmag.org/unix-kernel-system-calls/]] 
- 
-[[https://bsdmag.org/dynamic-memory-allocation-unix-systems/|https://bsdmag.org/dynamic-memory-allocation-unix-systems/]] 
- 
-==== 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]] 
- 
-==== 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 BIOS]] 
- 
-====== 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 ====== 
- 
-==== 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> 
project/kernellab/bsd.1583609738.txt.gz · Last modified: 2020/03/07 19:35 by maxfx