cd /sys/arch/i386/conf 1. Now run config on your kernel configuration file (replace GENERIC with your custom kernel config file if you have one): 2. /usr/sbin/config GENERIC 3. Next, change to the compile directory: 4. cd /compile/GENERIC 5. Then build it: 6. make clean && make depend && make && make install 7. Once it's done, reboot the system: 8. reboot 9. Once you've restarted and logged in again, you need to remove the old /usr/obj directory's contents: 10. rm -rf /usr/obj/* 11. Now change to the /usr/src directory: 12. cd /usr/src 13. Remake the contents of /usr/obj with the new code: 14. make obj 15. Change to this directory: 16. cd /usr/src/etc 17. Now make some other ancillary files: 18. env DESTDIR=/ make distrib-dirs 19. Go back to the source directory: 20. cd /usr/src 21. Time for the build: 22. make build && make install All you have to do now is reboot the system, and your operating system will be fully up-to-date with the latest patches. 10.3. Switching to OpenBSD-CURRENT To switch to -CURRENT (again, this is not recommended for production machines, and if you choose to do this, both the Ports tree and the OpenBSD base system source code must be brought up to -CURRENT): 1. Choose an AnonCVS mirror and set the CVSROOT variable as instructed in the previous section. 2. Now move into the proper directory: 3. cd /usr 4. Then fetch the -CURRENT source code for both the base system and Ports: 5. cvs checkout -P src ports 6. Once the code is done downloading, it's time to compile it. You're going to start with the kernel, then reboot into the new kernel, then recompile the userland and reboot one last time, and then recompile anything you installed from Ports. Start with rebuilding the kernel. Change to the kernel configuration directory (replace i386 with amd64 if that's your architecture): cd /sys/arch/i386/conf 7. Now run config on your kernel configuration file (replace GENERIC with your custom kernel config file if you have one): 8. /usr/sbin/config GENERIC 9. Next change to the compile directory: cd /compile/GENERIC 10. Then build it: 11. make clean && make depend && make && make install 12. Once it's done, reboot the system: 13. reboot 14. Once you've restarted and logged in again, you need to remove the old /usr/obj directory's contents: 15. rm -rf /usr/obj/* 16. Now change to the /usr/srcdirectory: 17. cd /usr/src 18. Remake the contents of /usr/obj with the new code: 19. make obj 20. Change to this directory: 21. cd /usr/src/etc 22. Now make some other ancillary files: 23. env DESTDIR=/ make distrib-dirs 24. Go back to the source directory: 25. cd /usr/src 26. Time for the build: 27. make build && make install 28. Reboot one last time, and you'll be in a fully OpenBSD-CURRENT operating system: 29. reboot 30. You will now have to update the Ports tree. First, go to the Ports directory: 31. cd /usr/ports 32. Now rebuild and reinstall all updated packages: 33. make update Chapter 11. Where to Go for Help The OpenBSD Project maintains many mailing lists, most of them for internal developer communication. Some of the lists are open to users, and you can get some assistance if you're having trouble. Be warned, though, that you're likely to earn ridicule from a mailing list if you fail to try to help yourself first. In other words, if you've tried the processes in this guide, read through the relevant manpages, and made an honest effort to get something to work, you've paid your dues. But remember that people will be more willing to help you if you're polite; common mistakes made by many new users include putting "urgent" in their requests for help, and getting short-tempered and impatient. Above all, never ask for a private email response to your query; the mailing lists are there to help everyone. If you show up on a mailing list asking some elementary question that you could have more easily answered by using the man command and act like the community is obligated to respond to your every beck and call, you're likely to be at best ignored and at worst mocked and taunted. Remember to search the list archives for your question. In many cases, other people have had the same problem you have, and the OpenBSD community has already printed a solution. Frequently asked questions are not suffered gladly. You can view or subscribe to the OpenBSD mailing lists at this address: http://lists.openbsd.org/cgi-bin/mj_wwwusr?user=&passw=&func=lists-long As a more web-friendly alternative to mailing lists, there are the BSD Forums: http://www.bsdforums.org It's free to sign up for and use the BSD Forums, and the forum software is more user-friendly and more easily searched than the mailing lists are. Lastly, the author of this guide maintains a general technology discussion and technical support forum: http://www.tjrforum.com You're welcome to post there as long as you remain polite. Registration is required, but offered at no charge. If you feel stupid for not knowing how to do something that should be obvious, the TJR Forum is probably the best place for you to go. If you need help with an advanced configuration, the BSD Forums are probably a better starting point.