From de1d638be78af3e40c9f1df36cbde79d3474ebf5 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Tue, 14 Jul 1998 18:54:33 +0000 Subject: [PATCH] Import the FreeBSD/Alpha Project into the main web server. --- data/alpha/Makefile | 8 +++ data/alpha/alpha.sgml | 40 +++++++++++ data/alpha/bootstrapping.sgml | 129 ++++++++++++++++++++++++++++++++++ data/alpha/current.sgml | 89 +++++++++++++++++++++++ en/alpha/Makefile | 8 +++ en/alpha/alpha.sgml | 40 +++++++++++ en/alpha/bootstrapping.sgml | 129 ++++++++++++++++++++++++++++++++++ en/alpha/current.sgml | 89 +++++++++++++++++++++++ 8 files changed, 532 insertions(+) create mode 100644 data/alpha/Makefile create mode 100644 data/alpha/alpha.sgml create mode 100644 data/alpha/bootstrapping.sgml create mode 100644 data/alpha/current.sgml create mode 100644 en/alpha/Makefile create mode 100644 en/alpha/alpha.sgml create mode 100644 en/alpha/bootstrapping.sgml create mode 100644 en/alpha/current.sgml diff --git a/data/alpha/Makefile b/data/alpha/Makefile new file mode 100644 index 0000000000..b0151746af --- /dev/null +++ b/data/alpha/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1998-07-14 18:54:31 wosch Exp $ + +DOCS= alpha.sgml + +DOCS+= current.sgml +DOCS+= bootstrapping.sgml + +.include "../web.mk" diff --git a/data/alpha/alpha.sgml b/data/alpha/alpha.sgml new file mode 100644 index 0000000000..e4c0a7011c --- /dev/null +++ b/data/alpha/alpha.sgml @@ -0,0 +1,40 @@ + + + + + %includes; +]> + + + +&header; + +

This page contains information about porting FreeBSD to Alpha +systems.

+ +

FreeBSD/Alpha Specific Links

+ + +

Other Links of Interest

+

Hardware

+ + +

Projects

