Stuck in a chicken-n-egg problem on hurd front. I needed to access network through my ethernet port from Hurd. The pfinet translator won't work easily. After googling, and searching through the archives I picked up the notion that the driver for my ethernet card is not present in gnumach. (I know in microkernel implementation drivers are not part of kernel, but I found the driver code under gnumach/linux/drivers.... directory. The Space.c file does not seem to have Broadcom driver code) My ethernet controller card is "Broadcom Corporation NetXtreme BCM5702X Gigabit Ethernet". I downloaded the linux driver source code from Broadcom's site. In Space.c a *_probe() function is called. Each hardware vendor defined his own _probe() function and using some macros that particular function is called. So I had a plan to integrate Broadcom's probe function with the gnumach source code, recompile the thing and try.
But this effort has stuck in an chicken-n-egg problem as mentioned earlier. For compiling the kernel, I need gcc, make, etc. I installed make some time back, it was simple .deb file. It was hard to find .deb package for hurd-i386 for gcc. Folks on mailing lists advised me to use apt-get to install gcc. It later on occured to me that apt-get internally gets the installation packages from the internet... which in the first place I am trying to access. :(
So I tried to solve this, by means of cross compiling exercises. Yesterday I tried to compile gcc 2.95 on linux for i686-pc-gnu platform, and it is giving its own set of errors.
Alongside I have been reading about the L4 kernel and Hurd efforts of porting to L4. I am getting interested in installing L4Ka::Pistachio microkernel. So I might suspend efforts on Hurd front and might follow a new lead.
Besides in past few days, I have found some good linux stuff, that I didn't know already.
#cat /proc/pci should give you wealth of information about the hardware devices attached to your pci bus, like the IRQ info and rest of PCI info.
Learnt about this linux command strace, with which you can track the system calls and signals associated with a live running process.
It was a news to me that, there is a subdirectory under /proc for every process, named after its process id. This subdirectory contains useful info about that process. Among other things it holds an fd subdirectory, which will list all the file descriptors opened by that process.
Good stuff for debugging your system....
I am particularly impressed by the work done by Jochen Liedtke, the father of L4. Sad to know that he passed away in 2001. His paper 'On microkernel design' is a classic one. I am planning to follow whatever job he has done on microkernels.
Thursday, January 20, 2005
Sunday, January 09, 2005
make problem solved
I was stupidly wondering why won't my /usr/bin/make won't work. Posted many emails in past 3-4 days and ultimately it took installation of make_3.80-9_hurd-i386.deb to make the 'make' utility work. The original make binary was just corrupt i guess.
No luck with Xfree86 installation dependencies, no progress with setting up network access.
One more useful thing I learnt yesterday. How to get your IP address, Gateway and Network mask. These three are needed to setup network with pfinet in HURD.
In linux use,
[root@localhost jayesh]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
[root@localhost jayesh]# /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0B:DB:DA:D6:42
inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:827 errors:0 dropped:0 overruns:0 frame:0
TX packets:863 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:428907 (418.8 Kb) TX bytes:124307 (121.3 Kb)
Interrupt:11
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5107 errors:0 dropped:0 overruns:0 frame:0
TX packets:5107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:348486 (340.3 Kb) TX bytes:348486 (340.3 Kb)
One irritating catch for less-informed like me is, ifconfig was found in /sbin and it wasn't in my PATH, so that command won't execute by default. So if you get 'No such file found' complaint from your shell when google says it should work, try looking in your /sbin, /usr/sbin directories, ones that are not in your PATH
No luck with Xfree86 installation dependencies, no progress with setting up network access.
One more useful thing I learnt yesterday. How to get your IP address, Gateway and Network mask. These three are needed to setup network with pfinet in HURD.
In linux use,
[root@localhost jayesh]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
[root@localhost jayesh]# /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0B:DB:DA:D6:42
inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:827 errors:0 dropped:0 overruns:0 frame:0
TX packets:863 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:428907 (418.8 Kb) TX bytes:124307 (121.3 Kb)
Interrupt:11
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5107 errors:0 dropped:0 overruns:0 frame:0
TX packets:5107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:348486 (340.3 Kb) TX bytes:348486 (340.3 Kb)
One irritating catch for less-informed like me is, ifconfig was found in /sbin and it wasn't in my PATH, so that command won't execute by default. So if you get 'No such file found' complaint from your shell when google says it should work, try looking in your /sbin, /usr/sbin directories, ones that are not in your PATH
Installed HURD console
Yesterday I installed console on my GNU/HURD setup. It's very cool. It lets me switch between number of terminals even in command line interface. Never seen this thing in command line. The installation was straighforward as pointed on http://hurd.gnufans.org/bin/view/Hurd/HurdConsole.
Later I tried to make XFree86 work on my system referring to http://hurd.gnufans.org/bin/view/Hurd/Xfree86. But no luck with that yet. I don't understand how to tackle the dependency problem while installing the required packages for XFree86, namely x-window-system-core and others listed.
Later on I also tried to setup network connection. But it is giving me errors like
/hurd/pfinet: eth0: (os/device) no such device
Will do some googling on these issues today.
Later I tried to make XFree86 work on my system referring to http://hurd.gnufans.org/bin/view/Hurd/Xfree86. But no luck with that yet. I don't understand how to tackle the dependency problem while installing the required packages for XFree86, namely x-window-system-core and others listed.
Later on I also tried to setup network connection. But it is giving me errors like
/hurd/pfinet: eth0: (os/device) no such device
Will do some googling on these issues today.
Subscribe to:
Posts (Atom)