Linux on Indy, kernel compile (2.4.14) and xfree ...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I'm relatively new to the SGI Indy Hardware, and it was quite a funny thing how I got involved using it ...

Nevertheless I do have 4 indy's here in my project room, and one of these just for getting linux to run on it. 
what i've done already:

i've installed the root-filesystem from oss.sgi.com/pub/linux/mips/redhat/test-7.0 and other packages from this directory (I've tried the 5.1-version before, but the tools were too old for me).
The kernel 2.4.1 is running quite ok, but i couldn't get the XFree-rpm running

XFree complains about some missing module information in libbitmap.a!? i will try and compile a new XFree 4.1.0, but first i'd like to use a newer kernel
(i am trying 2.4.14 know, but the same is going for 2.4.16, which i've tried before
 i am using gcc 2.95.3, native mips
 The gfx hardware from what the kernel told me is:
 NG1: Revision 6, 8 bitplanes, REX3 revision B, VC2 revision A, xmap9 revision A, cmap revision D, bt445 revision D
 NG1: Screensize 1280x1024
 is this maybe unsupported? i do not know how to decide if its ex or zx or whatsoever ... :(
 the virtual console is running with the newport driver from the kernel 
 )

Now i found out, that there are some weird inconsistencies in the kernel source code, while compiling on mips-arch (a longer text, but all my steps are written down):

include/asm/keyboard.h
include/linux/vt_kern.h

do define pckbd_rate in two different ways ((int *) and (int) as return-type)
i've decided to use (int) return type for this function in include/linux/vt_kern.h
in asm-i386 its not used , so i think its a not so necessary function

drivers/char/pc_keyb.c, line 909 needed a small change, too (kbd_rate is the same as pckbd_rate through '#define kbd_rate pckbd_rate', so i inserted a new int-variable)
                        line 800 i removed the static


next:
include/asm/softirq.h  
include/linux/interrupt.h    -- overwrites __cpu_raise_softirq from asm/softirq.h, i removed this line in favor for the definition from asm-mips


next:
drivers/scsi/scsi_merge.c: In function '__init_io':
drivers/scsi/scsi_merge.c:946 structure has no member named 'page'

this is quite natural, the mips-definition in asm/scatterlist.h does not contain this var (but the one in asm-i386)
so i've commented this one out, too,
someone needs to put in an #ifdef statement, to determine if we want to compile on mips -> discard the line 


next:
drivers/scsi/sgiwd93.c:
in line 59,60 and 61 i inserted a cast to (unsigned long), otherwise the operation was invalid
in line 102 and 174, the member of the struct is not called "regp" but "regs", and its not (wd33c93_regs *) but (wd33c93_regs)
in line 293 and 327, the second parameter from wd33c93_init is not from type wd33c93_regs * but wd33c93_regs, so some hacking required

next:
drivers/scsi/st.c: 3236, 3268, 3342 same as with drivers/scsi/scsi_merge.c 
drivers/scsi/sg.c: 1547, 1634, 1792 dito
 
next:
drivers/sgi/char/rrm.c:74 and 75  the export from the .o-version does only function, when it is inserted in export-objs in Makefile

------ 
my question is, are these steps ok? or did i miss something, did something wrong? i thought these kernels should compile without problems ;)?

ok, i will try the kernel (not before tomorrow, its already late enough), if it runs, it should be ok, or not? :)
i do not know if these are all steps needed, because i want to finish for today. if theres something missing, i will update tomorrow

thanks for any help, you may can give,

wbr
carsten

flame me, if there is a doc/faq i've missed where all my answers are

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux