Posts tagged ‘open-source’

Fun with hping3

I was bored so decided to play with hping3 a bit tonight.

[jlgaddis@bertram:~]$ sudo hping3 --udp -p 10000 --destport 10000 --flood 192.168.1.12
HPING 192.168.1.12 (eth0 192.168.1.12): udp mode set, 28 headers + 1400 data bytes
hping in flood mode, no replies will be shown

I have the same thing running 192.168.1.12 as well, for “bi-directional” traffic.

c1811# sh int fa7 | in put\ rate
  5 minute input rate 96657000 bits/sec, 8404 packets/sec
  5 minute output rate 93537000 bits/sec, 11389 packets/sec

rpmdb: Lock table is out of available locker entries

This morning, I received an e-mail from a cronjob on one of my production RHEL 5.2 servers:

From: Cron Daemon
To: Jeremy L. Gaddis
Cc:
Subject: Cron <root@SERVERNAME> run-parts /etc/cron.weekly

/etc/cron.weekly/makewhatis.cron:

rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: b4a0
error: db4 error(22) from db->close: Invalid argument
error: cannot open Pubkeys index using db3 - Cannot allocate memory (12)

...

There were probably a couple hundred errors in that e-mail. In addition, I also received an e-mail from our RHN Satellite Server letting me know that this particular server had failed to check in. Logging in, I saw that, indeed, it had not been checking in with the our satellite.

So, what to do? Google, of course! Fortunately, major over at Racker Hacker encountered this same issue about a year and a half ago and has already provided the fix for us:

[root@SERVERNAME ~]# tar cvzf rpmdb-backup.tar.gz /var/lib/rpm
[root@SERVERNAME ~]# rm /var/lib/rpm/__db.00*
[root@SERVERNAME ~]# rpm --rebuilddb
[root@SERVERNAME ~]# rpm -qa | sort # to make sure everything's okay

I wanted to verify that the cronjob would now successfully execute, so I invoked it manually:

[root@SERVERNAME ~]# sh /etc/cron.weekly/makewhatis.cron
[root@SERVERNAME ~]#

Success! It also seemed like a good time to go ahead and install the updates that were missing so I took care of those using yum.

Many thanks to major at Racker Hacker for the fix!

Configuring FreeRADIUS to support Cisco AAA Clients

In this demonstration, we’re going to install FreeRADIUS onto a CentOS 5.2 server and configure it to support AAA on Cisco devices.

“FreeRADIUS is the most widely deployed RADIUS server in the world. It is the basis for multiple commercial offerings. It supplies the AAA needs of many Fortune-500 companies and Tier 1 ISPs. It is also widely used in the academic community, including eduroam. The server is fast, feature-rich, modular, and scalable.” –FreeRADIUS home page

I’ve been using FreeRADIUS in production for a few years now, mostly to support wireless users. One of the benefits of FreeRADIUS — besides being open source, of course — is the numbers of backends one can use for authentication:

“If a password is not available locally for some reason, the server can pass the authentication to another system such as LDAP, PAM, Unix (/etc/passwd), Kerberos, Active Directory, or RADIUS server via RADIUS proxying. Local programs (e.g. CGI scripts) can also be used to authenticate users via shell scripts or any other method. Perl or Python scripts can be pre-loaded into the server, which significantly lowers the cost of running such programs.”

Powerful, huh? Indeed.

For this demonstration, I’m installing a new CentOS 5.2 virtual machine on my MacBook under VMware Fusion. Installing the operating system, however, is beyond the scope of this document. Also, we’ll just be using the local system database for now — we’ll save SQL and LDAP (perhaps even Active Directory) authentication for later. After we get FreeRADIUS up and running, we’ll set up a user account and then configure a Cisco router to use RADIUS for authentication.

Let’s begin with installing FreeRADIUS by running (as root) the following command:

[root@bertram ~]# yum -y install freeradius

“yum” should have went out, grabbed the appropriates packages and dependencies, and installed them. If the end of your output looks like this, you’re all set:

Complete!
[root@bertram ~]#

Because FreeRADIUS will need to use the local system database for authentication, we need to set ‘user = root’ and ‘group = root’ in radiusd.conf. This is easy enough, just open up /etc/raddb/radiusd.conf, and change the lines that reads “user = radiusd” and “group = radiusd” to “user = root” and “group = root”, respectively. Note that this (running our daemons as root) is almost always something we want to avoid. Using other authentication backends, such as SQL or LDAP, would not require this change and would allow the FreeRADIUS service to run under the default “radiusd” unprivileged account.

Next, we need to let FreeRADIUS know about our NAS — in this case, our Cisco router. For the sake of this demonstration, our router (R1) will have IP address 192.168.1.201. We’ll also need a shared secret that the router and RADIUS server use. Let’s use the ever popular “SECRET_KEY”. Add the following to the end of /etc/raddb/clients.conf:

client 192.168.1.201 {
        secret = SECRET_KEY
        shortname = R1
        nastype = cisco
}

Then, on the FreeRADIUS side, we need to create a user account in the local user database that we’ll use for actually authenticating to R1. Nothing special here, just creating a new user account and setting the password. I’ve passed the plain-text password into “passwd” via stdin so that you can see it. Normally, we wouldn’t do that — just run “passwd cisco” and enter the password when prompted:

[root@bertram ~]# /usr/sbin/useradd cisco
[root@bertram ~]# echo secret | passwd --stdin cisco
Changing password for user cisco.
passwd: all authentication tokens updated successfully.
[root@bertram ~]#

We now have a local user named “cisco” with a password of “secret” that we’ll use when it comes time to authenticate to R1. Before we can do that, however, we must let FreeRADIUS know about the user. Append the following to /etc/raddb/users:

