Does anyone know if IPMI works under LinuxBIOS? AFAIK, there is a Linux
driver patch but dunno if it still works under LinuxBIOS.
Tel: (852) 2542 2046
Fax: (852) 2542 2036
Mobile: (852) 9201 9866
Unit 202B 2/F Lai Cheong Factory Building,
479-479A Castle Peak Road,
Lai Chi Kok, Kowloon,
Tel: (852)2542 2046
Fax: (852)2542 2036
For public pgp key, please obtain it from http://www.keyserver.net/en.
Years ago when C was young and implementations were not readily
available people compilers for subsets of C and called then small C
Currently one of the greatest challenges in LinuxBIOS is to write
ram initialization code. On x86 this is all done in 8 general purpose
registers. And it takes about a 1000 lines of assembly per memory
controller, to do a good job and handle all of the auto-configuration
cases. Debugging the assembly is bad as frequently adding the debug
code breaks the code we are trying to debug. Additionally there is no
code reuse between the two binaries that make up LinuxBIOS as one is
in C and the other in assembly.
By this point I have enough practice I am good at writing the assembly
code, that I think it hardly matters. But I have seen several
proficient coders just grind to a halt when confronted with miles of
So what I propose is to write a small C compiler for LinuxBIOS.
Various reports from ages past put it at about a man-month of effort
to get the first version going. And it may be better than that as
there are a couple of places I can copy code from. tcc, lcc, gcc, and
other small c projects.
Up until this point all C compilers have had an assumption that you
can have a stack. And most simple C compilers have kept none of the
data structures needed to do inline and similar optimizations that
are necessary when you don't have ram.
So I think it is easiest to build up something very simple from
scratch. That is the route I am going to try. No promises, but
I should start a trial implementation soon.
Ron. I am going to need to do a branch soon as I do the Hammer
port and integrate a small C compiler. And I want to make some
clean fixes and remove some of the backwards compatibility cruft, and
the linuxbios 1.0 code base is an inappropriate place to target.
It should be possible to roll in most of the improvements into the 1.0
codebase, but that will just increase the clutter of the codebase.
could this be the long-awaited linuxbios laptop? I think most of those
chips work ...
---------- Forwarded message ----------
Date: Fri, 21 Feb 2003 11:12:55 +0000
From: Derek Fawcus <dfawcus(a)cisco.com>
Subject: Re: [9fans] Off the shelves plan9-compatible desktop
On Fri, Feb 21, 2003 at 04:18:51PM +0900, okamoto(a)granite.cias.osakafu-u.ac.jp wrote:
> As I got tired of debugging, I travelled into internet, and found
> Lindows Mobile PC, which may be nice also to Plan 9.
> However, I cann't figure it out whether it has 3 button mouse pad.
> It looks like so...
> 12.1" 1024x768 TFT
> VIA C3 933 MHz Processor, <--- what's that?
An x86 compatible processor made by VIA. It has poor FPU performance but
reasonable integer performance. It's basically an i686 but with a semi
implemented CMOV instruction.
> VIA VT8606(Twister-T) + VT82C686B chipset,
> Savage 4 AGP (which Russ's favurite chip?),
> Realtek 10/100 LAN chip,
> 20GB ATA HDD
> Lindows3.0 OS <---- what's it?
A Linux derived OS
> 10.43x8.66x0.91" AND 2.9lbs (1.6kg)!
> any opinion?
well if I was in the market for a laptop, I might well buy one...
however, what I'd really like is a light enougth pad computer - all
that I've seen so far are too heavy.
I'm wondering if anyone has any suggestion of any boards that are
supported by linuxbios and have AGP graphics, audio and possibly
onboard network (though eventually I'd like to add wireless networking
instead). In a small form factor, like a SBC type setup. If you do that
would be great.
4604 Monterey Ave NW
i'm not sure of how ADLO work ..., to work with ADLO, i need a Matsonic
motherboard with a LinuxBios installed, once time i have this, i make
the new elf file with a bios of Bochs and a Video Bios, and after i put
these files overwriting the LinuxBios ..? or Adding these files to rom
bios ?, if i add i'll have two bios code runing (first of the LinuxBios,
and after of Bochs) is not there problems with it ?.
Really is possible make work the Bochs Bios like a normal Bios ..?, they
have code that only work with Bochs, like an outport to INFO_PORT ...
Here's a nice candidate to build a LinuxBIOS laptop.
The site is currently /.ed but the specs are:
ECS announced recently its DeskNote i-Buddie A980 mobile desktop PC, the
first ever mobile barebone computer. It features no display, no CPU, no
RAM and no HDD, but only the case with keyboard and touchpad. The
indisputable trump of the novelty is that you are free to install the
most high-end and cutting-edge hardware, or you may buy not really
expensive components that are enough for your needs.
Here is the list of i-Buddie A980 technical peculiarities:
* Supports Socket 478 Pentium 4 / Celeron processors with 400/533MHz FSB
with 3.06GHz clock-speed and above;
* SiS650 chipset with SiS962 I/O controller;
* 1 DIMM slot for up to 1GB of PC2100 or PC2700 DDR SDRAM memory.
* Integrated graphics core, ability to install NVIDIA GeForce4 Go420
mobile graphics card.
* 2-channel ATA-100/66/33 integrated controller;
* Includes an 8x DVD-ROM drive;
* Free bay for 2.5 HDD;
* 4 USB 2.0 ports;
* FireWire (IEEE1394) port ;
* IR port with transfer rate up to 115.2Kbit/s;
* 10/100Mbit/s Ethernet adapter and connector;
* Integrated 56K modem;
* 6-channel audio solution and built-in speakers;
* Size: 342mm (W) x 300mm (D) x 34mm(min)/50.5mm(max);
* Weight: 1.8Kg.
End-users have a lot of opportunities to expand and configure such
computers, they even now can choose between 14 and 15 TFT panel, what
should allow ECS customers to get the most cost-effective solutions
According to this French web-site, such barebones will be priced at
$300. Not expensive, I believe, but remember that you will need to get a
display, a microprocessor, a memory module and a hard disk drive to make
I'm not sure who this should be addressed to, so appologies to the rest of
the list. Briefly, I'm interested in running linuxBios on a via epia board,
so I've gotten hold of a bios saviour ready to see how far I can get.
After compiling up a rom image, and scanning the archives for how to burn the
flash from linux, I compiled up the flash_rom program from the util
directory. When running it with no image name (just so I could identify the
flash chip of the bios saviour) I was greeted with a segmentation fault.
To cut the story short, it seems that after scanning the pci bus in
enable_flash_write() and not finding any of the devices in the enables
(enable still set to 0) it still tries to call the 'doit' routine.
I've included a patch that corrects the problem. Hope it's of use to someone.
The second question I have (I think this is for Ron or Eric) is about the
Config file under src/arch/i386/lib. I've notice that it has two copies of
the 'object c_start.S' line. Is there a reason for this ? I've noticed that
the NLBConfig.py script generates warnings about re-defining the object.
--- orig/util/flash_and_burn/flash_rom.c Fri Feb 28 17:21:37 2003
+++ freebios/util/flash_rom.c Fri Feb 28 20:56:55 2003
@@ -291,7 +291,8 @@
/* now do the deed. */
- enable->doit(dev, enable->name);
+ if ( enable )
+ enable->doit(dev, enable->name);
Note: I'd normally use the linuxbios.org web page submission form, but
the form is not working, and there is no contact info that
looked readily available. The list isn't a bad place to find
people willing to work on new hardware, so here goes...
I found some cheap motherboards from Amptron that make an ideal
terminal server or low-power workstation. It's the PIII-3787CLM+.
You might recognize the motherboard if you bought one of those
$199 Fry's/Walmart PCs recently. The motherboard + 733MHz Via C3
costs about $70 retail. It comes with just about everything you
need for a desktop: AGP Video, AC97 sound, 10/100 Ethernet, and
USB. All I need to do is add a floppy drive, some RAM, and then boot.
I plan to use the motherboard on desktops (LTSP and/or diskless
NFS-based RedHat 8.0) and some servers (add more RAM and maybe a
a uDMA drive or two).
I'd really like to just boot Linux off the BIOS to make boot times
faster and have one less moving part to fail. If the BIOS supported
USB boot drives, I'd just get a keychain drive and be done. The
built-in Ethernet doesn't PXEboot, so LinuxBIOS looks like the only way
to get rid of the floppy.
I'd be glad to donate a montherboard ($70 retail value each) to anyone
who can get one of them to boot to become either a LTSP client or a
diskless Linux workstation (initrd root + NFS /usr) without the use of
a floppy disk. I'll throw in a $20 256MB DIMM for fun.
The label on the BIOS chip reads: "686 AMIBIOS (C)1999 BS46".
The Amptron web page states it's 2MB "Flash". I don't know how
this compares to DiskOnChip, but it's my preference not to have
to buy/install DOC if I can avoid it. Reading the Sis630 LinuxBIOS
HOWTO, I don't feel confident in my ability to get it to work on
new unsupported hardware.
If you think you can get it to work, drop me a line. If you
can make a public HOWTO document for me and others to install
LinuxBIOS on the board (without buying DiskOnChip), you can keep
your parts. If it's not possible, let me know.
I really like the hardware becasue it's an excellent, low-power (25W),
cheap desktop platform. It could also be a part of dense low-bandwidth
low-power server clusters.
San Diego, CA
Some info off a system on which I installed RedHat 8.0...
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 21)
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 83)
00:01.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:01.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07)
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] SiS630 GUI Accelerator+3D (rev 21)
Linux version 2.4.18-14 (bhcompile(a)stripples.devel.redhat.com) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 Wed Sep 4 11:57:57 EDT 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fdf0000 (usable)
BIOS-e820: 000000000fdf0000 - 000000000fdf8000 (ACPI data)
BIOS-e820: 000000000fdf8000 - 000000000fe00000 (ACPI NVS)
BIOS-e820: 00000000ffef0000 - 00000000fff00000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
253MB LOWMEM available.
On node 0 totalpages: 65008
zone(0): 4096 pages.
zone(1): 60912 pages.
zone(2): 0 pages.
Kernel command line: ro root=LABEL=/
Detected 735.006 MHz processor.
Speakup v-1.00 CVS: Tue Jun 11 14:22:53 EDT 2002 : initialized
Console: colour VGA+ 80x25
Calibrating delay loop... 1468.00 BogoMIPS
Memory: 251216k/260032k available (1193k kernel code, 6400k reserved, 984k data, 200k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 4096 (order: 3, 32768 bytes)
ramfs: mounted with options: <defaults>
ramfs: max_pages=31655 max_file_pages=0 max_inodes=0 max_dentries=31655
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Before vendor init, caps: 00803035 80803035 00000000, vendor = 5
CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line)
CPU: L2 Cache: 64K (32 bytes/line)
CPU: After vendor init, caps: 00803135 80803035 00000000 00000000
CPU: After generic, caps: 00803135 80803035 00000000 00000000
CPU: Common caps: 00803135 80803035 00000000 00000000
CPU: Centaur VIA Samuel 2 stepping 03
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch(a)atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfd9f8, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router SIS [1039/0008] at 00:01.0
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
speakup: initialized device: /dev/synth, node (MAJOR 10, MINOR 25)
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
VFS: Diskquotas version dquot_6.5.0 initialized
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS0 at 0x03f8 (irq = 4) is a 16550A
Real Time Clock Driver v1.10e
block: 480 slots per queue, batch=120
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SIS5513: IDE controller on PCI bus 00 dev 01
PCI: No IRQ known for interrupt pin A of device 00:00.1. Please try using pci=biosirq.
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will probe irqs later
SiS630 ATA 66 controller
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD200BB-60DGA0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=2434/255/63, UDMA(66)
ide-floppy driver 0.99.newide
hda: hda1 hda2 hda3
floppy0: no floppy controllers found
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 127k freed
VFS: Mounted root (ext2 filesystem).
Journalled Block Device driver loaded
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 200k freed
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Found IRQ 10 for device 00:01.3
PCI: Sharing IRQ 10 with 00:01.2
usb-ohci.c: USB OHCI at membase 0xd0844000, IRQ 10
usb-ohci.c: usb-00:01.3, Silicon Integrated Systems [SiS] 7001 (#2)
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 10 for device 00:01.2
PCI: Sharing IRQ 10 with 00:01.3
usb-ohci.c: USB OHCI at membase 0xd0846000, IRQ 10
usb-ohci.c: usb-00:01.2, Silicon Integrated Systems [SiS] 7001
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 3 ports detected
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech(a)suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
EXT3 FS 2.4-0.9.18, 14 May 2002 on ide0(3,2), internal journal
Adding Swap: 522104k swap-space (priority -1)
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.18, 14 May 2002 on ide0(3,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ohci1394: pci_module_init failed
ip_tables: (C) 2000-2002 Netfilter core team
sis900.c: v1.08.04 4/25/2002
PCI: Found IRQ 11 for device 00:01.1
divert: allocating divert_blk for eth0
eth0: SiS 900 Internal MII PHY transceiver found at address 1.
eth0: Using transceiver found at address 1 as default
eth0: SiS 900 PCI Fast Ethernet at 0xde00, IRQ 11, 00:07:95:35:88:b1.
eth0: Media Link On 100mbps half-duplex