+ + +&footer; + + diff --git a/data/alpha/bootstrapping.sgml b/data/alpha/bootstrapping.sgml new file mode 100644 index 0000000000..3c5975c92e --- /dev/null +++ b/data/alpha/bootstrapping.sgml @@ -0,0 +1,129 @@ + + + + + %includes; +]> + + + +&header; + +
+From: John Birrell <jb@freebsd1.cimlogic.com.au>
+Message-Id: <199801110548.QAA24424@freebsd1.cimlogic.com.au>
+Subject: Bootstrapping FreeBSD/Alpha
+To: alpha@FreeBSD.ORG
+Date: Sun, 11 Jan 1998 16:48:09 +1100 (EST)
+
+
+G'day,
+
+I've committed a bunch of changes that allow FreeBSD/Alpha to be
+bootstrapped from an installed NetBSD/Alpha 1.3 system. The bootstrap
+is not complete (after 2.5 days), but it is in a state where people
+who want to play can do so using source that they are familiar with.
+
+The bootstrap is not intended to clobber anything on the system you
+are using. It uses a modified makefile based on the -current make
+world, but unlike that makefile, there is no final install (yet).
+The bootstrap will abort long before that. 8-).
+
+The philosophy behind this bootstrap is that you start with a stock
+NetBSD/Alpha installation and using the FreeBSD bootstrap procedure
+you evolve into FreeBSD/Alpha. The system will remain a hybrid for
+some time due to the differences in the kernel interface. The goal
+is to be able to run as much of the FreeBSD user-space code as
+possible and then (hopefully) people will step up to the plate to
+take the system the extra mile.
+
+Here's a summary of what the bootstrap does:
+
+1.  Deletes a previous build if one exists. You always bootstrap
+    from scratch.
+
+2.  Installs FreeBSD's mkdep in the temporary build tree because
+    the one in NetBSD isn't good enough.
+
+3.  Runs NetBSD's make using FreeBSD's .mk and makefiles to build
+    a new version of make from FreeBSD sources using NetBSD headers,
+    installed libraries and tools.
+
+4.  Builds a FreeBSD version of find which has the -L argument that
+    NetBSD doesn't have. This version of find doesn't support the
+    -fstype argument because NetBSD's libc doesn't support getvfsbyname().
+
+5.  Runs mtree like a normal build does. At this point you'll find
+    that you need to add a few users and groups because NetBSD doesn't
+    support as many as FreeBSD does.
+
+6.  Builds the obj tree like a normal build does.
+
+7.  Re-makes make, this time using makefiles parsed by the FreeBSD
+    make (just in case the NetBSD one came up with a different set
+    of build commands).
+
+8.  Builds install from the FreeBSD source because the NetBSD one
+    doesn't know -C.
+
+9.  Builds lex like the normal build does.
+
+10. Creates links to the GNU programs that haven't been ported.
+
+11. Builds gperf, tsort, bison, gcc, cpp, g++ etc which are
+    needed to build the libraries.
+
+12. Installs the FreeBSD header files in the temporary build tree.
+
+Up to this point, all the builds have used the NetBSD make until the
+FreeBSD one was built. The FreeBSD source files have been pre-processed
+against NetBSD header files and the programs linked against NetBSD
+libraries. From here on, the build continues to use FreeBSD programs
+if they have been built and NetBSD ones otherwise. The build will
+only look at FreeBSD header files from this point.
+
+13. Builds a number of the most important libraries that are needed
+    to link the remainder of the build tools. [You can expect the
+    bootstrap build to come to a grinding halt somewhere in here
+    when it tries to link against NetBSD's libc and finds that the
+    locale functions referenced by ctype.h are not there. I've
+    started porting libc to resolve this.]
+
+14. Builds the rest of the build tools.
+
+15. Makes dependencies on everything.
+
+16. Builds everythings.
+
+[And then you'd install to clobber the existing system if you got that far].
+
+Before you use the bootstrap build, just give a thought to what you'd
+do if it clobbers something it shouldn't. As always, you do this at
+your own risk. 8-)
+
+Here's what I do:
+
+1.  Mount /usr/src from another (FreeBSD) machine.
+2.  Create /usr/obj with enough disk space to build.
+3.  cd /usr/src
+    make -m /usr/src/share/mk buildworld
+4.  Sit back and wait for it to crash. If it stops before you get to
+    the libs, I've probably missed committing something.
+5.  When it does stop, all of the things you've built will be in
+    the /usr/obj/usr/src/tmp tree. They should run!
+
+Let me (and this list) know how you get on. And if anyone else wants
+to do part of this work, please do.
+
+Regards,
+
+-- 
+John Birrell - jb@cimlogic.com.au; jb@netbsd.org; jb@freebsd.org
+CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137
+
+ +&footer; + + + diff --git a/data/alpha/current.sgml b/data/alpha/current.sgml new file mode 100644 index 0000000000..5e649a3faa --- /dev/null +++ b/data/alpha/current.sgml @@ -0,0 +1,89 @@ + + + + + %includes; +]> + + + +&header; + +
+From: John Birrell <jb@cimlogic.com.au>
+Message-Id: <199803270127.MAA01315@cimlogic.com.au>
+Subject: Re: what's a good way to help?
+To: nmanisca@vt.edu (nm)
+Date: Fri, 27 Mar 1998 12:27:10 +1100 (EST)
+Cc: freebsd-alpha@FreeBSD.ORG
+
+nm wrote:
+> i have an axppci33 based system here with 64 megs of ram
+> and a 2 gig scsi disk...
+> 
+> ill soon be connected to the net via 10baseT (to multiple t3's)
+> 
+> i look forward to seeing freebsd running on alpha and so i am
+> asking what is there to be done that can be accomplished with
+> a slow machine and not a great deal of intimate knowledge of
+> either the alpha architecture or the bsd?
+
+Do you have an Intel machine that you can use to run -current?
+This is important because you need to be able to check that anything
+you do doesn't affect the mainstream FreeBSD.
+
+[you may already know this stuff, but I'll point it out anyway 8-)]
+
+On the Intel machine, setup cvsup to use release=cvs and src-all.
+After the initial cvsup, plan to run daily.
+
+Learn to use cvs on the cvs files that cvsup creates/updates.
+
+Learn to `make world' on the Intel machine.
+
+Install NetBSD 1.3 on the alpha. Configure it to give you telnet/rlogin
+access from the Intel machine. Setup both machines as NFS client & server.
+NFS mount the checked out source tree (on the Intel machine) as
+/usr/src on the alpha. Create a symlink for /usr/src to the _same_ tree 
+on the Intel. That way you build exactly the same source on both
+machines at the same time.
+
+Learn to `make -m /usr/src/share/mk buildworld' on the alpha. Most of
+the code is already committed. There are a few files that I can send you
+when you let me know you need them. You'll know that when the build
+bombs. And you'll need to tell me how it bombs to prove that you have
+got that far (and are serious about working on this). 8-)
+
+Try running the programs that get created in /usr/obj/usr/src/tmp/usr.bin
+and compare their behaviour to the Intel ones. You'll find lots of things
+that don't work "quite right". Finding fixes to any of these would be
+a constructive way to help.
+
+-- 
+John Birrell - jb@cimlogic.com.au; jb@freebsd.org
+CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137
+
+
+Starting with NetBSD 1.3, /etc/group needs the following additional
+groups added manually:
+
+man:*:9:
+uucp:*:66:
+xten:*:67:xten
+network:*:69:
+
+The build of libc needs a temporary patch for vfprintf.c that I don't
+want to commit. I'm note sure how best to distribute this info.
+
+There is a problem with optimization in gcc/gas so I set CFLAGS in
+/etc/make.conf to remove the default -O.
+
+Also, it's worth noting that NetBSD uses /etc/mk.conf whereas
+FreeBSD uses /etc/make.conf. The bootstrap builds make very early on
+so there is no point adding anything to /etc/mk.conf.
+
+ +&footer; + + diff --git a/en/alpha/Makefile b/en/alpha/Makefile new file mode 100644 index 0000000000..b0151746af --- /dev/null +++ b/en/alpha/Makefile @@ -0,0 +1,8 @@ +# $Id: Makefile,v 1.1 1998-07-14 18:54:31 wosch Exp $ + +DOCS= alpha.sgml + +DOCS+= current.sgml +DOCS+= bootstrapping.sgml + +.include "../web.mk" diff --git a/en/alpha/alpha.sgml b/en/alpha/alpha.sgml new file mode 100644 index 0000000000..e4c0a7011c --- /dev/null +++ b/en/alpha/alpha.sgml @@ -0,0 +1,40 @@ + + + + + %includes; +]> + + + +&header; + +

This page contains information about porting FreeBSD to Alpha +systems.

+ +

FreeBSD/Alpha Specific Links

+ + +

Other Links of Interest

+

Hardware

+ + +

Projects

+ + +&footer; + + diff --git a/en/alpha/bootstrapping.sgml b/en/alpha/bootstrapping.sgml new file mode 100644 index 0000000000..3c5975c92e --- /dev/null +++ b/en/alpha/bootstrapping.sgml @@ -0,0 +1,129 @@ + + + + + %includes; +]> + + + +&header; + +
+From: John Birrell <jb@freebsd1.cimlogic.com.au>
+Message-Id: <199801110548.QAA24424@freebsd1.cimlogic.com.au>
+Subject: Bootstrapping FreeBSD/Alpha
+To: alpha@FreeBSD.ORG
+Date: Sun, 11 Jan 1998 16:48:09 +1100 (EST)
+
+
+G'day,
+
+I've committed a bunch of changes that allow FreeBSD/Alpha to be
+bootstrapped from an installed NetBSD/Alpha 1.3 system. The bootstrap
+is not complete (after 2.5 days), but it is in a state where people
+who want to play can do so using source that they are familiar with.
+
+The bootstrap is not intended to clobber anything on the system you
+are using. It uses a modified makefile based on the -current make
+world, but unlike that makefile, there is no final install (yet).
+The bootstrap will abort long before that. 8-).
+
+The philosophy behind this bootstrap is that you start with a stock
+NetBSD/Alpha installation and using the FreeBSD bootstrap procedure
+you evolve into FreeBSD/Alpha. The system will remain a hybrid for
+some time due to the differences in the kernel interface. The goal
+is to be able to run as much of the FreeBSD user-space code as
+possible and then (hopefully) people will step up to the plate to
+take the system the extra mile.
+
+Here's a summary of what the bootstrap does:
+
+1.  Deletes a previous build if one exists. You always bootstrap
+    from scratch.
+
+2.  Installs FreeBSD's mkdep in the temporary build tree because
+    the one in NetBSD isn't good enough.
+
+3.  Runs NetBSD's make using FreeBSD's .mk and makefiles to build
+    a new version of make from FreeBSD sources using NetBSD headers,
+    installed libraries and tools.
+
+4.  Builds a FreeBSD version of find which has the -L argument that
+    NetBSD doesn't have. This version of find doesn't support the
+    -fstype argument because NetBSD's libc doesn't support getvfsbyname().
+
+5.  Runs mtree like a normal build does. At this point you'll find
+    that you need to add a few users and groups because NetBSD doesn't
+    support as many as FreeBSD does.
+
+6.  Builds the obj tree like a normal build does.
+
+7.  Re-makes make, this time using makefiles parsed by the FreeBSD
+    make (just in case the NetBSD one came up with a different set
+    of build commands).
+
+8.  Builds install from the FreeBSD source because the NetBSD one
+    doesn't know -C.
+
+9.  Builds lex like the normal build does.
+
+10. Creates links to the GNU programs that haven't been ported.
+
+11. Builds gperf, tsort, bison, gcc, cpp, g++ etc which are
+    needed to build the libraries.
+
+12. Installs the FreeBSD header files in the temporary build tree.
+
+Up to this point, all the builds have used the NetBSD make until the
+FreeBSD one was built. The FreeBSD source files have been pre-processed
+against NetBSD header files and the programs linked against NetBSD
+libraries. From here on, the build continues to use FreeBSD programs
+if they have been built and NetBSD ones otherwise. The build will
+only look at FreeBSD header files from this point.
+
+13. Builds a number of the most important libraries that are needed
+    to link the remainder of the build tools. [You can expect the
+    bootstrap build to come to a grinding halt somewhere in here
+    when it tries to link against NetBSD's libc and finds that the
+    locale functions referenced by ctype.h are not there. I've
+    started porting libc to resolve this.]
+
+14. Builds the rest of the build tools.
+
+15. Makes dependencies on everything.
+
+16. Builds everythings.
+
+[And then you'd install to clobber the existing system if you got that far].
+
+Before you use the bootstrap build, just give a thought to what you'd
+do if it clobbers something it shouldn't. As always, you do this at
+your own risk. 8-)
+
+Here's what I do:
+
+1.  Mount /usr/src from another (FreeBSD) machine.
+2.  Create /usr/obj with enough disk space to build.
+3.  cd /usr/src
+    make -m /usr/src/share/mk buildworld
+4.  Sit back and wait for it to crash. If it stops before you get to
+    the libs, I've probably missed committing something.
+5.  When it does stop, all of the things you've built will be in
+    the /usr/obj/usr/src/tmp tree. They should run!
+
+Let me (and this list) know how you get on. And if anyone else wants
+to do part of this work, please do.
+
+Regards,
+
+-- 
+John Birrell - jb@cimlogic.com.au; jb@netbsd.org; jb@freebsd.org
+CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137
+
+ +&footer; + + + diff --git a/en/alpha/current.sgml b/en/alpha/current.sgml new file mode 100644 index 0000000000..5e649a3faa --- /dev/null +++ b/en/alpha/current.sgml @@ -0,0 +1,89 @@ + + + + + %includes; +]> + + + +&header; + +
+From: John Birrell <jb@cimlogic.com.au>
+Message-Id: <199803270127.MAA01315@cimlogic.com.au>
+Subject: Re: what's a good way to help?
+To: nmanisca@vt.edu (nm)
+Date: Fri, 27 Mar 1998 12:27:10 +1100 (EST)
+Cc: freebsd-alpha@FreeBSD.ORG
+
+nm wrote:
+> i have an axppci33 based system here with 64 megs of ram
+> and a 2 gig scsi disk...
+> 
+> ill soon be connected to the net via 10baseT (to multiple t3's)
+> 
+> i look forward to seeing freebsd running on alpha and so i am
+> asking what is there to be done that can be accomplished with
+> a slow machine and not a great deal of intimate knowledge of
+> either the alpha architecture or the bsd?
+
+Do you have an Intel machine that you can use to run -current?
+This is important because you need to be able to check that anything
+you do doesn't affect the mainstream FreeBSD.
+
+[you may already know this stuff, but I'll point it out anyway 8-)]
+
+On the Intel machine, setup cvsup to use release=cvs and src-all.
+After the initial cvsup, plan to run daily.
+
+Learn to use cvs on the cvs files that cvsup creates/updates.
+
+Learn to `make world' on the Intel machine.
+
+Install NetBSD 1.3 on the alpha. Configure it to give you telnet/rlogin
+access from the Intel machine. Setup both machines as NFS client & server.
+NFS mount the checked out source tree (on the Intel machine) as
+/usr/src on the alpha. Create a symlink for /usr/src to the _same_ tree 
+on the Intel. That way you build exactly the same source on both
+machines at the same time.
+
+Learn to `make -m /usr/src/share/mk buildworld' on the alpha. Most of
+the code is already committed. There are a few files that I can send you
+when you let me know you need them. You'll know that when the build
+bombs. And you'll need to tell me how it bombs to prove that you have
+got that far (and are serious about working on this). 8-)
+
+Try running the programs that get created in /usr/obj/usr/src/tmp/usr.bin
+and compare their behaviour to the Intel ones. You'll find lots of things
+that don't work "quite right". Finding fixes to any of these would be
+a constructive way to help.
+
+-- 
+John Birrell - jb@cimlogic.com.au; jb@freebsd.org
+CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137
+
+
+Starting with NetBSD 1.3, /etc/group needs the following additional
+groups added manually:
+
+man:*:9:
+uucp:*:66:
+xten:*:67:xten
+network:*:69:
+
+The build of libc needs a temporary patch for vfprintf.c that I don't
+want to commit. I'm note sure how best to distribute this info.
+
+There is a problem with optimization in gcc/gas so I set CFLAGS in
+/etc/make.conf to remove the default -O.
+
+Also, it's worth noting that NetBSD uses /etc/mk.conf whereas
+FreeBSD uses /etc/make.conf. The bootstrap builds make very early on
+so there is no point adding anything to /etc/mk.conf.
+
+ +&footer; + +