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

Question About oskit-patch-097-990722 on Redhat 6.0



Hello David:
           I try to install oskit-patch-097-990722 on our Redhat 6.0 machine, and meeting following problems. I record the problem and need your suggestion  what is the correct way to do this.
	By the way , I have following question: How can we add  linux ramdisk and floppy driver to  OSKIT ?

I use sh configure --enable-unixexamples to build  oskit 990722
========================================Compiler and Link  Time problem and  actions
a) Some Headfile can not be  found ,  vi unix/linux/GNUmakerules
  OURFLAGS = -g -I/usr/include -I../unix/linux/include 

b) Some Headfile are not compatable now 
vi linux/include/gnu/types.h
delete types define for`__fsid_t' `__fd_set'

c) kernel_sigaction.h  can not pass compilerlation 
change examples/unix/linux/kernel_sigaction.h line 5
from sa_handler to sa_handler1 
change examples/unix/linux/sigaction.c line 47,57
from k_sigact.sa_handler to k_sigact.sa_handler1 

d) Fix LINK ERROR for Linux Emulation Environment

cd ~/oskit/examples/unix/
1.there are no  socketcall.h on redhat, a varant of  linux/net.h  used 
#define sys_socket      1               /* sys_socket(2)                */
#define sys_bind        2               /* sys_bind(2)                  */
#define sys_connect     3               /* sys_connect(2)               */
#define sys_listen      4               /* sys_listen(2)                */
#define sys_accept      5               /* sys_accept(2)                */
#define sys_getsockname 6               /* sys_getsockname(2)           */
#define sys_getpeername 7               /* sys_getpeername(2)           */
#define sys_socketpair  8               /* sys_socketpair(2)            */
#define sys_send        9               /* sys_send(2)                  */
#define sys_recv        10              /* sys_recv(2)                  */
#define sys_sendto      11              /* sys_sendto(2)                */
#define sys_recvfrom    12              /* sys_recvfrom(2)              */
#define sys_shutdown    13              /* sys_shutdown(2)              */
#define sys_setsockopt  14              /* sys_setsockopt(2)            */
#define sys_getsockopt  15              /* sys_getsockopt(2)            */
#define sys_sendmsg     16              /* sys_sendmsg(2)               */
#define sys_recvmsg     17              /* sys_recvmsg(2)               */
#define SOCKOP_ sys_

mkdir linux/sys/ copy the socketcall.h to the dir

2.to avoid link error , change linux/sigsetops.c to 
#define _EXTERN_INLINE
#define _SIGNAL_H
#include "sigset.h"
native___set_errno(){} 

========================================Runtime problem========================================
1.   gettimeofday always fail 
   to pass example linux_fs_com I comment out line 36-44 in linux/fs/time.c 
/*      if (gettimeofday(tvp, 0))
                panic("fs_linux_current_time: gettimeofday failed");
        current = task;

        while (tvp->tv_usec > 1000000) {
                tvp->tv_sec++;
                tvp->tv_usec -= 1000000;
        }
*/
2.   linux_fs_com can not read ext2 file system , it report 
 EXT2-fs panic (device 01:00): read_block_bitmap: Cannot read block bitmap - bloc

[root@essg unix]# ./linux_fs_com /dev/hdb8
Initializing device drivers...
Creating OS environment
oskit_linux_osenv_init: No registered interface for osenv_irq
oskit_linux_osenv_init: No registered interface for osenv_pci_config
oskit_linux_osenv_init: No registered interface for osenv_isa
oskit_linux_osenv_init: No registered interface for osenv_driver
oskit_linux_osenv_init: No registered interface for osenv_device
oskit_linux_osenv_init: No registered interface for osenv_ioport
Currently registered device drivers:
Probing devices...
Current hardware tree:
>>>Initializing filesystem...
Calibrating delay loop.. ok - 299.92 BogoMips
Initializing ext - Extended filesystem
Initializing ext2 - Second extended filesystem
Initializing xiafs - xiafs filesystem
Initializing minix - Minix filesystem
Initializing vfat - VFAT (Win95) filesystem
Initializing msdos - MSDOS filesystem
Initializing fat - DOS FAT filesystem
Initializing isofs - ISO9660 CDROM filesystem
Initializing sysv - System V and Coherent filesystems
Initializing hpfs - OS/2 HPFS filesystem (read only)
Initializing affs - Amiga FFS filesystem
>>>Establishing client identity
>>>Opening the disk /dev/hdb8
>>>Reading partition table and looking for partition <bogus>
>>>Mounting partition <bogus> RDONLY
VFS: Mounted root (ext2 filesystem) readonly.
>>>Doing statfs on partition <bogus>
   file system block size                : 1024
   file system block size                : 1024
   fundamental file system block size    : 1024
   total blocks in fs in units of frsize : 3021088
   free blocks in fs                     : 2520517
   free blocks avail to non-superuser    : 2364287
   total file nodes in file system       : 782336
   free file nodes in fs                 : 765336
   free file nodes avail to non-superuser: 765336
   file system id                        : 3
   mount flags                           : 1
   max bytes in a file name              : 255
>>>Sync'ing filesystem
>>>Remounting R/W
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
lseek: Unknown error: 0x0
FS_LINUX_ll_rw_block: oskit_blkio_read error 0x8f10010b
EXT2-fs panic (device 01:00): read_block_bitmap: Cannot read block bitmap - bloc
k_group = 256, block_bitmap = 2097166

osenv_panic exiting
Backtrace: fp=80a7898
 08083b4e 0804ceae 0804ca86 08056453 08063f0d 08079a85 08079c58 0807a8fd
 080646a4 08064f48 0804db41 080485bb 0804813e
[root@essg unix]#
========================================
            


Thanks and Best Regards
HuWeiPing    hwp@acm.org  Tel: 010-62582295
胡伟平   wph@ict.ac.cn 中国科学院计算技术研究所