2006-01-05 12:17:09

by Hans-Jürgen Lange

[permalink] [raw]
Subject: kernel 2.6.x on IBM thin client 8363

Hello,

I would like to run a 2.6.x kernel on a IBM thin client 8363. There are
patches available for the 2.4 series of kernels.
I had a look on these patches and the only thing they do is to expand
the kernel commandline size to 512 Bytes and a change in
arch/i386/kernel/head.S that changed the pointer to the commandline to a
fixed address.

In the 2.4.kernel the kernel parameter and command line are ,,moved out
of the way'' in two steps. And the second step is the one that get patched.
In the 2.6 kernel this is done in one step. I did get an explanation of
the startup code for the 2.4. kernel but not for the 2.6. I believe that
it is no problem to make the changes to get the IBM 8363 running.

I have seen that some people use this machine but all what use the
newest kernel.

If someone could help me to understand what is going on in the startup
code or may have a ready to use solution for this problem it would be
very nice if you could help with get it running.

BR
Hans-Juergen Lange


2006-01-06 03:18:24

by Randy Dunlap

[permalink] [raw]
Subject: Re: kernel 2.6.x on IBM thin client 8363

On Thu, 05 Jan 2006 13:16:28 +0100 Hans-J?rgen Lange wrote:

> Hello,
>
> I would like to run a 2.6.x kernel on a IBM thin client 8363. There are
> patches available for the 2.4 series of kernels.
> I had a look on these patches and the only thing they do is to expand
> the kernel commandline size to 512 Bytes and a change in
> arch/i386/kernel/head.S that changed the pointer to the commandline to a
> fixed address.

Where are these 2.4 patches that you are referring to?

> In the 2.4.kernel the kernel parameter and command line are ,,moved out
> of the way'' in two steps. And the second step is the one that get patched.
> In the 2.6 kernel this is done in one step. I did get an explanation of
> the startup code for the 2.4. kernel but not for the 2.6. I believe that
> it is no problem to make the changes to get the IBM 8363 running.
>
> I have seen that some people use this machine but all what use the
> newest kernel.
>
> If someone could help me to understand what is going on in the startup
> code or may have a ready to use solution for this problem it would be
> very nice if you could help with get it running.


---
~Randy

2006-01-06 09:14:12

by Hans-Jürgen Lange

[permalink] [raw]
Subject: Re: kernel 2.6.x on IBM thin client 8363

Randy.Dunlap wrote:
> On Thu, 05 Jan 2006 13:16:28 +0100 Hans-J?rgen Lange wrote:
>
>
>>Hello,
>>
>>I would like to run a 2.6.x kernel on a IBM thin client 8363. There are
>>patches available for the 2.4 series of kernels.
>>I had a look on these patches and the only thing they do is to expand
>>the kernel commandline size to 512 Bytes and a change in
>>arch/i386/kernel/head.S that changed the pointer to the commandline to a
>>fixed address.
>
>
> Where are these 2.4 patches that you are referring to?
>

O.K. this is the very important one. Because without it the 8363 wont start.


--- linux/arch/i386/kernel/head.S.orig Mon Jul 16 16:13:11 2001
+++ linux/arch/i386/kernel/head.S Mon Jul 16 16:14:26 2001
@@ -158,7 +158,10 @@
movl $512,%ecx
rep
stosl
- movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi
+/* NetVista */
+/* movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi */
+ movl $0x98000, %esi
+
andl %esi,%esi
jnz 2f # New command line protocol
cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR




>
>
> ---
> ~Randy
>
>

2006-01-06 23:21:23

by Randy Dunlap

[permalink] [raw]
Subject: Re: kernel 2.6.x on IBM thin client 8363

On Fri, 06 Jan 2006 10:13:31 +0100 Hans-J?rgen Lange wrote:

