development.7 (115201) | development.7 (115211) |
---|---|
1.\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of 2.\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in 3.\" the FreeBSD source tree. 4.\" | 1.\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of 2.\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in 3.\" the FreeBSD source tree. 4.\" |
5.\" $FreeBSD: head/share/man/man7/development.7 115201 2003-05-21 07:16:32Z brueffer $ | 5.\" $FreeBSD: head/share/man/man7/development.7 115211 2003-05-21 15:55:40Z ru $ |
6.\" 7.Dd December 21, 2002 8.Dt DEVELOPMENT 7 9.Os 10.Sh NAME 11.Nm development 12.Nd introduction to development with the FreeBSD codebase 13.Sh DESCRIPTION --- 20 unchanged lines hidden (view full) --- 34builds or development. The last thing you want to do is to run an 35unstable environment on your master server which could lead to a situation 36where you lose the environment and/or cannot recover from a mistake. 37.Pp 38Create a huge partition called /FreeBSD. 398-12GB is recommended. 40This partition will contain nearly all the development environment, 41including the CVS tree, broken-out source, and possibly even object files. | 6.\" 7.Dd December 21, 2002 8.Dt DEVELOPMENT 7 9.Os 10.Sh NAME 11.Nm development 12.Nd introduction to development with the FreeBSD codebase 13.Sh DESCRIPTION --- 20 unchanged lines hidden (view full) --- 34builds or development. The last thing you want to do is to run an 35unstable environment on your master server which could lead to a situation 36where you lose the environment and/or cannot recover from a mistake. 37.Pp 38Create a huge partition called /FreeBSD. 398-12GB is recommended. 40This partition will contain nearly all the development environment, 41including the CVS tree, broken-out source, and possibly even object files. |
42You are going to export this partition to your other machines via a | 42You are going to export this partition to your other machines via a |
43READ-ONLY NFS export so do not mix it with other more security-sensitive 44partitions. 45.Pp 46You have to make a choice in regards to 47.Pa /usr/obj . 48You can put 49.Pa /usr/obj 50in --- 40 unchanged lines hidden (view full) --- 91.Bd -literal -offset 4n 92# cvs -q 93diff -u 94update -Pd 95checkout -P 96.Ed 97.Pp 98Now use cvs to checkout a -STABLE source tree and a -CURRENT source tree, | 43READ-ONLY NFS export so do not mix it with other more security-sensitive 44partitions. 45.Pp 46You have to make a choice in regards to 47.Pa /usr/obj . 48You can put 49.Pa /usr/obj 50in --- 40 unchanged lines hidden (view full) --- 91.Bd -literal -offset 4n 92# cvs -q 93diff -u 94update -Pd 95checkout -P 96.Ed 97.Pp 98Now use cvs to checkout a -STABLE source tree and a -CURRENT source tree, |
99as well as ports and docs, to create your initial source environment. | 99as well as ports and docs, to create your initial source environment. |
100Keeping the broken-out source and ports in /FreeBSD allows you to export 101it to other machines via read-only NFS. 102This also means you only need to edit/maintain files in one place and all 103your clients automatically pick up the changes. 104.Bd -literal -offset 4n 105mkdir /FreeBSD/FreeBSD-4.x 106mkdir /FreeBSD/FreeBSD-current 107 --- 26 unchanged lines hidden (view full) --- 134(ONLY IF YOU MADE A POOR CHOICE AND PUT /usr/obj in /FreeBSD!) 135mkdir /FreeBSD/obj 136cd /usr 137rm -rf obj 138ln -s /FreeBSD/obj obj 139.Ed 140.Pp 141Alternatively you may chose simply to leave /usr/obj in /usr. If your | 100Keeping the broken-out source and ports in /FreeBSD allows you to export 101it to other machines via read-only NFS. 102This also means you only need to edit/maintain files in one place and all 103your clients automatically pick up the changes. 104.Bd -literal -offset 4n 105mkdir /FreeBSD/FreeBSD-4.x 106mkdir /FreeBSD/FreeBSD-current 107 --- 26 unchanged lines hidden (view full) --- 134(ONLY IF YOU MADE A POOR CHOICE AND PUT /usr/obj in /FreeBSD!) 135mkdir /FreeBSD/obj 136cd /usr 137rm -rf obj 138ln -s /FreeBSD/obj obj 139.Ed 140.Pp 141Alternatively you may chose simply to leave /usr/obj in /usr. If your |
142/usr is large enough this will work, but I do not recommend it for | 142/usr is large enough this will work, but I do not recommend it for |
143safety reasons (/usr/obj is constantly being modified, /usr is not). 144.Pp 145Note that exporting /usr/obj via read-only NFS to your other boxes will 146allow you to build on your main server and install from your other boxes. 147If you also want to do builds on some or all of the clients you can simply 148have /usr/obj be a local directory on those clients. 149You should never export /usr/obj read-write, it will lead to all sorts of 150problems and issues down the line and presents a security problem as well. --- 106 unchanged lines hidden (view full) --- 257The kernel configuration file lives in /usr/src/sys/i386/conf/KERNELNAME. 258.Bd -literal -offset 4n 259cd /usr/src 260make buildkernel KERNCONF=KERNELNAME 261.Ed 262.Pp 263.Sy WARNING! 264If you are familiar with the old config/cd/make method of building | 143safety reasons (/usr/obj is constantly being modified, /usr is not). 144.Pp 145Note that exporting /usr/obj via read-only NFS to your other boxes will 146allow you to build on your main server and install from your other boxes. 147If you also want to do builds on some or all of the clients you can simply 148have /usr/obj be a local directory on those clients. 149You should never export /usr/obj read-write, it will lead to all sorts of 150problems and issues down the line and presents a security problem as well. --- 106 unchanged lines hidden (view full) --- 257The kernel configuration file lives in /usr/src/sys/i386/conf/KERNELNAME. 258.Bd -literal -offset 4n 259cd /usr/src 260make buildkernel KERNCONF=KERNELNAME 261.Ed 262.Pp 263.Sy WARNING! 264If you are familiar with the old config/cd/make method of building |
265a -STABLE kernel, note that the config method will put the build | 265a -STABLE kernel, note that the config method will put the build |
266environment in /usr/src/sys/compile/KERNELNAME instead of in /usr/obj. 267.Pp 268Building a -CURRENT kernel 269.Bd -literal -offset 4n 270cd /usr/src2 (on the master server) 271make buildkernel KERNCONF=KERNELNAME 272.Ed 273.Sh INSTALLING KERNELS --- 157 unchanged lines hidden --- | 266environment in /usr/src/sys/compile/KERNELNAME instead of in /usr/obj. 267.Pp 268Building a -CURRENT kernel 269.Bd -literal -offset 4n 270cd /usr/src2 (on the master server) 271make buildkernel KERNCONF=KERNELNAME 272.Ed 273.Sh INSTALLING KERNELS --- 157 unchanged lines hidden --- |