View previous topic :: View next topic |
Author |
Message |
wwoods n00b
Joined: 27 Jun 2002 Posts: 3 Location: Nashua, NH
|
Posted: Thu Sep 19, 2002 8:23 pm Post subject: Some notes on installing gentoo for alpha |
|
|
Here's my experience with Gentoo on an Alpha (Compaq XP1000) so far:
First, since there's no bootable CD yet, if you really want to test this out you could either modify a JumpStart CD to include the stage1 tarball (tricky) or you could just install it on a spare disk on a machine already running Linux. This is probably the easiest way, and that's how I chose to do it.
Next comes partitioning. JumpStart will do this for you, but here's how you do it yourself. You need to put a BSD disklabel on the disk if you want it to be bootable from SRM. If you've got an AlphaBIOS machine, you can use a DOS disklabel, but AlphaBIOS is such a pain to work with that I recommend switching to SRM instead. You can find instructions on that here.
Make partitions on the new disk, but be sure to leave a few megabytes unused at the start of the disk for aboot, the boot loader. (We'll get to that later.) BSD partitions are allowed to overlap, but you don't want them doing that while in use, so make sure your partitions don't overlap. If you want to use XFS, make sure you have an ext2/3 boot partition, because aboot doesn't understand XFS.
Now everything should proceed according to the normal install directions, up until you need to edit make.conf.
My system is an ev67 (check /proc/cpuinfo if you're not sure), so in make.conf, i set: Code: | CHOST=alphaev67-unknown-linux-gnu
CFLAGS="-mcpu=ev67 -Wa,-mev6 -O3 -pipe"
| The -Wa,-mev6 flag is necessary because of a bug in the alpha binutils. The assembler knows how to output instructions for the ev67, but it doesn't recognize -mev67 as a flag, only -mev6. So when the compiler is run with -mcpu=ev67, the assembler gets called with -mev67, which it doesn't recognize, so it outputs code for the default machine - ev5 - instead. -Wa,-mev6 passes -mev6 to the assembler, allowing it to output code for ev6/ev67.
If you have an ev68 machine, you should just use the ev67 info as above - things will assume an ev68 is just an ev67 anyway. And by the way, gcc on alpha doesn't recognize -march=XXX, so don't bother trying it.
Having edited my make.conf to my liking, I ran bootstrap.sh and everything was fine. Hooray, stage2!
Next comes stage3. Unfortunately some packages in the base system (readline, m4, bash, gdbm) don't recognize alphaev67-unknown-linux-gnu as a CHOST, only alphaev6-unknown-linux-gnu. Yes, the same problem all over. The simplest way so far to work around this is to add a line to the ebuild file that says Code: | CHOST=${CHOST/alphaev67/alphaev6} |
gdbm requires that you use alphaev5. It might be advisable to switch your CHOST to alphaev6 after bootstrapping. In fact it should probably be alphaev6-pc-linux-gnu but I'm not going to worry about it.
Welcome to stage3! Many of the kernel patches in the gentoo-sources are intel-specific, so don't use that. xfs-sources and vanilla-sources should be safe. on alpha you do "make boot" instead of "make bzImage", but otherwise everthing else is about the same. When "make boot" finishes, copy arch/alpha/boot/vmlinux.gz to /boot.
syslog-ng and metalog are unavailable on alpha, so use sysklogd.
aboot is the tricky bit - there's no ebuild for it yet, and the current version (0.9a) doesn't build properly with gcc 3.x and glibc 2.2.x. The maintainer (ahem, that's me) hasn't finished testing the bugfixes yet, but you can get a prerelease copy of aboot 0.9b here:
http://aboot.sourceforge.net/tarballs/aboot-0.9bpre.tar.bz2
Once you've got a copy of aboot, you should just be able to run make and everything will build. This will build various tools and utilities including bootlx, which is the boot loader image itself. Now you need to write this image to the disk. Be careful here, you can break things if you do this wrong! If you're installing onto /dev/sda, and your boot partition is /dev/sda2, you would run:
Code: | swriteboot -c2 /dev/sda /boot/bootlx |
-c2 defines the default partition to look for the kernel in, /dev/sda is the disk to write to, and /boot/bootlx is the bootloader image to write. ("make install" puts bootlx in /boot by default.) Now you just need an /etc/aboot.conf. It should look like this:
Code: | 0:/boot/vmlinux.gz root=/dev/sda1 rw
1:/boot/vmlinux.gz.old root=/dev/sda1 rw
|
Each line should begin with a number and a colon, then the path to the kernel image (this works like GRUB), and then the kernel flags. For more info, read this: http://www.tldp.org/HOWTO/SRM-HOWTO/aboot.html
The rest of the install should work just like the x86 version. You will probably want to "halt" your machine (as opposed to "reboot") so you can modify SRM variables like AUTO_ACTION. Boot your machine as described in the SRM-HOWTO above, cross your fingers, and you should have a working gentoo system! |
|
Back to top |
|
|
Giganight n00b
Joined: 28 Jul 2002 Posts: 31 Location: Plymouth, Ma
|
Posted: Mon Nov 25, 2002 10:11 pm Post subject: PLease help...... |
|
|
ok, first and foremost thank you for providing a tuturiol on on gentoo on the alpha, the second I heard gentoo was ported to the alpha I waited in the tall grass for one to come along, and first chance I got, I grabbed one, a digital personal workstation 500a, I put red hat 7 on it just to give me an environment to work with and started merrily putting gentoo on the alpha, that is until I realized they had no install guide(as of this writing anyway) so you are my personal savior, but I'm having trouble with compiling the kernel and ask for assistance, I've tried make boot, make dep && make boot, and every possible option concievable to get it to work, sometimes it compiles but then I get an unknown compression method from aboot at startup, also I tried the alpha-sources, and they won't compile at all, please help this weary soldier before my alpha ends up as a paperweight.... (note: I've tried many different solutions with the vanilla-sources and the alpha sources, and I'm really not picky about which one works as long as I can get one too work, I just want a alpha-gentoo system working, I'll worry about tweaking it after) |
|
Back to top |
|
|
Tiber n00b
Joined: 29 Oct 2002 Posts: 49 Location: Philadelphia, PA
|
Posted: Sun Jan 05, 2003 1:20 am Post subject: |
|
|
If you have an EV5 or EV56, gcc seems to product broken code with O set higher then "1". This bit me quite a few times on my AlphaStation 433au. The default is O3, which is appropriate for EV6+, but not an EV5. _________________ --Josh
Current project machine: Alpha 433A (433mhz EV56) |
|
Back to top |
|
|
mmcgreal n00b
Joined: 04 Feb 2003 Posts: 7 Location: St Louis, MO
|
Posted: Wed Feb 05, 2003 12:54 pm Post subject: |
|
|
Following are some notes from my own installation of gentoo-1.4rc1-test4 on an Alphaserver 1200. Your mileage will most likely vary, of course, but these are the things I had to do to get up and running:
1. Tiber's post about gcc producing broken code if you set -O higher than 1 is incorrect for this release. This release uses GCC 3.2.1. I believe that broken code was only produced w/GCC 2.X releases. I set my CFLAGS to "-mcpu=ev56 -O3 -pipe" and everything compiled fine.
2. When compiling a new kernel from the alpha-sources kernel tree, you must enable superpage support for successful compilation.
3. Aboot
a. I think aboot actually defaults to the 3rd partition for the root filesystem, instead of the 2nd, like the docs suggest. If your root partition is on the 2nd partition (like mine is), you must run abootconf to correct this.
b. Emerging aboot will install the following soft link: "cd /boot; ln -s . boot". This is only necessary to support the illusion that vmlinux.gz is under /boot, if that's where you say it is in /etc/aboot.conf, like the docs suggest you do.
c. Aboot only understands ext2, so if you're not using ext2 for your root filesystem, you should put /etc/aboot.conf under the /boot partition (ie, put it in /boot/etc/aboot.conf), then run abootconf to specify where to find /etc/aboot.conf. If your boot partition is /dev/sdc1, you would run "abootconf /dev/sdc 1".
4. Most of the portage packages do not have 'alpha' listed in the KEYWORDS section of the ebuild file. This causes most packages to appear masked. If you want a package that is masked because of the missing keyword, you can either add the word "alpha" to the KEYWORD list, or simply emerge the package by explicitly specifying the ebuild file. For example, to emerge tcpdump, you can't simply type "emerge tcpdump", you must type "emerge /usr/portage/net-analyzer/tcpdump/tcpdump-3.7.1.ebuild".
5. And finally, you may notice that your system is not booting cleanly because for some reason the /etc/init.d/localmounts script is not getting executed. This is because /etc/init.d/modules is not exiting cleanly. The problem is that /etc/init.d/modules calls /sbin/modules-update, which is not exiting cleanly, but the output from this program is masked in /etc/init.d/modules. The reason /sbin/modules-update is not exiting cleanly is because it makes a call similar to "echo | egrep blah | sed 's/blah//'", which causes a kernel paging request failure. Exactly why it causes the paging failure is still unknown to me, but I'm pretty sure it has to do w/the superpage patch, and the fact that sed is a statically linked program. To get around the problem, you should emerge supersed, then unmerge sed, then make soft links from /usr/bin/sed to /bin/ssed and from /bin/sed to /bin/ssed.
If you're really curious, I'm posting my progress on trying to figure out what the real problem is here: https://forums.gentoo.org/viewtopic.php?t=33638
Good luck! _________________ "Come, my songs, let us speak of perfection--
We shall get ourselves rather disliked."
:Ezra Pound, Salvationists |
|
Back to top |
|
|
jief Tux's lil' helper
Joined: 29 Jan 2003 Posts: 95 Location: Montreal, Canada
|
Posted: Fri Mar 14, 2003 5:58 pm Post subject: |
|
|
ok, ive installed aboot. Then i halted the system.
Now i get to the aboot menu, when i try to boot, i get
Code: |
aboot> l
aboot: mount of partition 1 failed
Partition 1 is invalid. Please specify another with 'p'
aboot> 0
ext2_init: bad magic 0x0
aboot: mount of partition 1 failed
|
Why is it? |
|
Back to top |
|
|
mmcgreal n00b
Joined: 04 Feb 2003 Posts: 7 Location: St Louis, MO
|
Posted: Sat Mar 22, 2003 12:56 am Post subject: |
|
|
What's your aboot.conf file look like, how do you have your drives set up, and how do you have your filesystems set up in relation to your drives?
Martin _________________ "Come, my songs, let us speak of perfection--
We shall get ourselves rather disliked."
:Ezra Pound, Salvationists |
|
Back to top |
|
|
jief Tux's lil' helper
Joined: 29 Jan 2003 Posts: 95 Location: Montreal, Canada
|
Posted: Thu Mar 27, 2003 10:31 pm Post subject: |
|
|
well, finally i installed openbsd on it. I tried a few times to install aboot. and it was always erasing my HD. So i just gave up. Since its only a server, OpenBSD is a good choice anyway. I might buy another Alpha soon, so then i might try again to install gentoo on it. |
|
Back to top |
|
|
dawe n00b
Joined: 14 Nov 2005 Posts: 8
|
Posted: Mon Nov 14, 2005 1:18 pm Post subject: useful for ev68 but now... |
|
|
Hi, I've read the thread and found very useful. Although it's rather old it still works (gentoo 2005.1). BTW I noticed that adding the
CHOST=${CHOST/alphaev67/alphaev6} flag into the specified ebuilds leads to a strange thing: as bash compiles emerge cannot compile and install any other ebuild.
That's not a problem, I switched to the original ebuilds.
Anyway I have a problem with tar-1.15, it doesn't compile and freezes the system, so I turned back to tar-1.14... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|