Older blog entries for lgerbarg (starting at number 22)

I was akmost caught up with thngs, time for karma to catch up with me, so my laptop is dying.

More exactly I think the fan is dead, and that all the other problems are overheating... well I know that things are overheating, whetheer it is the fan or a temparture sesnor (though I though CPU temp was measured through the ICTC on G3s), it is not happy.

Makes sense, I amwaiting for OS X PB, and my machine goes up in smoke, typical, typical

You know, I really should have hit enter yesterday, when I wrote this

Ugh, today was just one of those days.

I caught something last week. It has finally started to go away. Things were looking up. I had some things I wanted to do today, and a few things that I needed to do. It looked like I was going to get a chnace to do some optional stuff (Darwin work, some work on the 3c556B Linux driver, etc), now it looks doubtful and I am pulling an all nighter to boot...

I was about to go out to dinner with some friends, and I was brushing my hair in the bathroom. A bit of hair was caught in the brush, so I was pulling it out. All of the sudden this little black spec came flying out of the brush (probably one of those round things at the tip of a bristle). It got caught my eye.

I spent over 2 hours in the emergency room, the vast majority of it waiting. Fortunately the doctor got it out without a problem, and there were no scratches on my eye. Also, the anasthetic they used on my eye is not interfering with my vision, which means I can get my work done, even if I do need to pull an all nighter...

It has been a while since updated so here goes:

The installfest was a pretty big success. I organzied some big iron server hardware (well, pretty big comapred to what I usually deal with), Jon and Dave built a custom bsd install, and they finished debugging the FreeBSD driver update to support the 3c556B

I have been looking at porting Darwin to the 6500 class powermac. In trying to find info on its northbridge I have basicly concluded that the PSX/PSX+ northbridge is a scaled back version of the apple bandit northbridge. If that is the case this seems pretty reasonable.

I just got the 3c556B working under linux. My patch is against the Donald Becker driver, and only tested on a laptop with a very nastily botched eeprom. I will test it on a pristine laptop later tonight, and will port my patch to the stock 2.2.17, as 2.4.0, and whatever redhat includes with 6.2 (which is what I really technically need to support...)

I wonder if that means I should somehoe link myself to the linux project on advogato... I mean it really isn't much code, though it does get a NIC working. I did it as a favor, I don't even own the hardware, and I don't really use linux. Interesting question to ponder. Oh well.

Well, I have made most of the plans, I am almost certainly going to BSDcon 8-) That should be a lot of fun. Just some details to workout but all the important things are arranged.

Was reading kernel traffic, and noticed someone mentioned the PCI-id of the MiniPCI were using. I have contactedc some people involved with the vortex driver. Oddly enough someone else from RPI had also contacted them. We may be able to get this thing working in atimely fashion after all...

Rooneg Seeing as I am probably going to be de facto head of SIG- Macintosh, I would like to propose a joint discussion on Darwin for both of the SIGs. It should definately not be the first thing we do, but I think it could be really interesting. There are a whole bunch of ways we could go about it, I will hunt you down and discuss it later

Woke up late, spent two hours fighting with an Airport basestation. I drove to Philadelphia to visit my parents. When I got in a set my machine to airport, and it worked great. The next morning the airport was not bridging, though I could ping it from both sides. I needed to reload the firmware, twice. My mother thinks it is karma, as soon as I enter the house something (computer related) breaks...

I miss my TiVo. It is odd, but being somewhere where I cannot pause the television seems strange now. I guess I have become acclimated to it. Silly technology...

Some people on avsforum figured out how to get scheduling updates via a network connection 8-) I suppose I will have to fiddle with that soon, afterall I have a LAN in my house, but only one phoneline. I hope someone actually puts in the time to figure out how to interface the lan chip they have support for in their kernel to the motherboard. I am up for the soldering, and would prefer that to a ppp ethernet bridge. The edge connecter on the board seems to lead directly from the processor, and the chip appears to be interfaces that way, so it should be reltively simple to connect, if anyone figures out which addressline goes where, etc.

Well, the discussion about SystemStarter seems to have died down, I am not sure if anything was exactly resolved, but I think everyone has managed to think about it a bit, and probably has realized there is some margin on all sides. I think that I am going to look at the code I have written, decide if any of it is at all useful in anything resembling the scheme on the table, and if so isolate that and make a patch. I am not optimistic about that, but this was kind of a side project anyway, I just wanted to get it working for / dev/random. I was doing this for a few days while I was thinking about the best way to implement some of the entropy gathering, I think I will go back to that.

I tried to get FAQ-O-Matic to build on any of the machines I have CGI access on, it did not seem to like them. Maybe I should just get a sourceforge project, they probably have machines that are better setup for things like this. Or I could setup another maachine, but RPI seems to have completely revised some of the firewall rules, and it might be a real pain to get a new IP through it.

I spent a few hours playing with Larry's T20 tring to get its ethernet card (3com MiniPCI) up and running under linux. This makes no real sense to me, since I barely use intel hardware, I don't use any 3com hardware, and have not used linux in a year or so. I had no luck. A friend had a written a patch for FreeBSD. He told me I would have to map the rom and add the card id to the linux driver. I definately did the later correctly, not so sure about the former. He told me I should just look at the docs for the 905B otherwise. That does me very little good, since the driver I was patching already works with the 905B ;-) He also was supposed to submit-pr his driver, but I don't think he did... So I have two lines of notes consisting of addresses, and a linux driver that works for similar cards. I am not about to go poking around, since:

  • I don't know how to twiddle pci from userspace under linux
  • I probably would make assumptions about how things work based on my experience in the big-endian world
  • I know that accessing the eeprom wrong can make the card unusable (though it can be fixed if you know what you are doing)
  • The person who go tthe FreeBSD driver working has been writing 3com driver code for the last year, and was very familiar with 3com chips, I am not, and this card has no documentation