cisco   Auth-Type := System
        Service-Type = NAS-Prompt-User,
        cisco-avpair = "shell:priv-lvl=15"

This notifies FreeRADIUS of a local user account named “cisco”. Using the “cisco-avpair” attribute in this manner allows us to automatically assign privilege level 15 to the user, removing the requirement for the user to issue “enable” (and the enable secret) in order to gain elevated access.

Let’s get started configuring R1. I’m going to assume that you’re starting from a default configuration. The first thing we want to do is create a “fallback” user account (on the router itself) that we can use to authenticate if, for some reason, connectivity to the RADIUS server is lost. Let’s create a user named “admin” with a password of “letmein”:

R1(config)#username admin privilege 15 secret letmein

Under normal circumstances, we’ll never use this local account — only when the RADIUS server is unavailable.

The first thing I need to do is configure my interface on R1 and verify we can ping the RADIUS server. Assuming you already have your router up and running, you can likely skip this step:

R1(config)#interface fastethernet 3/0
R1(config-if)#ip address 192.168.1.201 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#
*Mar  1 00:10:14.635: %LINK-3-UPDOWN: Interface FastEthernet3/0, changed state to up
*Mar  1 00:10:15.635: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to up
R1(config-if)#do ping 192.168.1.51

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.51, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/11/24 ms
R1(config-if)#

Excellent, all set! Let’s start configuring R1 for AAA:

R1(config)#aaa new-model
R1(config)#radius-server host 192.168.1.51 auth-port 1812 acct-port 1813 key SECRET_KEY

AAA should now be enabled on R1. Note that we provided the IP address of the RADIUS server as well as the shared secret we configured in FreeRADIUS earlier. In addition, we must specify the “auth-port” and “acct-port” used by FreeRADIUS, as these are different from Cisco’s defaults (1645 and 1646). Let’s configure authentication:

R1(config)#aaa authentication login default group radius local
R1(config)#line vty 0 4
R1(config-line)#login authentication default
R1(config-line)#line con 0
R1(config-line)#login authentication default

Here, we’ve told R1 to use RADIUS for authentication and to fall back to the local user database if the RADIUS server is not available. We don’t want to DoS ourselves!

The following command will allow the user to run an “exec” shell when logging into the router:

R1(config)#aaa authorization exec default group radius if-authenticated 

Last, but not least, we want accounting (the final “A” in “AAA”):

R1(config)#aaa accounting exec default start-stop group radius
R1(config)#aaa accounting system default start-stop group radius

That should be enough to allow us to login with our local (Linux) system account “cisco” that we created earlier. Let’s give it a shot:

macbook:~ jlgaddis$ telnet 192.168.1.201
Trying 192.168.1.201...
Connected to 192.168.1.201.
Escape character is '^]'.


User Access Verification

Username: cisco
Password:

R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                unassigned      YES unset  administratively down down
Ethernet0/1                unassigned      YES unset  administratively down down
Ethernet0/2                unassigned      YES unset  administratively down down
Ethernet0/3                unassigned      YES unset  administratively down down
Serial1/0                  unassigned      YES unset  administratively down down
Serial1/1                  unassigned      YES unset  administratively down down
Serial1/2                  unassigned      YES unset  administratively down down
Serial1/3                  unassigned      YES unset  administratively down down
FastEthernet3/0            192.168.1.201   YES manual up                    up
R1#exit
Connection closed by foreign host.
macbook:~ jlgaddis$

Success! We’ve installed FreeRADIUS, added a local user account, set up the NAS client (R1) and configured it to authenticate against the RADIUS server. Let’s take a look at what was logged by FreeRADIUS:

[root@bertram ~]# cat /var/log/radius/radacct/192.168.1.201/detail-20081119
Wed Nov 19 00:24:47 2008
        Acct-Session-Id = "00000005"
        User-Name = "cisco"
        Acct-Authentic = RADIUS
        Acct-Status-Type = Start
        NAS-Port = 130
        NAS-Port-Id = "tty130"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "192.168.1.49"
        Service-Type = NAS-Prompt-User
        NAS-IP-Address = 192.168.1.201
        Acct-Delay-Time = 0
        Client-IP-Address = 192.168.1.201
        Acct-Unique-Session-Id = "31b757fca2145e79"
        Timestamp = 1227072287

Wed Nov 19 00:25:14 2008
        Acct-Session-Id = "00000005"
        User-Name = "cisco"
        Acct-Authentic = RADIUS
        Acct-Terminate-Cause = User-Request
        Acct-Session-Time = 27
        Acct-Status-Type = Stop
        NAS-Port = 130
        NAS-Port-Id = "tty130"
        NAS-Port-Type = Virtual
        Calling-Station-Id = "192.168.1.49"
        Service-Type = NAS-Prompt-User
        NAS-IP-Address = 192.168.1.201
        Acct-Delay-Time = 0
        Client-IP-Address = 192.168.1.201
        Acct-Unique-Session-Id = "31b757fca2145e79"
        Timestamp = 1227072314

[root@bertram ~]#

If there’s interest, I may expand on this later to include huntgroups, multiple RADIUS servers, using MySQL for accounting, or even through some LDAP and/or Active Directory authentication into the mix. If you’re interested, please leave a comment below!

cheap laptops bad for vista, good for linux

A few weeks ago, eWeek ran an article by Steven J. Vaughan-Nichols entitled “Cheap Laptops Bad for Vista, Good for Linux“. In the article, he talks about the number of cheap laptops that people are buying up that aren’t capable of running Vista — but are quite capable of running Linux just fine.

Working in IT at an .edu, this is something I’m all too familiar with. I wish our Help Desk had kept count of how many students had come to them for assistance with their cheap laptops running Vista. I remember just a year or two ago and we were aghast at people who were running XP on laptops with only 256MB of RAM. Now it’s Vista laptops with just 512MB of RAM that we’re seeing.

