|
![]()
![]() Project Status There is also a news page, and my personal pages. Update: 8th March 1999 From: "William R Sowerbutts" <wrs23@cam.ac.uk> To: <be-linux@hco.kol.ou.dk> Cc: <jhaas@linuxppc.org> Subject: [BL] Linux 2.2.1 now booting LinuxPPC R4 on BeBox Dual603 (uniprocessor) Date: Mon, 8 Mar 1999 01:54:24 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi there, Thought everyone might like to hear that I now have Linux 2.2.1 booting LinuxPPC R4 on my BeBox Dual603. This is still a development version; for example, there's no support yet for PCI devices which require the use of DRAM on the PCI bus - thus the onboard SCSI doesn't work yet. However, it is making very promising progress! There are also a few buglets in the interrupt code. IDE drives seem to be working well, however, as are ISA NE2000 network cards. Indeed, my development system mounts it's root filesystem over NFS from one of my Intel boxes (although I've also had it mount an ext2 filesystem from an IDE drive in the machine. I used Macintosh style disk partitioning, although Intel style partitions should work as well). Only one CPU is currently in action; Zach suspects that adding SMP is probably quite a lot of work, since most of the SMP code is Mac-specific. However, I plan to use both processors eventually. Currently the only supported method of booting is TFTP booting over the network (since I seem to have accidentally broken the part of the bootstrap that lets it read in floppy disks). This will be fixed soon, as I realise not everyone has spare machines to TFTP boot from ;-) Once the PCI DRAM problem has been sorted out it should be possible to use framebuffer devices for video display; thus you should be able to buy a Matrox Millenium or ATI Mach64 based card and plug them into the PCI bus on your BeBox and enjoy high quality text and graphics. I should point out that this is only a progress report; Linux 2.2.1 on the BeBox is far from being ready for mainstream deployment. Incidentally, Linux 2.2.1 seems a lot snappier (even with an NFS filesystem!) compared to 2.0.30, which I'm sure you'll agree is good news. For the curious, here's a log of telnetting to my BeBox Dual603/133 and playing with things a bit: btg@aleph:~/bebox/linux$ telnet hive Trying 192.168.111.34... Connected to hive.intra. Escape character is '^]'. Linux 2.2.1 (hive.intra) (ttyp0) login: root Password: Last login: Fri Apr 17 05:31:36 on tty1 Welcome to Linux on the PowerPC! root@hive:~# cd / root@hive:/# ls X11R6/ doc/ info/ mnt/ root/ var/ bin/ etc/ lib/ opt/ sbin/ boot/ home/ mach_servers/ proc/ tmp/ dev/ include/ man/ pub/ usr/ root@hive:/# cat /proc/cpuinfo processor : 0 cpu : 603e revision : 4.0 bogomips : 88.06 zero pages : total 0 (0Kb) current: 0 (0Kb) hits: 0/189 (0%) machine : BeBox Dual603 motherboard : Revision 8 (Joe) io card : Revision 5 root@hive:/# cat /proc/meminfo total: used: free: shared: buffers: cached: Mem: 56848384 35442688 21405696 19906560 12222464 13135872 Swap: 66990080 0 66990080 MemTotal: 55516 kB MemFree: 20904 kB MemShared: 19440 kB Buffers: 11936 kB Cached: 12828 kB SwapTotal: 65420 kB SwapFree: 65420 kB root@hive:/# cat /proc/interrupts CPU0 1: 455 82c59 keyboard 2: 0 82c59 cascade 8: 0 82c59 rtc 10: 28052 82c59 NE2000 14: 23862 82c59 ide0 28: 0 BeBox IC 8259s on BeBox IC BAD: 0 spurious or short root@hive:/# dmesg Total memory = 56MB; using 0kB for hash table (at 00000000) Linux version 2.2.1 (btg@aleph.intra) (gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)) #62 Mon Mar 8 01:06:39 GMT 1999 Boot arguments: root=/dev/nfs ether=10,0x300,eth0 Detected BeBox: Revision 8 motherboard (Joe), revision 5 IO card. bebox_irq_init() time_init: decrementer frequency = 496398000/60 (7MHz) Console: colour VGA+ 80x25 Calibrating delay loop... 88.06 BogoMIPS Memory: 55516k available (816k kernel code, 948k data, 64k init) [c0000000,c3800000] POSIX conformance testing by UNIFIX PCI: Probing PCI hardware Relocating PCI address 0x11020000 -> 0x01020000 Fixing BeBox PCI device 0x60 interrupt to IRQ20 (Be interrupt 10) PCI device 0x68 has ROM at 0x11000000 Fixing BeBox PCI device 0x68 interrupt to IRQ21 (Be interrupt 11) Linux NET4.0 for Linux 2.2 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0 for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP Starting kswapd v 1.5 Serial driver version 4.27 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A ttyS02 at 0x0380 (irq = 16) is a 16550A ttyS03 at 0x0388 (irq = 17) is a 16550A ttyS04 at 0x03a0 (irq = 18) is a 16550A ttyS05 at 0x03a8 (irq = 19) is a 16550A Real Time Clock Driver v1.09 hda: WDC AC31000H, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: WDC AC31000H, 1033MB w/128kB Cache, CHS=2100/16/63 ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) NE*000 ethercard probe at 0x300: 00 00 e8 cf 2e 39 eth0: NE2000 found at 0x300, using IRQ 10. Sending BOOTP requests.... OK IP-Config: Got BOOTP answer from 192.168.111.1, my address is 192.168.111.34 Partition check: hda: hda1 hda2 hda3 hda4 hda5 Looking up port of RPC 100003/2 on 192.168.111.1 Looking up port of RPC 100005/1 on 192.168.111.1 VFS: Mounted root (NFS filesystem) readonly. [paranoia - keep yer hands off my memory!]Freeing unused kernel memory: 0k init Aliens generating interrupts! Aliens generating interrupts! Aliens generating interrupts! Adding Swap: 65420k swap-space (priority -1) EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended Aliens generating interrupts! root@hive:/# time -v dd if=/dev/zero of=/dev/null bs=1024 count=1048576 1048576+0 records in 1048576+0 records out Command being timed: "dd if=/dev/zero of=/dev/null bs=1024 count=1048576" User time (seconds): 2.61 System time (seconds): 12.52 Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.18 Why six serial ports? Well the first four are serial1 through serial4 on the back of the BeBox. The other two are the MIDI ports, which are also controlled by 16550s (but at a different clock rate). Anyway, I'll update the BeLinux web site sometime tomorrow. Hopefully we'll iron out the bugs and have a fully SMP kernel blazing away on the BeBox quite soon ;-) Oh, we also need a little userspace program to monitor "/proc/stat" and feed values to "/dev/leds", a little device driver I'll write to drive the front panel LED columns. Of course, one could always kill that process and replace it with a program that monitors the audio input and drives the columns as a VU meter ;-) http://www.sowerbutts.com/belinux/ _________________________________________________________________________ William R Sowerbutts (BtG) wrs23@cam.ac.uk Coder / Guru / Nrrrd http://www.guru.dircon.co.uk main(){char*s=">#=0> ^#X@#@^7=";int c=0,m;for(;c<15;c++)for (m=-1;m<7;putchar(m++/6&c%3/2?10:s[c]-31&1<<m?42:32));} -----BEGIN PGP SIGNATURE----- Version: PGP 6.0.2 iQA/AwUBNuMt0LmJ6+8Ag3+5EQJt0gCg1bfwA9PSJ1Yb3smUzre7UiQZMB8AnAxD picHEBlBhQV+Diu5DtKYQ+wN =laxK -----END PGP SIGNATURE----- Update: 16th December 1998 From: William R Sowerbutts [mailto:btg@guru.dircon.co.uk] Sent: 16 December 1998 00:58 To: [list suppressed] Cc: be-linux@hco.kol.ou.dk Subject: Linux for BeBox Hello everyone, sorry to have taken so long to get back to you all. Let me explain what's been going on and what I plan to happen over the next few weeks. I've been away at Cambridge University for the past 9 weeks or so. During that time, about 12 people (you are one of them if you're receiving this email) have emailed me asking about various things to do with the Linux port to the BeBox. Basically the situation is as follows: There has been (as far as I know) no work done to the kernel recently. The support is exactly the same as before: A uniprocessor (no SMP yet) and slow 2.0.30 kernel that supports the onboard SCSI and IDE but not PCI. Video card support is still limited to the single card that the bootloader can coax into text mode. X11 support is theoretically possible if you can find an X server that supports that particular card. With regard to LinuxPPC, the situation is that their standard installer doesn't work with the BeBox, *BUT* since the BeBox is a PowerPC system, it can run the same binaries as one would use on a PowerMac or MicroUX system. So, as long as you can get the OS installed, you can use their RPMs. Booting the BeBox remains a big pain. My advice is: Flash your BeBox's ROMs with the image from BeOS Preview Release 2 (I can supply this image if you need it). Do NOT use the R3 image; it's buggy. The R4 image doesn't appear to let you use the floppy drive to boot, although I've not spent a long time verifying this. Intel-style hard drive partitioning in R4 of the BeOS also appears to be generally a bit broken; BeOS refuses to let me partition my IDE drive. I think that they've fixed the byte ordering problems in the partition table at some point, and now everything's a bit mashed since some tools expect it to be broken still. Not sure on this; anyone know someone at Be whom we can ask about what's going on? I've been working on the bootstrap; it now supports booting over the Ethernet (this should speed development) using BOOTP (boot protocol) and TFTP (trivial file transfer protocol). Fairly obviously, it requires a second machine on the LAN to achieve this. Linux servers can easily run both daemons from inetd. The way my BeBox currently boots is as follows: I'm using the PR2 ROM image. I've created a small (4Mb or so) partition and formatted it as a BeFS drive. I've put the new bootstrap in there (as "/system/kernel_joe" and marked the partition as the default boot partition (using the "Boot" preferences tool under BeOS). I have an ISA NE2000 card in my system. When I reboot, the boot ROM loads my bootstrap from the hard drive. The new bootstrap then broadcasts a BOOTP packet to learn what IP address it should be using, and to find out where it can get a copy of the kernel off the LAN (or even the Internet, it can use a gateway) from. My Linux server here responds, giving it the correct IP to use and a filename to fetch from a TFTP server. The BeBox then uses TFTP to fetch that file, and then boots it. Booting is fast, and the BeBox doesn't wait for any keypresses or require even a single floppy disk any more. Hurrah and huzzah! Since rebooting is now faster and more convenient, the time taken to test out a new kernel should be greatly accelerated. Big projects that need to be undertaken are: - Rewriting the bootstrap (I'm currently working on this) - Adding support for more graphics cards to the bootstrap - Improving the speed of the kernel - Persuading the kernel to use the BeBox's PCI bus (fix interrupt code) - Getting the second processor working (SMP) - Sharing interrupts between the processors reliably (would be nice) - Getting the BeBox supported in the mainstream LinuxPPC distribution - Getting BeBox support in the mainstream kernel updated - Updating the BeLinux pages (I guess this is my job really!) I suppose that most of this work will probably be done on Linux 2.3 kernels, since those appear to be imminent. However, we should start now. I also suggest that we use the mailing list more. It should be a valuable tool. Thanks everyone, _________________________________________________________________________ William R Sowerbutts (BtG) btg@guru.dircon.co.uk Coder / Guru / Nrrrd http://www.guru.dircon.co.uk main(){char*s="&>#=0&> ^#X@#@^7=";int c=0,m;for(;c&<15;c++)for (m=-1;m&<7;putchar(m++/6&c%3/2?10:s[c]-31&1&<&<m?42:32));} -= Linux for BeBox: http://www.guru.dircon.co.uk/belinux/ =- Sources of Information The Linux Kernel Booting The kernel can be booted on BeBoxes with Boot ROMs from BeOS PR2 and R3; older boot ROMs, possibly back to DR8, are probably supported. It's a good idea to upgrade to the PR2 boot ROM if you can. I've had a lot of strife from the R3 boot ROM, so I'm avoiding it until Be DTS get back to me and address my problems. ROMs before PR2 may work; I don't know. The R4 ROM doesn't appear to work for floppy-driven boots; it seems to not check the floppy drive at all. Your best bet is to use the PR2 ROM image, as I do. The very newest bootstraps will try to boot from the network if they detect an ISA NE2000 network card. You'll need a BOOTP server to assign the BeBox an IP address and to tell it the address of your TFTP server, as well as the file it should fetch. This bootstrap can be stored on a small BeFS partition on your hard drive for floppy-free booting. Who is doing what
| ||||||||||
Be is a registered trademark, and BeOS, BeBox, BeWare, GeekPort, the Be logo and the BeOS logo are trademarks of Be, Inc. All other trademarks mentioned are the property of their respective owners. Yadda yadda yadda. |