summaryrefslogtreecommitdiff
path: root/unsorted/JoachimNilssonHurdPage.mdwn
blob: 163d68459cda9207f4f4961482c36e812eeb65b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
## <a name="Introduction"> Introduction </a>

This page serves as a simple project page for me. I use it to list my personal Hurd related projects, currently only OSKit related. If you wish to comment on my work, do so in [[TWiki/GoodStyle]], preferably at the bottom of this page.

The OSKit work is based on the St. Patrick's Day release, snapshot 20020317.

These patches are available through the [Savannah OSKit project](http://savannah.gnu.org/projects/oskit/) Hopefully they will also be integrated into the main tree at Utah.

## <a name="Progress"> Progress </a>

**_2005-02-05:_** Sorry, these pages are now dead. It turned out that my spare time actually was limited. I have a family with a second child due in August — so it's unlikely that I'll ever go back to working with these patches. However, I plan on joining the [[HurdOnL4]] project, possibly to help with drivers, since that's what I do at work mostly.

**_2003-04-17:_** I've become a bit distracted lately from my Hurd related projects. My work has consumed a lot of time, as have my personal life (I'm about to become a dad! :). But don't worry, I have been working quietly in the background anyway - the OSKit patches have been integrated into the Savannah OSKit project and a new [[TWiki/GnuSkin]] release has been made.

There is one thing now, only one little thing that I want to have finished before the summer. My Promise ATA-100 controller - support for it in [[Mach/OskitMach]]. Any spare time I find I'll spend on getting that one up and running.

## <a name="Current_Project"> Current Project </a>

I'm working on importing the Linux ATA-100 drivers to the OSKit. Using patches by Linux ATA guy, Andr� Hedrick. [ATA-100 patches](http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.2.20/).

At my help I now have [[Main/OgnyanKulev]], he will test a few ATA-100 cards he has access to.

[[Main/JoachimNilsson]]:

* HighPoint HPT366 ATA-66
* Promise PDC202XX ATA-100

[[Main/OgnyanKulev]]:

* Promise PDC202XX
* Intel 82801BA
* Silicon Image CMD649

### <a name="OSKit_ATA_100_Support"> </a> OSKit - ATA-100 Support

I have used the Linux 2.2.22 patch as the base and added the Linux ide-2.2.20.01102002 patch on top. Integration is now complete, testing have started. An alpha quality release is available below, if you want to help out with testing or be on the bleeding edge of things, please contact me via email.

<table border="1" cellpadding="1" cellspacing="0">
  <tr>
    <th bgcolor="#99CCCC"><strong>Part</strong></th>
    <th bgcolor="#99CCCC"><strong>Brief description</strong></th>
    <th bgcolor="#99CCCC"><strong>DIFF</strong></th>
    <th bgcolor="#99CCCC"><strong>Date</strong></th>
  </tr>
  <tr>
    <td> 2.2.22-ATA (ALPHA) </td>
    <td> Adds ATA-100/66 capabilities (alpha release) </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.22-ATA-alpha.diff.gz" target="_top">patch-oskit-linux-2.2.22-ATA-alpha.diff.gz</a></td>
    <td align="right"> Jan 3, 2003 </td>
  </tr>
</table>

**_Comments:_**

* Progress is slow.
  * Off-board chipsets seem more difficult ...
  * PIIX chipset works, tuning included.

----

## <a name="Previous_Projects"> Previous Projects </a>

### <a name="OSKit_New_Linux_NIC_drivers"> </a> OSKit - "New" Linux NIC drivers

"New" means simply to add more of the drivers existing in Linux 2.2.X that don't exist in the OSKit today.

To test any of the work in this project you first need to upgrade the OSKit to Linux 2.2.22 (or later) using my patches below. The first stage deals with network drivers, 10 and 100 Mbps. Gigabit ethernet I have no possibility to test ... so they are **not** included.

I may, at a later date, also include updates to drivers by Donald Becker. See the drivers at <http://www.scyld.com/network/>

<table border="1" cellpadding="1" cellspacing="0">
  <tr>
    <th bgcolor="#99CCCC"><strong>Part</strong></th>
    <th bgcolor="#99CCCC"><strong>Brief description</strong></th>
    <th bgcolor="#99CCCC"><strong>DIFF</strong></th>
    <th bgcolor="#99CCCC"><strong>Date</strong></th>
  </tr>
  <tr>
    <td> 2.2.22-NET </td>
    <td> Adds more Linux NIC drivers </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.22-net.diff.gz" target="_top">patch-oskit-linux-2.2.22-net.diff.gz</a></td>
    <td align="right"> Dec 26, 2002 </td>
  </tr>
</table>

**_Added NICs:_**

* 3Com 3c515
* D-Link DE-600, DE-620
* Davicom DM9102(A)/DM9132/DM9801
* N2k-PCi, NE2000 PCI-based cards
* PCNet32
* RealTek RTL8139
* SiS 900/7016
* ThunderLAN
* VIA Rhine