Last Friday, someone poked their head into my office to let me know that a man and woman I knew wanted to talk to me. When I went out to talk to them a few moments later, it was the same thing I’ve heard countless times before. They had a laptop running Vista and were having issues. Besides the usual “it’s slow” routine, they said it had become completely unusable after the latest round of Windows Updates (the neverending “reboot, BSOD, reboot, BSOD” cycle). The laptop had came with Vista and they suffered through it up until this point. I knew what was coming and I tried to avoid it, but I finally gave in. I told them I’d blow it away and install XP for ‘em.

I learned a long time ago never to accept payment from friends because when their laptops screw up again, they’ll expect you to fix it again — for free, of course. Since this was late in the afternoon on a Friday and I had plans for the evening, I gave ‘em the “I’ll do it, but I can’t promise when I’ll have it done” spell. That was fine with them; the laptop was useless anyways.

When I finally got around to working on it, I watched it boot up and was surprised — I don’t know why — to see it was a 1.7GHz Pentium Mobile sporting a whopping 512MB of RAM. Who in their right mind would try to run Vista on that!? Anyways, long story short, I blew away Vista, reinstalled XP, got it back to ‘em and they’re happy as hell — the laptop is running faster than it ever has.

Now, back to the eWeek article… Vaughan-Nichols goes on to talk about how any modern Linux distribution (such as Fedora) will run great on these laptops, and he’s right. Every since I started using Linux over 10 years ago, it’s been possible to run it on hardware that Windows would choke on. I get better performance from my much slower Linux machines than I do from my better equipped XP machines, and I’m much more demanding of the Linux machines.

I’d love to convince these people to use Linux instead of Windows, but I just can’t. To do that would be to volunteer myself to be their first line of “tech support” and I just don’t have the time for that. These people aren’t interested in tinkering with their PCs, they just want ‘em to work.

Ironically, that’s one of the reasons I’ve never been a big fan of “Linux on the desktop”. All that tinkering is great for a while, but it gets old pretty quick. I used to love to constantly tweak my Linux machines, always downloading, compiling, and rebooting into the latest kernel just moments after it was released. Once I started having real work to do, however, I cut that out. Now, like most consumers, I just want my computers to work so that I can get my work done.

That’s one of the reasons I just ordered a MacBook

xen: 30 paravirt guests on a dl365

[root@jlgaddis-xen ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      440     4 r-----   1834.7
xen_01                                     1      255     1 -b----    502.3
xen_02                                     2      255     1 -b----    512.3
xen_03                                     3      255     1 -b----    508.5
xen_04                                     4      255     1 -b----    508.2
xen_05                                     5      255     1 -b----    511.7
xen_06                                     6      255     1 -b----    513.6
xen_07                                     7      255     1 -b----    503.7
xen_08                                     8      255     1 -b----    508.9
xen_09                                     9      255     1 -b----    511.2
xen_10                                    10      255     1 -b----    507.7
xen_11                                    53      255     1 -b----     29.7
xen_12                                    54      255     1 -b----     32.0
xen_13                                    55      255     1 -b----     31.3
xen_14                                    56      255     1 -b----     37.9
xen_15                                    57      255     1 -b----     26.8
xen_16                                    60      255     1 -b----     46.5
xen_17                                    59      255     1 -b----     46.2
xen_18                                    63      255     1 -b----     38.0
xen_19                                    65      255     1 -b----     34.8
xen_20                                    84      255     1 -b----     19.2
xen_21                                    85      255     1 -b----     20.0
xen_22                                    71      255     1 -b----     38.6
xen_23                                    70      255     1 -b----     37.4
xen_24                                    74      255     1 -b----     41.6
xen_25                                    73      255     1 -b----     41.3
xen_26                                    75      255     1 -b----     43.3
xen_27                                    76      255     1 -b----     43.2
xen_28                                    86      255     1 -b----     19.4
xen_29                                    87      255     1 -b----     20.2
xen_30                                    83      255     1 -b----     26.0

my new home router: buffalo whr-g125 running dd-wrt

Over the 12+ years that I’ve been on the Internet, I’ve used a number of different devices to provide routing between my home computer networks and the Internet: from 486 PCs to Cisco routers to Linksys wireless routers. For the last year or so, I’ve elected to keep things simple and have just been using a WRT54G. I’ve had a few of them in the past as well, and the current version I have (v6.0) has different firmware than the previous versions, which doesn’t make it easy to get “third-party” firmware running on it.

A number of folks that I talked to, as well as some of the students in my Linux Security class have been talking lately about DD-WRT. DD-WRT is third-party firmware (Linux, of course) that runs on a number of these “home routers”. The DD-WRT Wiki mentions that the Buffalo WHR-G125 is “the cheapest 100% compatible wireless router“, so a couple of days ago I picked one up at Best Buy for $50.

I brought it home, started a download of their firmware designed specifically for the WHR-G125, and unboxed it. In short, I had DD-WRT running on it in just about 10 minutes. It has now replaced the WRT54G as my home router.

One cool thing is that DD-WRT supports WDS. I’m considering getting another one to put on the roof (or as high as I can get it) and seeing if I can pick up the signal from work (we just deployed a new wireless network there within the last two months). I’m only about 0.4 miles away (the way the bird flies) so it’s possible, but the amount of vegetation in the way might be an issue. I’d also probably need to locate an external antenna on the front side of the building (which faces this way) to get the best reception. If I could do that, I’d have a permanent link to work, which has a much faster link to the Internet than my 10/1 Mbit/s cable modem provides. =)

upgrading to wordpress 2.3