> Randy.Dunlap wrote:
> > On Thu, 05 Jan 2006 13:16:28 +0100 Hans-J?rgen Lange wrote:
> >
> >
> >>Hello,
> >>
> >>I would like to run a 2.6.x kernel on a IBM thin client 8363. There are
> >>patches available for the 2.4 series of kernels.
> >>I had a look on these patches and the only thing they do is to expand
> >>the kernel commandline size to 512 Bytes and a change in
> >>arch/i386/kernel/head.S that changed the pointer to the commandline to a
> >>fixed address.
> >
> >
> > Where are these 2.4 patches that you are referring to?
> >
>
> O.K. this is the very important one. Because without it the 8363 wont start.

Sorry, I have no idea about this patch.
Where did you get these 2.4 patches? are there others?

It looks a little like it may be dependent on your boot loader.
What boot loader are you using?


> --- linux/arch/i386/kernel/head.S.orig Mon Jul 16 16:13:11 2001
> +++ linux/arch/i386/kernel/head.S Mon Jul 16 16:14:26 2001
> @@ -158,7 +158,10 @@
> movl $512,%ecx
> rep
> stosl
> - movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi
> +/* NetVista */
> +/* movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi */
> + movl $0x98000, %esi
> +
> andl %esi,%esi
> jnz 2f # New command line protocol
> cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR


---
~Randy

2006-01-07 10:10:21

by Hans-Jürgen Lange

[permalink] [raw]
Subject: Re: kernel 2.6.x on IBM thin client 8363

Randy.Dunlap wrote:
> On Fri, 06 Jan 2006 10:13:31 +0100 Hans-J?rgen Lange wrote:
>
>
>>Randy.Dunlap wrote:
>>
>>>On Thu, 05 Jan 2006 13:16:28 +0100 Hans-J?rgen Lange wrote:
>>>
>>>
>>>
>>>>Hello,
>>>>
>>>>I would like to run a 2.6.x kernel on a IBM thin client 8363. There are
>>>>patches available for the 2.4 series of kernels.
>>>>I had a look on these patches and the only thing they do is to expand
>>>>the kernel commandline size to 512 Bytes and a change in
>>>>arch/i386/kernel/head.S that changed the pointer to the commandline to a
>>>>fixed address.
>>>
>>>
>>>Where are these 2.4 patches that you are referring to?
>>>
>>
>>O.K. this is the very important one. Because without it the 8363 wont start.
>
>
> Sorry, I have no idea about this patch.
> Where did you get these 2.4 patches? are there others?
>

These are original IBM patches to the linux kernel to get the kernel
running on there thin client. There are some others, which fixes some
oddities in the hardware. The thin client is about 99% pc compatible. It
lacks of a realtime clock, so IBM has a patch to get the time from
within the NFS protocol.
There are some more but they are not importent to get the kernel up and
running.

> It looks a little like it may be dependent on your boot loader.
> What boot loader are you using?
>

The boot process is very different and has nothing to do with that one
on a PC. The method I use mounts a NFS share, downloads the kernel and
does the unmount. Afterwards the kernel gets started.
The kernel commandline parameters are passed from within the firmware.
Besides, the firmware itself is aware that it has to load a linux kernel.
The patch below sets a fixed value for the address where the commandline
resides. This is not my problem to understand.

But to transfer this handling to the 2.6. kernel I need a real
understanding of how the 2.4 kernel does commandline handling and how it
has changed in 2.6 kernels. Then it seems possible to change the 2.6
startup code to get the 2.6 kernel running on a 8363 Thin-Client.

>
>
>>--- linux/arch/i386/kernel/head.S.orig Mon Jul 16 16:13:11 2001
>>+++ linux/arch/i386/kernel/head.S Mon Jul 16 16:14:26 2001
>>@@ -158,7 +158,10 @@
>> movl $512,%ecx
>> rep
>> stosl
>>- movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi
>>+/* NetVista */
>>+/* movl SYMBOL_NAME(empty_zero_page)+NEW_CL_POINTER,%esi */
>>+ movl $0x98000, %esi
>>+
>> andl %esi,%esi
>> jnz 2f # New command line protocol
>> cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR
>
>
>
> ---
> ~Randy
>
>



BR
Hans-Juergen Lange