Import the FreeBSD/Alpha Project into the main web server.

This commit is contained in:
Wolfram Schneider 1998-07-14 18:54:33 +00:00
parent e33c164427
commit de1d638be7
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=3060
8 changed files with 532 additions and 0 deletions

8
data/alpha/Makefile Normal file
View file

@ -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"

40
data/alpha/alpha.sgml Normal file
View file

@ -0,0 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:32 $">
<!ENTITY title "FreeBSD/Alpha Project">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: alpha.sgml,v 1.1 1998-07-14 18:54:32 wosch Exp $ -->
<html>
&header;
<p>This page contains information about porting FreeBSD to Alpha
systems.</p>
<H3>FreeBSD/Alpha Specific Links</H3>
<UL>
<LI><A HREF="bootstrapping.html">Bootstrapping FreeBSD/Alpha</A><BR>
<li><a href="current.html">Build FreeBSD-current on NetBSD 1.3 machine</a>
<li><a href="http://www.freebsd.org/~jb/alpha.html">Status
of the FreeBSD/Alpha port</a>.
<li><A href="../handbook/eresources:mail.html">FreeBSD/Alpha mailing list</a></li>
</UL>
<H3>Other Links of Interest</H3>
<h4>Hardware</h4>
<ul>
<li><A href="http://www.digital.com/alphaserver/">DIGITAL AlphaServer</a><p>
</ul>
<h4>Projects</h4>
<UL>
<LI><A HREF="http://www.netbsd.org/Ports/alpha/">NetBSD/alpha</A>
<LI><A HREF="http://www.openbsd.org/alpha.html">OpenBSD/alpha</A>
<li><a href="http://www.azstarnet.com/~axplinux/">Linux/Alpha</a>
</UL>
&footer;
</body>
</html>

View file

@ -0,0 +1,129 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:32 $">
<!ENTITY title "Bootstrapping FreeBSD/Alpha">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: bootstrapping.sgml,v 1.1 1998-07-14 18:54:32 wosch Exp $ -->
<html>
&header;
<pre>
From: John Birrell &lt;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
</pre>
&footer;
</body>
</html>

89
data/alpha/current.sgml Normal file
View file

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:33 $">
<!ENTITY title "FreeBSD/Alpha current">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: current.sgml,v 1.1 1998-07-14 18:54:33 wosch Exp $ -->
<html>
&header;
<pre>
From: John Birrell &lt;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.
</pre>
&footer;
</body>
</html>

8
en/alpha/Makefile Normal file
View file

@ -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"

40
en/alpha/alpha.sgml Normal file
View file

@ -0,0 +1,40 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:32 $">
<!ENTITY title "FreeBSD/Alpha Project">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: alpha.sgml,v 1.1 1998-07-14 18:54:32 wosch Exp $ -->
<html>
&header;
<p>This page contains information about porting FreeBSD to Alpha
systems.</p>
<H3>FreeBSD/Alpha Specific Links</H3>
<UL>
<LI><A HREF="bootstrapping.html">Bootstrapping FreeBSD/Alpha</A><BR>
<li><a href="current.html">Build FreeBSD-current on NetBSD 1.3 machine</a>
<li><a href="http://www.freebsd.org/~jb/alpha.html">Status
of the FreeBSD/Alpha port</a>.
<li><A href="../handbook/eresources:mail.html">FreeBSD/Alpha mailing list</a></li>
</UL>
<H3>Other Links of Interest</H3>
<h4>Hardware</h4>
<ul>
<li><A href="http://www.digital.com/alphaserver/">DIGITAL AlphaServer</a><p>
</ul>
<h4>Projects</h4>
<UL>
<LI><A HREF="http://www.netbsd.org/Ports/alpha/">NetBSD/alpha</A>
<LI><A HREF="http://www.openbsd.org/alpha.html">OpenBSD/alpha</A>
<li><a href="http://www.azstarnet.com/~axplinux/">Linux/Alpha</a>
</UL>
&footer;
</body>
</html>

129
en/alpha/bootstrapping.sgml Normal file
View file

@ -0,0 +1,129 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:32 $">
<!ENTITY title "Bootstrapping FreeBSD/Alpha">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: bootstrapping.sgml,v 1.1 1998-07-14 18:54:32 wosch Exp $ -->
<html>
&header;
<pre>
From: John Birrell &lt;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
</pre>
&footer;
</body>
</html>

89
en/alpha/current.sgml Normal file
View file

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$Date: 1998-07-14 18:54:33 $">
<!ENTITY title "FreeBSD/Alpha current">
<!ENTITY email 'freebsd-alpha'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>
<!-- $Id: current.sgml,v 1.1 1998-07-14 18:54:33 wosch Exp $ -->
<html>
&header;
<pre>
From: John Birrell &lt;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.
</pre>
&footer;
</body>
</html>