WordPress 2.3 is out and I finally got around to upgrading, which took all of 90 seconds since I’m using subversion. Open source FTW!

aggregating and analyzing logs from multiple web servers

Over a year ago, we replaced our single web server running IIS5 on Windows 2000 with a pair of HP DL140’s running Apache on RHEL4. These two machines serve up our main web site as well as a number of low-traffic sites, to the world. When the Marketing folks, who handle the web sites, asked if we could generate statistics on the various web sites, I knew it wouldn’t be as simple as if we just had one server. awstats, my log analyzer of choice, works best when it has a single logfile to import. How then, could I aggregate the logfiles from two (or more) servers into a single logfile in chronological order?

For security reasons, I prefer to keep awstats on a separate server and configure Apache (and the firewalls) so that it’s only available from a few subnets. We already had an existing instance of awstats installed on another server from our II5/Win2K web server days, so I decided the easiest method would be to simply update it, reconfigure it, and make it available once again. The aggregated logfile and statistics, therefore, would need to be on a third server where awstats was at. Hmm…

I could have, fairly easily, used a combination of shell scripts and user accounts with SSH keys properly set up in order to transfer the log files to the third system. I’m kinda lazy, though (in the “good sysadmins are lazy” way). Being a huge open source zealot (in a predominantly Microsoft environment, nonetheless), I already have a database server running MySQL supporting some internal (and public) applications. Likewise, I have lots of existing Perl code that I’ve already written to work with MySQL data in a variety of ways. I decided that MySQL would be the solution and Perl would be the glue to hold it all together.

My Apache logs use the default logging format, with two exceptions: the first field of each entry is the virtual hostname, and the referer and user agent are included in the same file (”combined”). My “LogFormat” directive, in httpd.conf, looks like this:

LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
A bit farther down in our httpd.conf file, we use the following directive so that we end up with a single logfile with all the data we want, written to logs/accesslog:
CustomLog logs/accesslog combined
For the sake of both performance and simplicity, a single logfile is used. Many times you’ll see web servers that use a separate log file per virtual host, which is a performance hit to the server. (Note that I’ve never done any benchmarking to see how much of a performance hit, however.) The methods that follow can easily be adapted to support multiple log files.

If we’re going to be storing our log data in MySQL, we’re going to need a database. In my case, I’ve created a database (”wwwlogs”) that holds a single table (”logs”). The table looks like this:

mysql> DESCRIBE logs;
+-----------+--------------+------+-----+---------------------+----------------+
| Field     | Type         | Null | Key | Default             | Extra          |
+-----------+--------------+------+-----+---------------------+----------------+
| id        | bigint(20)   |      | PRI | NULL                | autoincrement |
| vhost     | varchar(255) |      |     |                     |                |
| clientip  | varchar(16)  |      |     | 0.0.0.0             |                |
| date      | datetime     |      |     | 1970-01-01 00:00:00 |                |
| request   | text         |      |     |                     |                |
| status    | smallint(6)  |      |     | 0                   |                |
| bytes     | int(11)      |      |     | 0                   |                |
| referer   | text         |      |     |                     |                |
| useragent | text         |      |     |                     |                |
+-----------+--------------+------+-----+---------------------+----------------+
9 rows in set (0.00 sec)
There’s a few fields in the Apache logfile that we don’t care about, so they’re not even imported into the database which saves us from having to ignore them later. The fields in the table map to the logfile as follows:
  • id : a primary key field generated by the database server (which we don’t directly use)
  • vhost : the virtual host (e.g. “www.domain.com”)
  • clientip : ip address of the client making the request
  • date : the date and time of the request
  • request : the actual resource (url) requested by the client
  • status : the status code returned by the server
  • bytes : the number of bytes returned by the server
  • referer : the referer provided by the client
  • useragent : the user-agent string provided by the client
Our daily logrotate scripts run (by default) at 04:02AM. After log rotation, the previous day’s logfile is at /var/log/httpd/access
log.1. This is the logfile that we want to import into our MySQL database. On each webserver, we have a crontab configured to invoke httpd-logs-to-sql.pl at 04:30AM daily. httpd-logs-to-sql.pl is the Perl script which reads in the logfile and imports it into MySQL. This script only takes a few seconds. On the server where awstats exists, we have two other cronjobs set up. The first, set to run at 04:45AM daily, invokes export-wwwlogs.pl, which is a Perl script that pulls the previous day’s data out of the MySQL database and writes it back out into Apache-style CLF logfiles (one per virtual host) in chronological order (needed to keep awstats from choking). The last cronjob, which runs at 05:00AM daily, invokes a number of instances of awstats (again, one per virtual host) to actually generate statistics for the previous day.

Shortly after 05:00AM, our Marketing group can navigate to the awstats site and view the statistics from the previous day.

When asked if I could provide statistics from our web sites, I was told that money was available if we needed to purchase a commercial product to provide this information. Once again, however, open source saves the day. This entire setup cost my company nothing, except for the couple of hours I spent setting the whole thing up. Could we have purchased and used a commercial product and gained even more insight into our web site? Absolutely. Since our web folks aren’t (yet) looking for that information, however, there was no need.

Once I clean up the code a bit (removing database credentials and such), I’ll post the scripts I wrote and some more details on the crontab entries. To be quite honest, this probably won’t be a huge priority for me so if you’re interested in getting a copy of the code, please post a comment encouraging me to do so. =)

One last note: like just about everything else, there are a number of different means one could use to come up with the same end result. I chose this path as it was the easiest for me. I’d be interested in hearing from others that have been approached with a similar problem but came up with a different solution (and, perhaps more importantly, how they came to that solution).

ohio linuxfest 2007

