Delete obsolete information about bootstrapping FreeBSD/Alpha on
NetBSD. We can't do that anymore. And before people scream... that's actually good because it means that FreeBSD/Alpha has become wholly FreeBSD. An achievement I think.
This commit is contained in:
parent
4b4e30ec63
commit
fc37a8a170
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=3547
4 changed files with 3 additions and 226 deletions
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile,v 1.4 1998-08-11 11:43:45 wosch Exp $
|
||||
# $Id: Makefile,v 1.5 1998-09-30 07:20:50 jb Exp $
|
||||
|
||||
.if exists(../Makefile.conf)
|
||||
.include "../Makefile.conf"
|
||||
|
@ -6,9 +6,6 @@
|
|||
|
||||
DOCS= alpha.sgml
|
||||
|
||||
DOCS+= current.sgml
|
||||
DOCS+= bootstrapping.sgml
|
||||
|
||||
INDEXLINK=alpha.html
|
||||
|
||||
.include "../web.mk"
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$Date: 1998-07-14 18:54:32 $">
|
||||
<!ENTITY date "$Date: 1998-09-30 07:20:51 $">
|
||||
<!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 $ -->
|
||||
<!-- $Id: alpha.sgml,v 1.2 1998-09-30 07:20:51 jb Exp $ -->
|
||||
|
||||
<html>
|
||||
&header;
|
||||
|
@ -15,8 +15,6 @@ 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>
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
<!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 <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>
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
<!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 <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>
|
Loading…
Reference in a new issue