From: Jan-Benedict G. <jb...@us...> - 2005-11-12 13:27:14
|
Update of /cvsroot/linux-vax/www/htdocs/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11003 Modified Files: README Log Message: - Rework parts of the README, describing how to get the kernel sources with GIT. Index: README =================================================================== RCS file: /cvsroot/linux-vax/www/htdocs/docs/README,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- README 7 Apr 2005 22:57:05 -0000 1.5 +++ README 12 Nov 2005 13:26:57 -0000 1.6 @@ -1,5 +1,5 @@ -Last updated Apr 6, 2005 +Last updated Nov 12, 2005 To play with this port you can either; @@ -19,10 +19,10 @@ problems. GETTING STARTED WITH THE DEVELOPMENT SYSTEM. - +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To play with this port you need the following: -1. The cross-compiler and binutils +1. A cross-compiler toolchain including binutils and gcc 2. The kernel sources 3. A MOP server (mopd) 4. A VAX with an ethernet card or SCSI interface @@ -36,30 +36,49 @@ no longer updated! -1. The cross-compiler and binutils +1. The cross-compiler and binutils +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sources ------- + We're basically using the very latest binutils and GCC sources + directly from their source code management systems, plus a number + of patches. There are three main scripts aiding you in getting + a working toolchain: - The most recent snapshots of the compiler and binutils are - held in our CVS repository under the "toolchain" module. You are - strongly advised to check this out, and build the tools yourself, - with the supplied script, to ensure you have the most up to date - compilation environment. There are instructions in the FAQ as - to how to checkout the CVS tree, but you can get anonymous access - by using commands like; + * initial_cvs_checkout.sh will initially checkout all the + source code of Binutils, GCC, glibc and uClibc. CVS and + SVN both need to be installed. - $ cvs -d:pserver:ano...@cv...:/cvsroot/linux-vax login - (hit return at the password prompt). - $ cvs -z3 -d:pserver:ano...@cv...:/cvsroot/linux-vax co -P toolchain + * update_upstream_cvs_sandboxes.sh will update the downloaded + sandboxes to their current HEAD versions. You'd always do that + before you run the third script. + + * build_toolchain.sh actually builds the toolchain. + + These scripts, as well as an additional README, are in the "toolchain" + module (in the "scripts" directory) of our SF.net CVS server. You can + download it with: + + cvs -d:pserver:ano...@cv...:/cvsroot/linux-vax login + (If you're asked for a password, simply press Enter!) + + cvs -z3 -d:pserver:ano...@cv...:/cvsroot/linux-vax co -P toolchain + + You'll need to edit one file (toolchain/scripts/vax_toolchain_config) + to match your directory layout, but that's described in detail in the + toolchain/scripts/README file. You're now ready to build a vax-linux-uclibc + cross toolchain with: + + build_toolchain.sh --omit-checks --log-to-file vax-linux-uclibc + + This will take quite some time (about 50min on my 1.4GHz Athlon, 1.5GB RAM) + and disk space (about 2.1GB). This toolchain should be capable of + building a kernel as well as building some limited userland. - We no longer make source snapshots, or patches against the GNU - releases, available, as we all use CVS, and our time and bandwidth - is limited. Binaries -------- - Binaries are available for linux/386 from the download section of our web server. Binaries are only occasionally built from the CVS sources, so they may contain bugs already fixed in CVS. @@ -67,51 +86,55 @@ The downloads index page may be accessed via the URL http://linux-vax.sf.net/download/index.html - You will need to download the current binary toolset, which - at the time of writing, is tools-bin-linuxvax-20001231.tar.bz2 - - This tar file needs to be untar'ed into your /usr/local tree - (It is done this way to avoid any conflicts with your native - system version of gcc), with the following command, as root; - - foo# tar xv --use=bzip2 -f /path/to/tools-bin-linuxvax-20001231.tar.bz2 + The tarball contains a unique base path (like ./usr-20051111). + Please extract it to eg. /usr/local/ and put /usr/local/usr-20051111/bin/ + into your $PATH environment variable to have access to the toolchain + binaries. - This will create programs in /usr/local/bin prefixed with vax-dec-linux- - (for example /usr/local/bin/vax-dec-linux-gcc) and directories - /usr/local/vax-dec-linux and /usr/local/lib/gcc-lib/vax-dec-linux. - This will not touch your current GCC installation (unless you have - installed it in /usr/local, and even then it should be ok, but dont - blame us if it goes wrong) 2. The kernel sources +~~~~~~~~~~~~~~~~~~~~~ + The current kernel sources (2.6.x based) are kept in GIT, Linus new + source code management tool he specifically wrote for his kernel + work. Some distributions already ship with working GIT packages, some + don't. If you need to build it by hand, there's a nice little howto + at http://linux.yyz.us/git-howto.html (written by Jeff Garzik) that + describes the initial installation. (It's also a nice read if you + want to fully introduce yourself into GIT, but all you really need + to know is the following.) - Grab the sources from CVS. You can either use "kernel-2.4" or "kernel-2.5", - but kernel-2.5 (which actually contains 2.6.x sources!) might be a better - choice right now: + Armed with a GIT installation, you can now proceed to check-out the + current vax-linux kernel sources: - $ cvs -d:pserver:ano...@cv...:/cvsroot/linux-vax login - (hit return at the password prompt). + * Initial checkout. This will give you a full copy of the repository. + By design, each cloned sandbox contains the full history and can + be cloned by other users later on, too: - $ cvs -z9 -d:pserver:ano...@cv...:/cvsroot/linux-vax co kernel-2.5 + git clone http://www.kernel.org/pub/scm/linux/kernel/git/jbglaw/vax-linux.git/ vax-linux-kernel - cd into the kernel dir created by cvs and do + * Check-out the correct branch. The "master" branch only contains the + vanilla Linus kernel. All VAX specific bits are in the "vax4linus" + branch: - $ make ARCH=vax oldconfig + git checkout -f vax4linus - to create a default .config. (Beware about playing with the - config too much, as it might break the compile, obviously there - is no point in including linux/386 specific stuff, e.g. there - not much point in compiling support for a Matrox G450 AGP into - your VAX kernel.) + * From time to time, you may want to update your repository to also contain + all upstream changes: - Compile a network-bootable image by doing + git pull + git checkout -f vax4linus - $ make ARCH=vax mopboot + You see, it's as easy as CVS to use. Now it's time to actually build + a kernel image. That's easy, too. First make sure that you have all + the cross-compiler binaries in your $PATH. Then you can configure and + build the kernel: - This will generate plenty of compiler and linker warnings, but you should - end up with a vmlinux.SYS file sized about 800K-1.2M, depending on the - options. + make ARCH=vax CROSS_COMPILE=vax-linux-uclibx- menuconfig + make ARCH=vax CROSS_COMPILE=vax-linux-uclibx- mopboot + + If you observe anything that doesn't compile or work properly, please + drop us an email! We'll try to fix that as soon as possible. (obsolete?) If you have your VAX and Linux machine on the same SCSI chain and @@ -134,8 +157,9 @@ kernel. See the vaxroot instructions for details on this. -3. A MOP server (mopd) +3. A MOP server (mopd) +~~~~~~~~~~~~~~~~~~~~~~ Sources at http://linux-vax.sf.net/download/mopd-linux.tar.gz |