Bradley Kuhn, John “maddog” Hall, and Max Spevack are just a few of the speakers that will be on-hand to talk about Linux, open source, and Free Software. We have a full day of exciting, community oriented presentations for everyone who’s interested in learning more about Linux and open source.

Of course, all work and no play makes for dull geeks. Drew Curtis, of FARK, and the Linux Link Tech Show will host a conference kick-off/FARK party on Friday, September 28th (6pm till whenever) at Barley’s Brewing Company, just across the street from the Convention Center. And, of course, after a long conference, we can unwind at the legendary linuxfest afterparty in the Hyatt Regency Union Room, sponsored by Google with entertainment by NOTACON. We’ll have food and drinks from 8 p.m. until midnight.

Please help us spread the word to as many people as possible. Let them know that the Ohio Linuxfest is taking place on Saturday, September 29th, at the Greater Columbus Convention Center in Columbus, Ohio. The deadline for registration is September 21, so be sure to sign up for the LinuxFest today! Registration is free, and the sign-up on the web site takes just a few minutes!

See you in Columbus!

vmware esx server runs on linux

I just read The VMware House of Cards and started to post a comment, but decided the amount of stuff I was going to include facilitated its own post.

Basically, the article is an argument of whether or not VMware ESX server requires Linux in order to run (go read it!).

Ironically, I was just at a seminar yesterday where one of the VMware guys did a presentation. A ways into it, one of the audience was asking about what OS ESX installs onto and the VMware guy was having to explain about how you install it to bare metal. The audience guy didn’t quite understand and kept pressing the issue. The VMware guy absolutely refused to come out and say that ESX is based on Linux.

But, there is this…