### <a name="OSKit_Upgrade_existing_Linux_dri"> </a> OSKit - Upgrade existing Linux drivers

 The OSKit itslef is currently at Linux version 2.2.12 for most of its drivers. The objective of this project was to upgrade to 2.2.22. I will of course also provide upgrades to upcoming revisions of the 2.2.x series, but they have a low priority right now. Please note:

* The patches are cummulative, i.e., you only need one.
* The patches only upgrade existing OSKit drivers, they don't add support for new ones. Unlike the corresponding Linux patches.

To build [[Mach/OskitMach]] you also need some other [[Mach/OskitPatches]]. As well as two unofficial GNUmach2 patches. See Daniel Wagners post to bug-hurd, <http://mail.gnu.org/pipermail/bug-hurd/2002-December/011134.html>, or the [[Mach/OskitMachPatches]].

**_Tested NICs:_**

Testbed: Intel AL440LX mobo 128MiB RAM (only 64MiB detected by Grub 0.93).

* Digital Equipment Corp. Etherworks Turbo PCI Controller DE435 - digital Tulip 21040-AA
* 3Com 3C905B-TXNM Fast Etherlink XL PCI - Parallel Tasking II 3Com 40-0483-004
* RTL8139

**_Untested NICs:_**

These I have and will test eventually

* Western Digital 10 Mbps ISA - WD8003EBT
* SMC Ultra 16 ISA
* NE1000/2000

<table border="1" cellpadding="1" cellspacing="0">
  <tr>
    <th bgcolor="#99CCCC"><strong>Part</strong></th>
    <th bgcolor="#99CCCC"><strong>Brief description</strong></th>
    <th bgcolor="#99CCCC"><strong>DIFF</strong></th>
    <th bgcolor="#99CCCC"><strong>Date</strong></th>
    <th bgcolor="#99CCCC"><strong>Verified?</strong></th>
  </tr>
  <tr>
    <td> 2.2.13 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.13 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.13.diff.gz" target="_top">patch-oskit-linux-2.2.13.diff.gz</a></td>
    <td> Oct 27, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.14 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.14 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.14.diff.gz" target="_top">patch-oskit-linux-2.2.14.diff.gz</a></td>
    <td> Oct 30, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.15 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.15 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.15.diff.gz" target="_top">patch-oskit-linux-2.2.15.diff.gz</a></td>
    <td> Oct 31, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.16 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.16 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.16.diff.gz" target="_top">patch-oskit-linux-2.2.16.diff.gz</a></td>
    <td> Oct 31, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.17 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.17 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.17.diff.gz" target="_top">patch-oskit-linux-2.2.17.diff.gz</a></td>
    <td> Nov 1, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.18 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.18 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.18.diff.gz" target="_top">patch-oskit-linux-2.2.18.diff.gz</a></td>
    <td> Nov 1, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.19 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.19 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.19.diff.gz" target="_top">patch-oskit-linux-2.2.19.diff.gz</a></td>
    <td> Nov 4, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.20 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.20 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.20.diff.gz" target="_top">patch-oskit-linux-2.2.20.diff.gz</a></td>
    <td> Nov 5, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.21 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.21 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.21.diff.gz" target="_top">patch-oskit-linux-2.2.21.diff.gz</a></td>
    <td> Nov 5, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.22 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.22 </td>
    <td><a href="http://gnufans.org/joachim/hurd/patch-oskit-linux-2.2.22.diff.gz" target="_top">patch-oskit-linux-2.2.22.diff.gz</a></td>
    <td> Nov 5, 2002 </td>
    <td> Yes (1) </td>
  </tr>
  <tr>
    <td> 2.2.23 </td>
    <td> Upgrade from Linux 2.2.12 to 2.2.23 </td>
    <td> [[][patch-oskit-linux-2.2.23.diff.gz]] </td>
    <td> Not yet </td>
    <td>   </td>
  </tr>
</table>

**_Notes:_**

1. Yes, the patch has been tested using the latest CVS version (HEAD) of GNUmach. Verified means that I have verified that GNUmach can be built, booted successfully (using IDE and various NICs).

## <a name="Future_Work"> Future Work </a>

1. Try to enable GNUmach to use the [[TWiki/FreeBSD]] drivers in the OSKit.
2. Port a simple DHCP client (udhcp perhaps?).
3. Enable the sound drivers in the OSKit -- port a useful sound daemon.
4. SMP support for GNUmach2 - Current OSKit is broken.

### <a name="TWiki_FreeBSD_NIC_drivers_for_GN"> </a> [[TWiki/FreeBSD]] NIC drivers for GNUmach

 I have looked into this a bit. The PCI drivers are initialized from the PCI probe. GNUmach v2 uses the Linux PCI stuff which means the [[TWiki/FreeBSD]] probe will not run - this is probably solved in some ingenious way in the OSKit, maybe the COM interfaces, but I've yet to find out more about that.

----

 Feel free to contact me if you have any comments or suggestions.

-- [[Main/JoachimNilsson]] - Feb 19th 2003

## <a name="Comments"> Comments </a>

Go Joachim! Great work!

-- [[Main/GrantBow]] - 11 Nov 2002