Oh well, I gave it my best shot. Given good documentation and a little while I could do it, given a few days and documentation, it is probably best left to someone who has some familiarity with it.

Egads, I am starting to finally understand the whole BSD vs SysV init script arguments. I only got involved with this because I need a script to run some entropy maintenance routines in Darwin. I posted some suggestions on how it should be done, utilizing Apple's SystemStarter, the next thing people are screaming that we should be using SysV runlevels, or this or that, or the other thing. Well, personally I am against all that for reason Darwin is the core of Mac OS X. It is not some random unix distribution that happens to use Apple's kernel, if people want that they should use Linuxppc or Netbsd-macppc with their kernels.

Darwin allows developers to work with a lot of nice stuff like NetInfo. I have come to the conclusion that conventional runlevels are inappropriate for OS X, the average user is not a sysadmin. I want a tool that does automatic dependency analysis, etc. And people keep screaming about efficency... How efficent does the equivalent of a runlevel chnage need to be!?! Am I bizzare, does everyone else run scripts in the background that chnage their runlevels every 4 seconds? What does it matter if a runlevel chnage takes twocpu seconds instead of one? Ugh. Oh well..

Bumped into the webpage of some former students of mine, from when I was involved with an Introduction to Computer Science class. Made me smile.

Sometimes I hate mailing lists. There are two big threads one Darwin Development that are kind of rediculuous. One is an argumnet over packacging systems. Some people want to keep using dpkg (which is only sort of used anyway), some people want to switch to RPM, and some people want to use FreeBSDs pkg/ports system. Personally I am in favor of the later. I have used and like it very much, but more importantly, I think that it make a lot of sense since a lot of our userland is BSD.

The second is an argument about what Darwin's Mascot should be. This kind of thing is important, and has its place, which is the Darwinos-Users mailing list, IMHO. I am also pretty sure most of the Darwin-Dev members are on that list. I just am really not interested and don't think it is very development related. Maybe I am entirely on my own though.

I got some very good info on how to gather entropy. Darwin has some internal profiling code that can track all sorts of latencies, and I am goingto hook into that. It is a lot more complex then just throwing add_randomness calls into critical paths, but it is much better. What I will probably do is Is have a background mach thread that wakes up every second or, so grab the latency data from a nuch of things, through one nibble for each tracted statistic into entropy, and be very happy. I am still evaluating how best to do this.

There is no way to get Darwin to run shutdown scripts, which means that there is no way to preserve entropy. I decided to fix this. I pactehd SystemStarter so that with the correct flags it will run shutdown items, etc. I have tested it from the commandline, it works.

I then attempted to patch init so that it called this one shutdown what a mess. The enw init only contains patches to the death function (it is almost identical freebsd's init.c), but then whenever I reboot the rc runs, then SystemStarter runs, but does not parse any StartUpItems. It comes up to single user just fine. I don't get it, death() should not be called until the system goes down, what is my mod doing to the startup code? I need to setup a second machine to do debugging.

Productive day today.

I have manged to get my system updated and running properly once again. I think there is no "good" way to update from the old HFS+ hardlinks to the new ones, I have tried a couple of times. The most successful was when I ran fsck_hfs on a live filesystem, rebooted to MacOS, and then ran norton utilities (It kept failing boot checks), then reboot into Darwin and let fsck_hfs clean up what Norton did. Maybe I should have tracked down all the hardlinks binaries, unlink one half, copy place copy their reboot, and then relink...

I tracked down some build errors in /dev/random. One was silly error I introduced when I consildated some headers, and one was a dependency between on of my headers and <sys/types.h> that I did not notice until cvs update caused it to break.

I placed some network entrop code in the kernel, but it does not appears to grabbing anything. I am not sure that the function (well, macro...) I placed in is being called. I need to hunt that down.

Everything seems to work, I need to make sure the ceiling doesn't cave in on me ;-)

I found out I should not attempt to correct a spelling error I made two days ago, since it moves the diary entry to the day I made the correction.

Everything is working better today. I now know that MacOS has soem tineresting booting requirements, and I did not lose sany significant data.

The following was posted on the 9th:

Everything blew up today. I wrote a small patch to get the network entropy. It seemed good, though it had a compile error in an included file (which works everywhere else it is included).

Somehow I broke my compiler. when the config script says "Working cc <no>" things are bad. I attempted to set up a cross compiler from FreeBSD, but I decided it would be simpler to reinstall Darwin.

Somewhere in there MacOS crashed big time. I can read the partition, but it hangs on a happy mac. Norton and Apple Disk Repair claim it is okay.

I had an improper shutdown in Darwin, which proceeded to causes it boot, fsck and reboot indefinately. I got to single user, tried to fix it, and nothing changed. I reset my open firmware, and it suddenly worked again.

I proceeded to break gcc again.

So I am left with a system that fails to boot into MacOS, and only boots into a Unix with no cc. Time to wipe the drive...

And I was so productive the last few days 8-(

13 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!