[jlgaddis@bl-vmware1 jlgaddis]$ cat /etc/vmware-release VMware ESX Server 3 (Dali)
…and this…
[jlgaddis@bl-vmware1 jlgaddis]$ cat /etc/redhat-release Red Hat Enterprise Linux ES release 3 (Taroon)
…and, of course, this…
[jlgaddis@bl-vmware1 jlgaddis]$ cat /var/log/dmesg Linux version 2.4.21-37.0.2.ELvmnix (mts@pa-build51.eng.vmware.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)) #1 Tue Jan 2 21:02:22 PST 2007[VMnix version 37675] BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f400 (usable) BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000cfe50000 (usable) BIOS-e820: 00000000cfe50000 - 00000000cfe58000 (ACPI data) BIOS-e820: 00000000cfe58000 - 00000000d0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fed00000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved) BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 000000012ffff000 (usable) user-defined physical RAM map: user: 0000000000000000 - 000000000009f400 (usable) user: 000000000009f400 - 00000000000a0000 (reserved) user: 00000000000f0000 - 0000000000100000 (reserved) user: 0000000000100000 - 0000000011000000 (usable) E820: reported memory end 11000000 VMNIX: linux MA=[0x0,0x11000000) VMNIX: vmkernel MPN=[0x11000,0xcfe4f] VMNIX: vmkernel MPN=[0x100000,0x12fffe] vmk: 0000000000000000 - 000000000009f400 (usable) vmk: 000000000009f400 - 00000000000a0000 (reserved) vmk: 00000000000f0000 - 0000000000100000 (reserved) vmk: 0000000000100000 - 00000000cfe50000 (usable) vmk: 00000000cfe50000 - 00000000cfe58000 (ACPI data) vmk: 00000000cfe58000 - 00000000d0000000 (reserved) vmk: 00000000fec00000 - 00000000fed00000 (reserved) vmk: 00000000fee00000 - 00000000fee10000 (reserved) vmk: 00000000ffc00000 - 0000000100000000 (reserved) vmk: 0000000100000000 - 000000012ffff000 (usable) 0MB HIGHMEM available. 272MB LOWMEM available. found SMP MP-table at 000f4f80 hm, page 000f4000 reserved twice. hm, page 000f5000 reserved twice. hm, page 000fd000 reserved twice. hm, page 000fe000 reserved twice. NX (Execute Disable) protection: active On node 0 totalpages: 69632 zone(0): 2048 pages. zone(1): 67584 pages. zone(2): 0 pages. VMNIX: Scanning [0x0, 0x400) c0000000 VMNIX: Scanning [0x9fc00, 0xa0000) c009fc00 VMNIX: Scanning [0xf0000, 0x100000) c00f0000 VMNIX: Found MPS at c00f4f80 len=0x1 spec=0x4 feature=[0x0 0x0] VMNIX: MPC at 0xfdbdc VMNIX: MPC length is 604 VMNIX: MPC mapped at fc6fdbdc VMNIX: MPC spec=0×4 count=0×40 lapic=0xfee00000 HP VMNIX: Scanning for ACPI table [0x0, 0x400) c0000000 VMNIX: Scanning for ACPI table [0xe0000, 0x100000) c00e0000 VMNIX: Found ACPI RSDP at c00f4f00 sig=RSD PTR rev=2 oem=[HP ] VMNIX: RSDT is at cfe50000 VMNIX: RSDT length is 60 VMNIX: RSDT mapped at fc6fd000 VMNIX: There are 6 Description Tables VMNIX: ACPI DT header at 0xcfe50080 VMNIX: DT signature [FACP], length 116 VMNIX: DT mapped at fc6fd080 VMNIX: saved VMNIX: ACPI DT header at 0xcfe50140 VMNIX: DT signature [SPCR], length 80 VMNIX: DT mapped at fc6fd140 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe501c0 VMNIX: DT signature [MCFG], length 60 VMNIX: DT mapped at fc6fd1c0 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe50200 VMNIX: DT signature [HPET], length 56 VMNIX: DT mapped at fc6fd200 VMNIX: saved VMNIX: ACPI DT header at 0xcfe50240 VMNIX: DT signature [SPMI], length 64 VMNIX: DT mapped at fc6fd240 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe50280 VMNIX: DT signature [APIC], length 222 VMNIX: DT mapped at fc6fd280 VMNIX: saved Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: HP Product ID: PROLIANT APIC at: 0xFEE00000 APICsettype: PIV or K8 VMNIX: BSP APIC ID from MPS: 0×0 Processor #0 Pentium 4(tm) APIC version 20 Bootup CPU Processor #1 Pentium 4(tm) APIC version 20 Processor #2 Pentium 4(tm) APIC version 20 Processor #3 Pentium 4(tm) APIC version 20 Bus #0 is PCI Bus #1 is PCI Bus #2 is PCI Bus #4 is PCI Bus #8 is PCI Bus #9 is PCI Bus #10 is PCI Bus #11 is PCI Bus #12 is PCI Bus #13 is PCI Bus #16 is PCI Bus #19 is PCI Bus #21 is PCI Bus #241 is ISA I/O APIC #8 Version 17 at 0xFEC00000. I/O APIC #9 Version 17 at 0xFEC01000. Int: type 0, pol 3, trig 3, bus 0, IRQ 0c, APIC ID 9, APIC INT 0b Int: type 0, pol 3, trig 3, bus 0, IRQ 10, APIC ID 9, APIC INT 09 Int: type 0, pol 3, trig 3, bus 0, IRQ 11, APIC ID 9, APIC INT 0a Int: type 0, pol 3, trig 3, bus 0, IRQ 1c, APIC ID 8, APIC INT 05 Int: type 0, pol 3, trig 3, bus 8, IRQ 3c, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 8, IRQ 40, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 8, IRQ 44, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 8, IRQ 48, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 8, IRQ 4c, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 16, IRQ 00, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 16, IRQ 01, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 16, IRQ 02, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 16, IRQ 03, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 10, IRQ 00, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 10, IRQ 01, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 10, IRQ 02, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 10, IRQ 03, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 12, IRQ 00, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 12, IRQ 01, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 12, IRQ 02, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 12, IRQ 03, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 13, IRQ 00, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 13, IRQ 01, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 13, IRQ 02, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 13, IRQ 03, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 19, IRQ 00, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 19, IRQ 01, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 19, IRQ 02, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 19, IRQ 03, APIC ID 9, APIC INT 03 Int: type 0, pol 1, trig 1, bus 241, IRQ 00, APIC ID 8, APIC INT 02 Int: type 0, pol 1, trig 1, bus 241, IRQ 01, APIC ID 8, APIC INT 01 Int: type 0, pol 1, trig 1, bus 241, IRQ 03, APIC ID 8, APIC INT 03 Int: type 0, pol 1, trig 1, bus 241, IRQ 04, APIC ID 8, APIC INT 04 Int: type 0, pol 1, trig 1, bus 241, IRQ 06, APIC ID 8, APIC INT 06 Int: type 0, pol 1, trig 1, bus 241, IRQ 07, APIC ID 8, APIC INT 07 Int: type 0, pol 1, trig 1, bus 241, IRQ 08, APIC ID 8, APIC INT 08 Int: type 0, pol 3, trig 3, bus 241, IRQ 09, APIC ID 8, APIC INT 09 Int: type 0, pol 1, trig 1, bus 241, IRQ 0c, APIC ID 8, APIC INT 0c Int: type 0, pol 1, trig 1, bus 241, IRQ 0d, APIC ID 8, APIC INT 0d Int: type 0, pol 1, trig 1, bus 241, IRQ 0e, APIC ID 8, APIC INT 0e Int: type 0, pol 1, trig 1, bus 241, IRQ 0f, APIC ID 8, APIC INT 0f Int: type 3, pol 1, trig 1, bus 241, IRQ 00, APIC ID 8, APIC INT 00 Lint: type 3, pol 1, trig 1, bus 241, IRQ 00, APIC ID ff, APIC LINT 00 Lint: type 1, pol 1, trig 1, bus 241, IRQ 00, APIC ID ff, APIC LINT 01 Processors: 4 xAPIC support is present Enabling APIC mode: Physical. Using 2 I/O APICs DMI 2.3 present. 60 structures occupying 1528 bytes. DMI table at 0×000EE000. BIOS Vendor: HP BIOS Version: A10 BIOS Release: 12/02/2006 System Vendor: HP Product Name: ProLiant DL365 G1 Version: Serial Number: USE708N435 UUID 3431313337375553453730384e343335 Kernel command line: ro root=UUID=04fddb43-6d58-437e-b327-c39ba715b9b3 mem=272M cpci=10:;12:;14:4;16:; Initializing CPU#0 Detected 1800.120 MHz processor. Console: colour VGA+ 80×25 Calibrating delay loop… 3591.37 BogoMIPS Page-cache hash table entries: 131072 (order: 7, 512 KB) Page-pin hash table entries: 32768 (order: 5, 128 KB) Dentry cache hash table entries: 65536 (order: 7, 512 KB) Inode cache hash table entries: 32768 (order: 6, 256 KB) Buffer cache hash table entries: 32768 (order: 5, 128 KB) Memory: 259604k/278528k available (1649k kernel code, 16424k reserved, 1207k data, 376k init, 0k highmem) zapping low mappings. Mount cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line) Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: 078bfbff ebd3fbff 00000000 00000000 CPU: Common caps: 078bfbff ebd3fbff 00000000 00000000 CPU: AMD Dual-Core AMD Opteron(tm) Processor 2210 stepping 02 Enabling fast FPU save and restore… done. Enabling unmasked SIMD FPU exception support… done. Checking ‘hlt’ instruction… OK. POSIX conformance testing by UNIFIX enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 ENABLING IO-APIC IRQs Setting 8 in the physidpresentmap Setting 9 in the physidpresentmap init IO_APIC IRQs IO-APIC (apicid-pin) 8-0, 8-10, 8-11, 9-2, 9-5, 9-6, 9-7, 9-8, 9-13, 9-14, 9-15 not connected. ..TIMER: vector=0×31 pin1=2 pin2=0 number of MP IRQ sources: 42. number of IO-APIC #8 registers: 16. number of IO-APIC #9 registers: 16. testing the IO APIC…………………..

