----- Original Message ----- From: "Ewald Jenisch" <[EMAIL PROTECTED]> To: "Ted Mittelstaedt" <[EMAIL PROTECTED]> Cc: <freebsd-questions@freebsd.org> Sent: Friday, March 16, 2007 5:37 AM Subject: Re: Build your own ISO-install-CD?
> > On Fri, Mar 16, 2007 at 12:07:17AM -0800, Ted Mittelstaedt wrote: > > > > ... > > > > The process is long and complex. You don't want to do it if you can help > > it. > > If people beg me on this list I'll post the step by step I use but trust me > > you > > really really don't want to do this unless absolutely necessary. > > Hi Ted, > > I suppose this might be of interest to others too, so maybe you could > post your "receipe" here? > OK you asked for it. Note this is -very rough- notes. It is notes that you use if you understand the procedure, not what you use as an educational explanation. You will probably need to change directory locations for the various invocations. I did a boot from bootable CDROM then network install setup filesystem : root 2G swap 1G var 2G usr 30G home dirs will be in /usr/home Select Kern-Developer, no Xwindows, no ports After reboots, sysinstall and install cvsup-without-gui-16.1h_2 from the FTP site Also install a complete set of sources from the distribution media 8) Upgrade ports directories cd /root c) cp /usr/share/examples/cvsup/ports-supfile . d) vi ports-supfile change mirror name cvsup10.us.FreeBSD.org e) rehash f) cvsup -g -L 2 /root/ports-supfile g) Create the index with the command make index or g) Fetch the index with the command "make fetchindex" now install cdrtools cd /usr/ports/sysutils/cdrtools make install Recompile and rebuild the entire system to make sure it's clean: cd /usr/src make buildworld make buildkernel make installkernel boot into single-user boot -s mount / mount /tmp mount all the rest of the system cd /usr/src/usr.sbin/mergemaster ./mergemaster.sh -p (say no to delete temproot) cd /usr/src make installworld mergemaster reboot this results in a system that is a duplicate of the -release system if done right Now we start our updated builds: NOTE: These notes helped: http://romana.now.ie/writing/customfreebsdiso.html ) setup a cvsupfile for the rest of the system: e) cd /root cp ports-supfile release-supfile vi release-supfile and change the bottom half to: IMPORTANT: Change the next line to use one of the CVSup mirror sites # listed at http://www.freebsd.org/doc/handbook/mirrors.html. *default host=cvsup10.us.FreeBSD.org *default base=/var/db *default prefix=/usr/home/ncvs *default release=cvs (make sure to remove the tag here) *default delete use-rel-suffix # If you seem to be limited by CPU rather than network or disk bandwidth, try # commenting out the following line. (Normally, today's CPUs are fast enough # that you want to run compression.) *default compress # ports-all src-all doc-all cvsroot-all # ) init the cvs database: cvs -d /usr/home/ncvs init populate our local cvs database with the command: cvsup -g /root/release-supfile Now we got a local CVS synced to the master repository. Now, before we start tearing into the new stuff, let's create our old src and /usr/obj into a RELEASE by doing this: Now we make a unmodded release itself (takes about 3 hours): cd /usr/src/release make release RELEASETAG=RELENG_6_1 PORTSRELEASETAG=HEAD BUILDNAME=6.1-RELEASE CHROOTDIR=/usr/home/releng NODOC=yes NOPORTS=yes CVSRO OT=/usr/home/ncvs This will put the files to stage for the bootable ISO into /home/releng/R The kernel will go into /home/releng/R/cdrom/disc1/boot/kernel This will also put the files for FTP installation in /home/releng/R/ftp which must be used with the ISO image for an FTP installation if the CD drive becomes inaccessible during installation. cd /usr/home (makes it with no floppy emulation) sh /usr/src/release/i386/mkisoimages.sh -b FreeBSD6 /usr/home/6.1-RELEASE-disc1.iso /usr/home/releng/R/cdrom/disc1 burn this CD and test it as a scratch install CD! Now to make a release off the current source for the tree: Since a whole lot of stuff has dependencies, we want to start by saving the existing RELEASE source tree (we might need it to regenerate a kernel) cd /usr mv src src.original Blow away old releases and such To delete the release then chflags -R noschg /usr/home/releng rm -r /usr/home/releng rm -r /usr/obj rm -r /usr/src cvsup -g /root/release-supfile (resync the src) Replace this with the current source we are working on: cd /usr cvs -d /usr/home/ncvs checkout src Now, before building a release, must buildworld (don't have to install it though) cd /usr/src make -j4 buildworld (approx 1.6 hours on 1.8Ghz Athlon with Promise FastTrack RAID chip with -j4 option) (only do this to check the kernel builds, not needed for a make release) make buildkernel KERNCONF=GENERIC NOTE: this puts the CURRENT into /usr/obj Now we make a unmodded current release itself (takes about 3 hours): add audit:*:77: to /etc/group cd /usr/src/release make release RELEASETAG=RELENG_6_1 PORTSRELEASETAG=HEAD BUILDNAME=6.1-RELEASE CHROOTDIR=/usr/home/releng NODOC=yes NOPORTS=yes CVSRO OT=/usr/home/ncvs This will put the files to stage for the bootable ISO into /home/releng/R The kernel will go into /home/releng/R/cdrom/disc1/boot/kernel This will also put the files for FTP installation in /home/releng/R/ftp which must be used with the ISO image for an FTP installation if the CD drive becomes inaccessible during installation. To make our own modded release in addition to GENERIC, do this instead: (go build the modded kernel) If you want to put your modded kernel on an ISO then do this: cd /home/releng/R/cdrom/disc1/boot mv kernel kernel.old md kernel cp where-i-built-modded-kernel/* kernel then make the modded ISO: cd /home sh /usr/src/release/i386/mkisoimages.sh -b FreeBSD6 /home/6.0-CURRENTMODDED-disc1.iso /home/releng/R/cdrom/disc1 now make the bootable iso cd /home (makes it with no floppy emulation) sh /usr/src/release/i386/mkisoimages.sh -b FreeBSD6 /home/6.1-PRERELEASE-disc1.iso /home/releng/R/cdrom/disc1 Note - burn this to CD rom media, not CDRW, it seems not to like the CDRW media _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"