IO APIC #8…… …. register #00: 08000000 ……. : physical APIC id: 08 ……. : Delivery Type: 0 ……. : LTS : 0 …. register #01: 000F0011 ……. : max redirection entries: 000F ……. : PRQ implemented: 0 ……. : IO APIC version: 0011 …. register #02: 08000000 ……. : arbitration: 08 …. IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 000 00 0 0 0 0 0 0 0 39 02 000 00 0 0 0 0 0 0 0 31 03 000 00 0 0 0 0 0 0 0 41 04 000 00 0 0 0 0 0 0 0 49 05 000 00 1 1 0 1 0 0 0 51 06 000 00 0 0 0 0 0 0 0 59 07 000 00 0 0 0 0 0 0 0 61 08 000 00 0 0 0 0 0 0 0 69 09 000 00 1 1 0 1 0 0 0 71 0a 000 00 1 0 0 0 0 0 0 00 0b 000 00 1 0 0 0 0 0 0 00 0c 000 00 0 0 0 0 0 0 0 79 0d 000 00 0 0 0 0 0 0 0 81 0e 000 00 0 0 0 0 0 0 0 89 0f 000 00 0 0 0 0 0 0 0 91

IO APIC #9…… …. register #00: 09000000 ……. : physical APIC id: 09 ……. : Delivery Type: 0 ……. : LTS : 0 …. register #01: 000F0011 ……. : max redirection entries: 000F ……. : PRQ implemented: 0 ……. : IO APIC version: 0011 …. register #02: 09000000 ……. : arbitration: 09 …. IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 1 0 1 0 0 0 99 01 000 00 1 1 0 1 0 0 0 A1 02 000 00 1 0 0 0 0 0 0 00 03 000 00 1 1 0 1 0 0 0 A9 04 000 00 1 1 0 1 0 0 0 B1 05 000 00 1 0 0 0 0 0 0 00 06 000 00 1 0 0 0 0 0 0 00 07 000 00 1 0 0 0 0 0 0 00 08 000 00 1 0 0 0 0 0 0 00 09 000 00 1 1 0 1 0 0 0 B9 0a 000 00 1 1 0 1 0 0 0 C1 0b 000 00 1 1 0 1 0 0 0 C9 0c 000 00 1 1 0 1 0 0 0 D1 0d 000 00 1 0 0 0 0 0 0 00 0e 000 00 1 0 0 0 0 0 0 00 0f 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 IRQ16 -> 0:5 IRQ17 -> 1:0 IRQ18 -> 1:1 IRQ19 -> 1:3 IRQ20 -> 1:4 IRQ21 -> 1:9 IRQ22 -> 1:10 IRQ23 -> 1:11 IRQ24 -> 1:12 ……………………………… done. Process timing init…done. mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel PCI: PCI BIOS revision 3.00 entry at 0xf0072, last bus=21 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Ignoring BAR0-3 of IDE controller 00:06.1 PCI: Discovered peer bus 08 PCI->APIC IRQ transform: (B0,I3,P0) -> 23 PCI->APIC IRQ transform: (B0,I4,P0) -> 21 PCI->APIC IRQ transform: (B0,I4,P1) -> 22 PCI->APIC IRQ transform: (B0,I4,P1) -> 22 PCI->APIC IRQ transform: (B0,I4,P0) -> 21 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B8,I15,P0) -> 17 PCI->APIC IRQ transform: (B8,I16,P0) -> 20 PCI->APIC IRQ transform: (B8,I17,P0) -> 19 PCI->APIC IRQ transform: (B8,I18,P0) -> 24 PCI->APIC IRQ transform: (B8,I19,P0) -> 18 PCI->APIC IRQ transform: (B16,I0,P0) -> 20 PCI->APIC IRQ transform: (B10,I0,P0) -> 19 PCI->APIC IRQ transform: (B12,I0,P0) -> 24 PCI BIOS passed nonexistent PCI bus 14! PCI: using PPB(B13,I0,P0) to get irq 18 PCI->APIC IRQ transform: (B14,I8,P0) -> 18 VMNIX: vmnixPCIInfo=10:;12:;14:4;16:; VMNIX is hiding PCI device (B16,I0,P0) VMNIX is hiding PCI device (B10,I0,P0) VMNIX is hiding PCI device (B12,I0,P0) VMNIX is hiding PCI device (B14,I8,P0) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket IA-32 Microcode Update Driver: v1.13 tigran@veritas.com Starting kswapd aiosetup: numphyspages = 17408 aiosetup: sizeof(struct page) = 60 Journalled Block Device driver loaded pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANYPORTS MULTIPORT SHAREIRQ SERIALPCI enabled ttyS0 at 0×03f8 (irq = 4) is a 16550A ttyS1 at 0×02f8 (irq = 3) is a 16550A Floppy drive(s): fd0 is 1.44M floppy0: no floppy controllers found RAMDISK driver initialized: 256 RAM disks of 64000K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx hda: HL-DT-ST GCR-8240N, ATAPI CD/DVD-ROM drive ide0 at 0×1f0-0×1f7,0×3f6 on irq 14 hda: attached ide-cdrom driver. hda: ATAPI 24X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.12 SCSI subsystem driver Revision: 1.00 kmod: failed to exec /sbin/modprobe -s -k scsihostadapter, errno = 2 kmod: failed to exec /sbin/modprobe -s -k scsihostadapter, errno = 2 Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 32768 bind 65536) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: Compressed image found at block 0 Freeing initrd memory: 6153k freed VFS: Mounted root (ext2 filesystem). Mod: 698: vmnix module initmodule=0xd180f828 STACKTOPLA=0xfd402ff0 Mod: 3216: hb timer on. Mod: 3283: Started hb thread. IRQ: 291: COS is using IOAPIC Mod: 2305: Setting 0xfce00000 to read-only Mod: 2305: Setting 0xfd000000 to read-only Mod: 2305: Setting 0xfd200000 to read-only VMNIX: BSP APIC ID: 0×0 IRQ: 950: irq 0 is used IRQ: 954: irq 0 is enabled IRQ: 950: irq 1 is used IRQ: 954: irq 1 is enabled IRQ: 950: irq 2 is used IRQ: 954: irq 2 is enabled IRQ: 950: irq 14 is used IRQ: 954: irq 14 is enabled IRQ: 1134: Usurping irq 0 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 1 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 2 (from XT-PIC to vmnix-edge) IRQ: 1134: Usurping irq 3 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 4 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 6 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 7 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 8 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 9 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 12 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 13 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 14 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 15 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 16 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 17 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 18 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 19 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 20 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 21 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 22 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 23 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 24 (from IO-APIC-level to vmnix-level) VGA: 297: VGA start b8000 end c0000 mapped start c00b8000 char height 16 VGA: 397: VGA: 425: 0 Console: switching to colour VMNIX-VGA 80×25 Partition check: cciss/c0d0: p1 p2 p3 p4 < p5 p6 p7 > scsi0 : qla2300 scsi: unknown type 12 Vendor: COMPAQ Model: MSA1000 Rev: 5.10 Type: Unknown ANSI SCSI revision: 04 Vendor: COMPAQ Model: MSA1000 VOLUME Rev: 5.10 Type: Direct-Access ANSI SCSI revision: 04 resizedmapool: unknown device type 12 VMWARE SCSI Id: Supported VPD pages for sda : 0×0 0×80 0×83 0xc0 0xb0 0xc1 VMWARE SCSI Id: Device id info for sda: 0×1 0×3 0×0 0×10 0×60 0×5 0×8 0xb3 0×0 0×93 0xac 0xe0 0xaf 0xa2 0×8f 0×6b 0xf6 0×7f 0×0 0xd 0×1 0×0 0×0 0×4 0×0 0×0 0×0 0×0 0×2 0×3 0×0 0×20 0×36 0×30 0×30 0×35 0×30 0×38 0×42 0×33 0×30 0×30 0×39 0×33 0×41 0×43 0×45 0×30 0×41 0×46 0×41 0×32 0×38 0×46 0×36 0×42 0×46 0×36 0×37 0×46 0×30 0×30 0×30 0×44 0×2 0×0 0×0 0×8 0×30 0×30 0×30 0×30 0×30 0×30 0×30 0×30 VMWARE SCSI Id: Id for sda 0×60 0×05 0×08 0xb3 0×00 0×93 0xac 0xe0 0xaf 0xa2 0×8f 0×6b 0xf6 0×7f 0×00 0×0d 0×4d 0×53 0×41 0×31 0×30 0×30 VMWARE: Unique Device attached as scsi disk sda at scsi0, channel 0, id 0, lun 3 Attached scsi disk sda at scsi0, channel 0, id 0, lun 3 resizedma_pool: unknown device type 12 SCSI device sda: 614402047 512-byte hdwr sectors (300000 MB) sda: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. Freeing unused kernel memory: 376k freed usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 21:03:42 Jan 2 2007 usb-uhci.c: High bandwidth mode enabled usb-uhci.c: USB UHCI at I/O 0×1800, IRQ 22 usb-uhci.c: Detected 8 ports usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 8 ports detected usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb-ohci.c: USB OHCI at membase 0xd20b6000, IRQ 16 usb-ohci.c: usb-00:07.0, PCI device 1166:0223 (ServerWorks) usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected usb-ohci.c: USB OHCI at membase 0xd20b8000, IRQ 16 usb-ohci.c: usb-00:07.1, PCI device 1166:0223 (ServerWorks) usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found hub.c: 2 ports detected ehci-hcd 00:07.2: PCI device 1166:0223 (ServerWorks) ehci-hcd 00:07.2: irq 16, pci mem d20c1000 usb.c: new USB bus registered, assigned bus number 4 PCI: 00:07.2 PCI cache line size set incorrectly (64 bytes) by BIOS/FW. PCI: 00:07.2 PCI cache line size corrected to 128. ehci-hcd 00:07.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Jan-22 hub.c: USB hub found hub.c: 4 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@suse.cz hid-core.c: USB HID support drivers mice: PS/2 mouse device common for all mice hub.c: new USB device 00:04.4-1, assigned address 2 input0: USB HID v1.01 Keyboard [HP Virtual Keyboard] on usb1:2.0 input1: USB HID v1.01 Mouse [HP Virtual Keyboard] on usb1:2.1 EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,2), internal journal Adding Swap: 554856k swap-space (priority -1) hub.c: new USB device 00:04.4-2, assigned address 3 hub.c: USB hub found hub.c: 7 ports detected kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,1), internal journal EXT3-fs: mounted filesystem with ordered data mode. hub.c: new USB device 00:07.1-1, assigned address 2 kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,6), internal journal EXT3-fs: mounted filesystem with ordered data mode. hub.c: USB hub found hub.c: 4 ports detected

I dunno, what do you guys think? Does that look like Linux to you? It sure does to me!