route command under Hurd
What's the Hurd way for setting up gateway to the Internet ? something like `route add default gw 192.168.1.1'.
Net under Hurd
ifconfig is more-or-less settrans /servers/socket/2. what's the Hurd version of route ? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Networking
Nalim [EMAIL PROTECTED] wrote: Hello All! I am new in HURD, so my questions may be simple. 1. Can I see boot-time kernel messages like dmesg in linux? Only if you look very fast ;) 2. Have HURD any file manager like mc? You can compile mc form sources.
Re: gnumach and hurd source code
On Tue, Aug 08, 2000 at 09:13:11PM +0200, Juli-Manel Merino Vidal wrote: Hi all, I really want to learn how the mach kernel works and how hurd servers are done in order to be able to help in them... But learning source code without any explanation (except comments, which sometimes are poor) is a bit difficult. So, it is there any info or a tutorial about what files should one follow to learn about it ? (I think that the hurd info manual could be ok, if it has been finished... it missing a lot of function descriptions). Thanks. One of the best sources of knowledgu about mach are old (*really* old, /198\d/) CMU papers.
Re: hurd-init
On Thu, Aug 10, 2000 at 02:20:39PM +0200, Marcus Brinkmann wrote: On Thu, Aug 10, 2000 at 07:34:13AM +0200, Tomasz Wegrzanowski wrote: Here is the challenge : imho service manager (a.k.a. maybe-GNU init) should be used to start / stop ppp links, mount devices, Nonononono! We have passive translators do to exactly that! Passive translators are not at all answer to question of stopping services to release resources. Ok, 'service start floppy' and 'mount /mnt/floppy' might not be needed if /mnt/floppy will mount on demand (easy), even 'service start ppp' or 'pon' might be not needed if /dev/ppp0 will be started on demand (harded), but there is currently no alternative to 'umount' and 'poff' (connection paid-by-minute, remember ?) and service manager might really clean up things plus provide common interface. The need for init scripts should be comparatively small on the Hurd. /etc/init.d/nfs and friends are prietty little part of all init scripts imho. We don't want all the mess you find in Linux, and we don't need it. Translator services are started up by demand. There are also non-translators services like all UNIX daemons, misc fixing scripts (like clock sync) etc. Also, general service manager wolud be much more useful if could run also on GNU/Linux.
Re: mc
On Tue, Aug 08, 2000 at 02:09:30PM +0200, Juli-Manel Merino Vidal wrote: Hi, I've been looking for a deb package of midnight commander for the Hurd... it is not there? Should I compile from sources? Bye! I have one compiled from sources. There is no deb as you would have to compile GNOME version alos.
Re: rc
On Mon, Aug 07, 2000 at 09:05:03PM +0200, Juli-Manel Merino Vidal wrote: On Mon, Aug 07, 2000 at 02:51:54PM +0200, Marcus Brinkmann wrote: System V init has some deliberate limits (for example a fixed number of run-levels). For the hurd we want something better. So, what will the hurd implement ? So makefile-ish init. I'm sure I found such thing for Linux somewhere in the web, but can't do it again :-(. When ? Only good god knows.
Re: rc
On Mon, Aug 07, 2000 at 10:46:47PM +0100, Mo McKinlay wrote: # Also we will probably need start-a-before-b relation # (gpm should be tarted before X, but X don't depend on gpm nor gpm on X) I *think* I follow this. I take it this would only ever come into play if two services are going to be started at the same runlevel? (I can't see why it'd be necessary otherwise). This can be kind of very weak dependency. i.e... graphical = X gpm xfs ... We say: X [depends on] xfs gpm [start before] X Then.. $ init graphical INIT: Switching to runlevel 'graphical' Starting gpm... Starting xfs... Starting X... Have I got that right? Yes, and if there is no gpm installed or it failed, X will run anyway. [snip] All others 100% ok.
Re: rc
On Mon, Aug 07, 2000 at 11:27:07PM +0100, Mo McKinlay wrote: Some things I've been kicking around: - Remote service management This is a tricky issue. There's no real defined protocol for it AFAIK, and things like authentication need very careful consideration. The best thing I could think of would be to have some sort of 'svcd' that's optionally started at some later stage (for a start, it depends on networking :). That doesn't really need thinking about for a while yet, and I don't even know if it's worthwhile doing. From a network management point of view, though, being able to do: $ svc granite:httpd restart Would be imensely useful. This might script that logs via ssh user init/root, and run correct command. Or just a packet via net, but then all auth is our task to do. - IPC? My thinking was that init should handle all of the service starting/stopping, and that 'svc' would be simple wrapper around an easy-to-use library that communicates with init (and maybe also acts as the client for remote service control). I was aiming for something nice and simple, like: int scm_control(const char *hostname, const char *service, scmact_t *action); And 'svc' just calls it thusly: action=SC_START; scm_control(NULL, service_name, action); ...or whichever. The problem is, I can't figure out the best way to make the client library communicate with init [in a portable way]. Simpliest and portable way is making socket or fifo somewhere in /dev/*. user init/root group init/root. Or at constant udp or tcp address, but then we need to do all auth ourselves :-(. One would just send packet (udp ?) like this : struct service_control { int action_nr; char service[256]; } How does this sound? Any suggestions? Suggostion : we need to consider service stopping before implementing anything. In particular : stopping restarting and config-reloading metaservices and services that others depend on. Does restarting / config-reloading xfs need to restart X ? Does stopping X stop xfs ? What if some other service depends on xfs or X is only being restarted (reference counting + restart don't touch it ?). What if someone make 'svc restart graphical' ? Or even worse : 'svc config-reload graphical'. Some parts of graphical metaservice can't reload config w/o restarting themselves, and others depend on it, so we might end restarting whole X. We need to invent it, as make doesn't handle such thing at all, and I don't know if anything does, so this work will be very ``innovative'' :-)
Re: FAT fs
On Fri, Aug 04, 2000 at 02:51:34PM +0200, Juli-Manel Merino Vidal wrote: Hi all, Is it there a FAT translator in order to use dos filesystems int the Hurd ? I think that there is not any of this out there, but anybody is working on this ? Bye! Markus made a read-only one. It works quite well.
Re: Manual Pages for GNUmach
On Fri, Aug 04, 2000 at 03:32:46AM +0200, Marcus Brinkmann wrote: On Fri, Aug 04, 2000 at 02:34:28AM +0200, Farid Hajji wrote: BTW, wouldn't it be reasonable to reunify most/all Hurd mailing lists somewhere at gnu.org where they truly belong? The traffic volume on those lists is currently not that high and would probably justify this approach (?). Which all? debian-hurd is truly for discussing the Debian distribution (although we attract all sort of other discussions, which would belong to help-hurd or bug-hurd actually). Beside debian-hurd, there is help-hurd and bug-hurd at gnu. That's all. People use debian-hurd only because of two important reasons : 1) it's much easier to use Debian archives than GNU archives. 2) subscribers-base overlaps very much, so there is no big difference where you post, if you post to debian-hurd everyone interested will get the mail anyway. Really, ther's not any mojor reason to not merge them all, as far as Debian is the only important GNU/Hurd distribution, and I doubt it will change this year.
Re: Spanish documentation
On Tue, Aug 01, 2000 at 11:34:16PM +, Juli-Manel Merino Vidal wrote: The sections of my new document are as follow (and some comments for them): 1. Legal stuff (GPL) - I think that GDPL could be better... GNU ``free'' DL isn't really a free license. For example, you can mark every section ``invariant'', and you end with : ``verbatim copying allowed, but no modifications'' GPL is ok.
Re: ls /dev
On Sat, Jul 29, 2000 at 08:53:51AM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: Users usually don't want UI app to provide them with informations, that, although quite useful, would make them have to wait awfully lot of time. Instead of stat_trivial(), would an asynchronous stat() do the job? An interactive application could stat all files in a directory, and deliver the data to the screen as it comes in. And the user wouldn't have to wait at all. For noninteractive things like ls, there could be a timeout. This is already doable with io_stat_request, I think. I have hard time imagining how program can request inforamtion in non-blocking way without very much magic. Even harder to imagining how non-interactive program can do it. Anyway, this magic would be even more useful to save bandwidth (if you entered /ftp/sunsite/pub/, UI wouldn't try to get file counts in all dirs) and CPU (mc ; cd /fortunefs/ ; cat ./short :: mc shouldn't try stating them all just to see one-time sizes). Remember that every node is translated. It might be per-file translator or per-dirtree translator, but every node is translated anyway. If there's no underlying node, I wouldn't call that translation. Translator might be already called, only provide samo files statically, while others dynamicaly. +++ I don't see any other way, only per-file flag. Aditional byte in struct dirent { char d_flag; } could be good to do it.
Re: ls /dev
On Thu, Jul 27, 2000 at 04:06:10PM +0200, Marcus Brinkmann wrote: On Thu, Jul 27, 2000 at 03:34:17PM +0200, Juli-Manel Merino Vidal wrote: Hi all, when doing an 'ls /dev', hurd starts automatically each transator of each device file. Why? This produces a delay before the directory contents is shown. Because your ls is really an alias, and you are using the -F or -l option, or some other option which calls stat() on each file in the dir. stat() requires a lot of information from the inode (file size, ownership, permissions, etc) beside the file name. Those informations are provided by the translator, not by the underlying node directly. So, all translators have to start up. You asked them to do :) Marcus Can it be changed ? I find it very anoying that when I go to /mnt from mc, Hurd tries to mount all my disks, CD and floppy. What about dividing stat() to stat_trivial() and stat_complete() or use some stat() flags (how to pass them ?) or (most complete solution) use per-file (inode ?) flag that states that file can't be fully statable, and not fully stat() it on common stat() request (so we have reasonable default), and make some stat_force() (so we have way to override it). It would be much better that both Linux way (give out only trivial data, check 'ls -l proc' to see) and current Hurd way (mount everything, check 'ls -l /mnt')
Re: hurd progress and bugs
On Wed, Jul 26, 2000 at 10:13:05AM +0200, Juli-Manel Merino Vidal wrote: Hi all, I've installed hurd three times in the last months, and everytime I've done this, I've found the same bugs in each installation. I think that known bugs should be corrected before implementing new things and before the system grows. A bigger system is harder to debug... For example, that weird bug that corrupts the terminal after the installation, or that limitation that doesn't allows hurd to be installed in a partition bigger than 1 GB. 1 GB limit is more severe Hurd architectural problem than a bug. :-( Also, I think that hurd needs boot disks to be installed without needing any other os. If I could learn something about this, I could try to help. GRUB OS anyone ?
Re: hurd progress and bugs
On Wed, Jul 26, 2000 at 12:44:24PM +0200, Juli-Manel Merino Vidal wrote: OH! I forgot to say some things more First, why Mach uses the same drivers that linux uses ? I saw this as a fast and ugly implementation. I don't know, but I think that there should be drivers specially written for the hurd instead using other OSs drivers. SCSI is SCSI, no matter where you use it. FreeBSD and Linux driverbase overlaps much. NT and Win98 driverbase overlaps much. :-) Drivers are the most portable part of OS. Representation of drivers to userspace differs, but their core code can be ported with very little changing. What is big difference between Hurd and Linux, that SCSI should be treated differently ? (keyboard should, but that's other problem) Also, I've seen somewhere (correct me if this is not true) that Mach should be rewritten, don't remember why. But is somebody doing this? As hurd gets more code, it should be stronger to replace the current mach microkernel Currently Mach is a big strange pile of code that almost nobody want to touch. People are not very sure if it would be better to keep Mach with some changes (liku : modules support), take some better microkernel (is there any ?), write some new (anyone has time and abilities ?) or maybe use some completely innovative solution. But nobody is doing that AFAIK.
Re: Mach console
On Wed, Jul 26, 2000 at 12:56:37PM +0200, Juli-Manel Merino Vidal wrote: Hi all, I came with another question, this time about the console. Why it's so poor ? It doesn't support colors, graphics characters (those to draw boxes), can't do bold color... Will these things be implemented some day ? It is very difficult to implement all of these? Thanks. PS: Sorry cos I'm doing too much questions at a time... :) PPS: I've been able to compile a program that I developed some time agot which uses ncurses. It compiled successfully under hurd without changing nothing from the linux version !! :) But the look of it is really really poor. Mach terminal emulator's main task is printing boot-up messages. Then, Hurd (userspace) terminal emulator should start. It should, but there is no such thing yet, look at Kalle's colortext for something that will become one (it is _quite_ usable now). Color support is quite easy to do, but it would need recompiling Mach microkernel and many many reboots to test, and that's why nobody tried.
Re: hurd progress and bugs
On Wed, Jul 26, 2000 at 12:33:55PM +0200, Juli-Manel Merino Vidal wrote: On Wed, Jul 26, 2000 at 10:30:09AM +0200, Tomasz Wegrzanowski wrote: 1 GB limit is more severe Hurd architectural problem than a bug. :-( So, the architecture should be reorganized, isn't it ? As I said, while Hurd becomes bigger, it will be harder then to reorganize the architecture or correct bugs later. Easy to say. Easiest way would be to change i386 to something 64-bit ;-) On Hurd, every byte of disk space is mapped onto VM. Thus, on 32bit computer you can have at most 4 GB partition. But in real world, some of adress space must go for OS, IPC space, program's code and data, thus we have 1 GB. It could be increased to 2 GB without SO BIG changes. But I'm not sure anyone has complete idea how could it work. Also, I think that hurd needs boot disks to be installed without needing any other os. If I could learn something about this, I could try to help. GRUB OS anyone ? GRUB OS?? I would mean creating installation boot disks to install Hurd, without needing crossinstallation from linux. Hurd core is BIG. Maybe too big to fit onto one floopy ever. And GRUB doesn't support CD boot yet (unless BIOS do, what is very rare), so there won't be Hurd install floopy/CD soon. But we could expand GRUB a little, so it will be able to have floopy disk changing, ATAPI CD driver and ncurses :-), so we will be able to INSTALL and RUN Hurd without ONE reboot, unlike ALL other OSes. Nice dream, isn't it ?
Re: This list...
On Tue, Jul 25, 2000 at 07:59:23AM -0400, Dave wrote: How does this list differ from help-hurd@gnu.org aside from higher traffic and more apparent interest in the OS itself. I thought I would subscribe to look around before I get started working on the HURD. I have to wait till I can afford a larger HD at this point. Difference ist'n so big. In theory, help-hurd is about Hurd kernel, and debian-hurd is about distribution, but some 80% of members are the same on both lists. Grub can load linux/windows/HURD right? I can do a triple boot? Very easily. Much easier than with LILO. This is my main concern.
Re: VTs (was: How to get more developers)
On Sat, Jul 22, 2000 at 12:35:52AM +0200, Marcus Brinkmann wrote: On Fri, Jul 21, 2000 at 09:46:01PM +0200, Tomasz Wegrzanowski wrote: On Fri, Jul 21, 2000 at 02:24:46PM +0200, Marcus Brinkmann wrote: Okay, here is a more thorough explanation: The server I mean gets the keyboard events directly from GNU Mach, and goes from that. So as long as GNU Mach and this server are fine, they will work correctly and process console switch command just fine, regardless of the state of the various terminals. I think we should exclude keyboard server from GNU Mach. It would be way more flexible. I don't understand what you mean, can you elaborate please? Thanks, Marcus In current model GNU Mach provides KEY codes to userspace programs, and all modifying of keyboard layout must be done by Mach syscalls. I think we should make some userspace program (1 process per keyboard, if someone has more than one keyboard) that would map keyboard's SCAN codes (received from Mach) to KEY codes (sent to terminal program). currently : SCANCODES (TRANSLATION) KEYCODES keyboard - Mach - terminal programs proposed : SCANCODESSCANCODES (TRANSLATION) KEYCODES keyboard - Mach - keybd - terminal programs
Filesystem ideas
I think these filesystem improvements would be useful : 1) Directory attribute SIGNIFICANT_FILES_ORDER. If `ls' or CUI filesystem explorer would find this flag on directory, or if shell would expand globs over this directory, and they would find that flag, they would not sort the result, but give it to user as-is. Example purpose: audio CDs 2) Multicast files. This is often useful to cast the same to many files. It would be nice if GNU/Hurd suported this. Interface could be: /* new fd, -1 error */ int multicast_new (int normal_fd); /* 0 ok, -1 errror */ int multicast_add (int mc_fd, int normal_fd); Example purpose: console+log output, servers optimalization 3) Filesystem Object (File/Directory/etc) attribute DYNAMIC_CONTENT. This would mean you CAN get file size, directory content, etc., but this is non-trivial for them to raport it and should be done only on purpose. Example purpose: /proc/*, files mounted over ftpfs, unmouned /mnt/* filesystems 4) system call like this size_t transfer_data (int file_in, int file_out, size_t size); There is such thing on both newer Linuces and NT. Example purpose: major optimalization on multi-server environment (huge memory usage is GNU/Hurd's biggest performance problem) servers optimalization Are they very problematic ? Anyone working on something like that ?
Re: Filesystem ideas
On Sat, Jul 22, 2000 at 01:37:48PM +0200, Mark Kettenis wrote: Date: Sat, 22 Jul 2000 09:50:01 +0200 From: Tomasz Wegrzanowski [EMAIL PROTECTED] I think these filesystem improvements would be useful : 1) Directory attribute SIGNIFICANT_FILES_ORDER. If `ls' or CUI filesystem explorer would find this flag on directory, or if shell would expand globs over this directory, and they would find that flag, they would not sort the result, but give it to user as-is. Example purpose: audio CDs `ls -f' already does this :-) With 'ls -f', things are unsorted in every dir, no matter if they should be or not. It would be great help in mc/GUIs if they were sorted by default, only unsorted in dirs marked ``dont-sort''. 3) Filesystem Object (File/Directory/etc) attribute DYNAMIC_CONTENT. This would mean you CAN get file size, directory content, etc., but this is non-trivial for them to raport it and should be done only on purpose. Example purpose: /proc/*, files mounted over ftpfs, unmouned /mnt/* filesystems Sorry I don't see the need for this. You can check whether a node is translated. If it is the content usually is pretty much dynamic. Not only. All dirs under ftpfs should be marked special, so some mc/GUI wouldn't try to 'ls' them only to print no of files (useful bloat, imho). This thing wasn't very important under old Unix, but under Hurd files might be virtually everything. How someone can currently tell difeerence between files/dirs mounted under ftpfs, vs. files/dirs mounted under ext2fs ? Or cached files/dirs under ftpfs vs. not-cached files/dirs under ftpfs ?
Re: GRUB shows abracadabra
On Sat, Jul 22, 2000 at 06:56:47PM +0400, Timofey Korolyov wrote: Hello! I got a RedHat Linux 6.2 box. I've downloaded a tarball with basic HURD programms, made: mke2fs -o /dev/hda1 extracted tarball there. Everything was fine, intil I rebooted. I was rebooting with GRUB-floppy: grubroot (hd0,0) Ext2 filesystem blah-blah-blah... well. grubkernel =/b #here i pushed Tab, i though, that tab-completion will show me available directories #...and it showed me directories, but their names where corrupted with additional ASCI-symbols (127). I'm very sorry for asking you questions about GRUB, not HURD, but I've searched through all GRUB and HURD-sites, search-engines and found nothing describing this problem. Fix is simple : Update your GRUB. It's probably 20th or something mail with exactly the same problem. Where did you download GRUB from ??? We will need to fix that URL.
Re: VTs (was: How to get more developers)
On Fri, Jul 21, 2000 at 02:24:46PM +0200, Marcus Brinkmann wrote: Okay, here is a more thorough explanation: The server I mean gets the keyboard events directly from GNU Mach, and goes from that. So as long as GNU Mach and this server are fine, they will work correctly and process console switch command just fine, regardless of the state of the various terminals. I think we should exclude keyboard server from GNU Mach. It would be way more flexible.
Re: Why symlinks in binary-hurd-i386
On Tue, Jul 18, 2000 at 03:03:01AM +0200, Farid Hajji wrote: Hello Marcus, what are the symlinks in ftp://ftp.debian.org/pub/debian/dists/sid/main/binary-hurd-i386 and subdirectories good for? Don't they point to a _Linux_ Debian distribution? (e.g. ../../../../woody/main and ../../../../potato/main) -Farid. They point to binary-all. This trick is for OS-independent packages (like documentation, perl scripts etc.)
Re: Grub
On Sun, Jul 16, 2000 at 01:14:55PM -0700, Jake Bishop wrote: Hello, I just installed the GNU-Latest tar ball from alpha.gnu.I followed the instructions in the Easy Guide.I am trying to boot it for the first time by handin single user boot.I get to the second part-kernel=/boot/gnumach root=hd0s2 -s and I get File not found.I checked if I had installed the tar ball correctly by going back into linux and mounting the ext2 hurd partition(/dev/hda2) and everything is there. What am I missing? Thanks Jake try kernel=/TAB (like in bash), and if random characters will be appended at end of dirnames, you can simply upgrade your GRUB to fix it.
Re: Two more questions
On Mon, Jul 17, 2000 at 04:19:46AM +0200, Andreas Rottmann wrote: Hi! Two more stupid questions: 1) As i realized, there is no startup init done on the HURD (like SysV Init) (read: etc/init.d/ stuff). Is that intentionally? Half-Yes. On GNU/Hurd, many things are launched on-request. Example: filesystems are mounted on first access. OTOH, some makefileish init would be really good thing. It could even be ported to GNU/Linux then. Anybody working on this ? I've seen one such thing for GNU/Linux, but don't remember URL :-(. 2) I always get this error message when posting to -hurd, like: Your message To: debian-hurd@lists.debian.org Subject: Re: Developer coming up ;-) Sent:Mon, 17 Jul 2000 03:51:42 +0200 did not reach the following recipient(s): [EMAIL PROTECTED] on Mon, 17 Jul 2000 04:00:16 +0200 The recipient name is not recognized The MTS-ID of the original message is: c=US;a= ;p=it1;l=SERVER0007170200PB543CAS MSEXCH:IMS:it1:it2:SERVER 0 (000C05A6) Unknown Recipient Anybody experiences the same? Or do I have to check my mail setup? Me too.
Re: How to get more developers (was: Mailing List traffic and...)
On Sat, Jul 15, 2000 at 05:49:18AM +, Philip Charles wrote: As a CD vendor I have been lurking in this group for about five months now. I have also added Hurd to my Debian archive and keep it up to date. My hope is that at some time I could assist the Hurd community by producing a suitable CD. I haven't got round to a Hurd install up to now as I don't have much in the way of porting or development skills. The best I could do at the moment would be to collect the various bits and pieces; grub, documentation etc and burn them onto a CD(s). I don't know how useful this would be. If people thought this would be useful I would be happy to take this on as a project - after the Debian 2.2 release. Proposal : You could burn CD containing : - Debian GNU/Hurd .debs - Hurd packages from alpha.gnu.org - sources for Hurd-specific packages (burning packages which sources exist for Debian GNU/Linux would be redundant) - sources for Linux 2.4 (tones of drivers), KGI, ALSA, libGGI, GRUB etc. - all other sources of interest for OS-developers - documeniation for Hurd, Mach, OS and hardware programming This would contain everything Hurd hacker would need and very little overhead. It probably could fit onto 1 CD.
Re: ex2 filesystem and grub
On Fri, Jul 14, 2000 at 09:37:10AM +0530, Pankaj Kaushal wrote: hey i' installed hurd+grub some months ago i'm able to boot and access debian partition perfectly from grub. but the red hat partition seems to give me some problems it dose'nt boots frm menu even tough all the entries are correct when i go to console and give a [tab] after kernel=/ I get some strange characters after boot like this, kernel=/[EMAIL PROTECTED] is there some problem with the red hat filesystem approach or is it grub; if its grub then where should I report. That's known bug. Upgrade your grub to fix it.
Re: Mailing List traffic and membership
On Fri, Jul 14, 2000 at 03:08:07PM -0700, Brent Fulgham wrote: The graph shows that there is a steadily increasing interest in the Hurd, and a decreasing amount of time for people to discuss it :) That's interesting, but what I'm more interested in is the reason why the number of developers doesn't increase, even though so many people subscribe to the list. This is not ironical but a purely academic interest for me. I think the following reasons apply: 1. The ZERO HOLE problem. (Watch your work mysteriously vanish.) 2. Lack of good developer documentation. This is changing, slowly. But it is still hard to figure out where things should be implemented, how the pieces of the Hurd fit together, what pieces of the standard libraries available under Linux (and other Unix's) are not implemented (and if they are not implemented on purpose, or just due to a lack of time). Roland and Thomas do a great job trying to answer questions from all of us. Given their limited time it's amazing how much response they manage to provide. However, but written documents are more long-lasting... ;-) 3. Lack of leadership. We proceed in a very ad-hoc manner, because everyone is busy and we only work on the things that interest us. Consequently, people with different hardware are not always supported, or certain features are not worked on because they don't really matter to us (PPP for example). This is similar to how the Guile project was a few months ago, until a new lead maintainer took over. I'm not suggesting we do that here (of course), but I think it might help if we set some goals to work towards. Now, none of the above are really problems. We have fun, and we do what we can. But it might explain why others aren't jumping on the bandwagon? However, it's heartening to see the many new list subscribers. :-) 4. Lack of hello-worlds. BIg hello-worlds archive could convert many hackers to Hurd. Having to spend two weeks reading sources before making anything interesting discourages. 5. Lack of PPP. For most Europeans, PPP is something every OS must have to be usable.
Re: How to get more developers (was: Mailing List traffic and...)
On Sat, Jul 15, 2000 at 05:31:25AM +0200, Farid Hajji wrote: Hi Okuji, That's interesting, but what I'm more interested in is the reason why the number of developers doesn't increase, even though so many people subscribe to the list. This is not ironical but a purely academic interest for me. [...] And yes, the docs... Although things start improving now, we still need a lot more of tutorial-like materials. Hello worlds for misc. parts of the system may be one way to introduce newbies to the internals of Mach and the Hurd(-libraries). I'm thinking here especially of small dummy translators, dummy filesystems and other simple user-level programs. I might write hello-worlds for cthreads. This is easy, little library, but there is very little documentation for it.
Re: Some Hurd and Mach programming questions
On Mon, May 22, 2000 at 03:27:59PM -0400, Daniel Burrows wrote: On Fri, May 19, 2000 at 05:56:58PM +0100, Edmund GRIMLEY EVANS [EMAIL PROTECTED] was heard to say: Mark Kettenis [EMAIL PROTECTED]: 8. Does it make any sense to move most device drivers (scsi/ide) from Mach to user-space. I suppose than PCI bus etc. would still need to be in kernel. I suppose that you'll always need some basic support for a disk device in the Mach kernel. Some other device drivers might be moved out to Why would PCI bus have to be in the kernel? Why would you need support for a disk device in the kernel? The first thing that springs to mind is that if you lack a disk device you may have some difficulty in loading the server which provides it, in paging it in or out, etc.. GRUB can load this server.
Re: Non-UNIX Changes
On Sat, May 20, 2000 at 04:31:57PM -0500, Christopher Browne wrote: Agreed, and I'd also agree that almost all of the flaming that takes place vis-a-vis both Linux and Windows comes from the same standpoint of assuming that there are Two True Operating Systems, UNIX and Windows, and One of Them Shall Win The Day. Not many people things Windows is any True Operating System. Another thing that could be worth having in the filesystem might be a return to record-oriented files. That is, having some semantics that go beyond the UNIX notion of a file being a bag of bytes. That way the filesystem might support some structuring within the file. Trivial would be fixed-size records, rather like the way VMS and MVS have supported. What record-oriented file can do what can't be done by 20 lines of cpp macros ?
Re: Some Hurd and Mach programming questions
On Sat, May 20, 2000 at 02:45:44AM +0900, OKUJI Yoshinori wrote: From: Tomasz Wegrzanowski [EMAIL PROTECTED] Subject: Re: Some Hurd and Mach programming questions Date: Fri, 19 May 2000 18:37:04 +0200 How much of IPCing really needs MIG and couldn't be done by some set cpp macros or other way that don't need inventing a new language (.defs) ? It is often easier and simpler to use an IDL rather than to write odd macros, and an IDL has an opportunity to optimize actual code. Anyway, MiG is very simple, so you have no difficulty to learn it. That forces you to use MiG-supported language, and there aren't very many of them. (one)
A few more questions and a one more problem
Situation : on Linux I made pthread hello world program main thread created 100 threads and every of them printf(fu) I did the same on Hurd with cthread Problem : printf () needs mutex'ing on Hurd (cthread) It didn't need it on Linux (pthread) And yes, I #defined _REENTRANT Details of Behaviour : Output contain clusters of fff's and uuu's, and its size is always broken, sometimes *a*lot* bigger, don't remember if ever smaller than correct size. Question : Is this bug with Hurd, cthread or printfing need mutexing by definition, and I was simply lucky on Linux (run many times, always won) And programming questions : 1. How can I send msgs to translators w/o using libc's Unix emulation ? 2. What is correct way of obtaining kbd scancodes and how far I went wrong trying to 'settrans /dev/kbd /hurd/storeio --no-cache kbd ; cat /dev/kbd'
Some Hurd and Mach programming questions
Mach/MIG related : 1. How accurate are 1987-1989 CMU Mach papers if GNU Mach is considered. 2. Are filesystem protocol and other basic client-to-server protocols hard-coded in Mach or reside completely in Hurd ? 3. How good is MIG ? What special, non-obvious features are really in use if compared to interface build on : write (port, (int)sizeof(request), sizeof(int)); write (port, request, sizeof(request)); and read (port, size, sizeof (int)) request = malloc (size); read (port, request, size); 4. How good is MIG-generated code (size, speed); 5. Does using lowest level Mach calls for IPC make any sense ? 6. How hard-wired is 1 GB max partition size. I suppose this is due to lack of process' vm adress space that needs to be used for mmaping the whole partition. Is switching to diskspace-range-request-based store io only way of having bigger partitions than processors' adress space ? 7. What would be needed for Linux-based microkernel to replace Mach if it had nice support of user-space filesystems and Hurd uids ? 8. Does it make any sense to move most device drivers (scsi/ide) from Mach to user-space. I suppose than PCI bus etc. would still need to be in kernel. Hurd related : 9. Is this possible for fs translator to use its clients' data, so we could for example implement something like /current/task/ with env/ (as directory !), cwd, vmstat etc. files in it. 10. Is this possible for fs translator to use its' client's user's data so we could for example implement something like /current/user/ with home/, shell, mailbox, etc/ etc.
Re: Some Hurd and Mach programming questions
On Fri, May 19, 2000 at 02:19:40PM +0200, Mark Kettenis wrote: Date: Fri, 19 May 2000 13:24:13 +0200 From: Tomasz Wegrzanowski [EMAIL PROTECTED] Mach/MIG related : 3. How good is MIG ? What special, non-obvious features are really in use if compared to interface build on : write (port, (int)sizeof(request), sizeof(int)); write (port, request, sizeof(request)); and read (port, size, sizeof (int)) request = malloc (size); read (port, request, size); I dont understand what you mean here. How much of IPCing really needs MIG and couldn't be done by some set cpp macros or other way that don't need inventing a new language (.defs) ? 5. Does using lowest level Mach calls for IPC make any sense ? This is done in several places in the Hurd. Grep for mach_msg. In most cases this is done to circumvent limitations of MiG. It makes only sense to do this in code that's really Mach-specific. Avoid it if you want your code to be usable if the Hurd ever runs on a different microkernel. Is using MIG any more portable ? 7. What would be needed for Linux-based microkernel to replace Mach if it had nice support of user-space filesystems and Hurd uids ? The Hurd uses quite a number of Mach-specific features. The most important ones missing from Linux are probably sane thread support and an external paging interface. Implementation of user-space filesystems and Hurd uids wouldn't be a problem. But I don't think Linux will ever be a real microkernel, and I'm not sure if trying to get the Hurd running on Linux would be such a good idea. Runing on top of Linux microkernel you have *all* device drivers, KGI for free, probably all net protocols and similar goodies ( depend on way of micro-kernelizing Linux ) and quite good performance to start with.
Re: Some Hurd and Mach programming questions
On Fri, May 19, 2000 at 05:56:58PM +0100, Edmund GRIMLEY EVANS wrote: Mark Kettenis [EMAIL PROTECTED]: 8. Does it make any sense to move most device drivers (scsi/ide) from Mach to user-space. I suppose than PCI bus etc. would still need to be in kernel. I suppose that you'll always need some basic support for a disk device in the Mach kernel. Some other device drivers might be moved out to Why would PCI bus have to be in the kernel? Why would you need support for a disk device in the kernel? I suppose that device that is needed by other devices to function properly (as PCI bus) shoud be held by device manager, which should be placed in kernel, because you can give I/O ports only from kernel mode (this can be done by user program with some kernel support too, but this is much more complex)
Enormous sizes of Hurd *.h headers
I did ``cpp -D_GNU_SOURCE file.h | wc'' on a few headers. Here are results ( format: lines words bytes ) hurd.h : 23528 16126 167120 hurd/store.h 137329483 100985 hurd/trivfs.h 24875 17743 184575 hurd/diskfs.h 28631 21074 216393 For comparing : stdio.h : 25561915 17840 stdlib.h : 25912080 18615 unistd.h : 26521685 17454 Hurd headers are about 10x bigger than other C headers. ( This is one of the reasons why reading headers doesn't work as a way of learning programming Hurd ) Do we really need so big files ? Nobody ever thought of reducing them to reasonable sizes, probably by checking if all sub-includes are necesary or rearanging them a bit ???
Recovering Hurd after making severe mess with translators
If you : a) did run defrag over Hurd partition b) did ``cp -a /mnt/hurd_1 /mnt/i_want_one_hurd_more'' c) severly damaged /dev/* or /servers/* while playing with Hurd You can now do a 95%-fix with attached perl script. This script does some heurustics to guess what /dev/* really is, so will accept minor changes (various number of IDE/SCSI disks, more pty/tty pairs). script tries to fix (set everything in) /dev/*, then goes to /servers/ and tries to fix (set everything in) it and /servers/socket/*. It runs in test (read only) mode by default. One full test was performed on correct system. Busy devices (/servers/exec, /dev/console ...) were ignored by program. It can be also used to set up runable Hurd after ``cp -a /mnt/a /mnt/b'', by running from /mnt/b, running hurd_recovery.pl, and rebooting. hurd_recovery.pl Description: Perl program
Re: shadowfs
On Mon, May 15, 2000 at 06:15:52PM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: One solution is to block ~/1/foo/bar when ~/shadow/foo/bar is opened and return EBUSY on unlink(2) I think you mean rmdir(2). I don't like EBUSY here. Unix lets one unlink files which are being used; the same should work with directories. downA; t {t elikeletter; (0 AM,6 AM)} rmdir(2) == unlink(2) or some similar math ;-) Linux rmdir(2) man says EBUSY should be returned if `char* pathname' is some process' rootdir or cwdir. Of course Linux ignores own manual, but I don't have POSIX here to know what is correct (is POSIX still top-secred ?, nobody made summaries online ?) [...] So shadowfs would have to check change_notifies from /foo/bar's of all subfs where it exists and last directory from path of all other subfs's (/foo or /), to see if one directory more hasn't been just created. If it doesn't cache anything, it needn't watch anything. I think you should first make a prototype without caches, and then try how much faster it gets with caching. You're probably right here
Re: /home/user/var ?
On Tue, May 16, 2000 at 08:01:53AM +0200, Norbert Nemec wrote: That discussion about the structuring of the home directories is nothing hurd-specific at all. First it is something, the applications have to take care of - and except for a limited set of tool, most programs are written for UN*I-compatible systems in general. Hurd is not only a kernel/OS IT is also a place where UNIX design mistakes are fixed o be used wider. We have already one big success - GRUB bootloader did spead very widely and will very probably overnumber LILO in next two years (my biased idea). Since forcing app-developers to do something in a certain way can't work, it would be a thing to be enforced by the distribution, i.e. Debian would have to adopt it as a policy and the packagers would then have to change the paths in the .deb packages. In most cases, this is one #define to change per 5 package (most don't use any configs in ~/). If we show new way, people may accept it or decline it. If nobody even tried, we would all be stucked with QWERTies Debian GNU/HURD should not try do things too much different from Debian GNU/Linux - that would just mean slowing down the package-porting process. Not much slowing down, I think. If we had more logical structure, we would have less changes in future, so overall work will be the same or less correcting Unix misconceptions (as with /usr). Therefore, if one really succeeds in convincing the Debian community to adopt that policy, that's fine. Anyhow - I do not believe you'll get a majority for that idea... Majority would probably decline lack of /usr, just due to old stupid habit, GNU/Hurd is to break all old stupid habits. Remember that Debian GNU/Hurd is quite independent distribution, only using the same packager and package base, and some infrastructure and we should make Debian GNU/Hurd as good as we can, not as Linux-like as possible, because no-one would like use Debian GNU/Hurd if it were just Debian GNU/Linux emulator over Mach microkernel.
Re: shadowfs
On Sun, May 14, 2000 at 11:28:46AM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: They can be faked by shadowfs, with content scaned on demand as of other dirs and maybe cached until notified of directory change (on notify not to rescan, only to invalidate cache) So, for each open directory, the shadowfs would remember the steps taken to get there? That could work. If the user: 1. makes a directory ~/1 and a shadowfs ~/shadow which uses it 2. makes a directory ~/1/foo 3. changes directory to ~/shadowfs/foo 4. renames ~/1/foo to ~/1/bar 5. ls then the shadowfs tries to find ~/1/foo, and because it doesn't exist, the user gets ENOENT. This sounds reasonable. If the user then makes another directory ~/1/foo, the current directory starts referring to that instead, and ls works again. ENOENT on missing directories isn't the only possible way: the shadowfs could instead give the user an empty (except . and ..) directory so that he can at least cd ... Would that be better? ENOENT seems ok. There is big problem with giving empty dir. User S 1. creates ~/1/foo/bar 2. enters ~/shadow/foo/bar 3. deletes ~/1/foo/bar 4. deletes ~/1/foo What then ? One solution is to block ~/1/foo/bar when ~/shadow/foo/bar is opened and return EBUSY on unlink(2) This seems a bit harder, and if : 5. create ~/2/foo is okay again to delete ~/1/foo/bar if we accept giving empty dir, but shadowfs don't know it yet 6. create ~/2/foo/bar is okay again to delete ~/1/foo/bar but shadowfs don't know it yet So shadowfs would have to check change_notifies from /foo/bar's of all subfs where it exists and last directory from path of all other subfs's (/foo or /), to see if one directory more hasn't been just created.
Re: /home/user/var ?
On Sun, May 14, 2000 at 11:10:57AM -0700, Me wrote: --- James [EMAIL PROTECTED] wrote: Hello, Would it make sense to place a 'var/' in every user account? The use of dot notation to hide application specific files and directories is silly. If the reason is to hide those files from standard 'ls' calls, then putting the files in a var directory is just as effective. The advantage of a directory is that application files would be easier to browse and manage, etc. Dealing with hidden files is a pain. Actually, is there ever a reason to use hidden files? Isn't it always better to put the files in a directory and give the directory the appropriate permissions? PS. Hurd is getting this posting because Hurd doesn't have 30 years of tradition to break :) Thanks, James Bergstra Don't you mean etc, so each user would have his/her own ~/etc directory. I like this idea since a user/administrator could just symlink their etc to /etc to use the system wide ones by default. Or to have both ~/etc for config and ~/var for mailbox or netscape cache
Re: shadowfs
On Mon, May 15, 2000 at 07:58:42PM +0530, Pankaj wrote: i have a blur idea about shadowfs. is there a page that deals with the topic from begining. pls direct me to it so that i can understand what is going on. I doubt there is any manpage, But I can tell you what shadowfs is to be. You have 1 directory tree, on 1 filesystem (example: on 1 disk) and 2nd directory tree, maybe on the other disk. Shadowfs merges both trees, so : if you have : ~/1 - first directory/filesystem ~/2 - second directory/filesystem ~/shadow - shadowfs merging them both $ cd ~/1 $ ls a b c $ cd ~/2 $ ls d e f $ cd ~/shadow $ ls a b c d e f Of course there might be more than 2 directory trees/filesystems/disks Possible problems are : - what to do if the same file appear more than one subfilesystem - what to do if one of subfilesystem changes - how to implement write side of shadowfs, - subdirectories of subfilesystems - if two users have permisions to different set of directories under the same name, they might end with seeing other file under the same name and especially: - what to do if something actually used is deleted on one of subfilesystems
Re: shadowfs
On Sat, May 13, 2000 at 10:24:22PM +0200, Norbert Nemec wrote: OK, that would basically be a way for read-only shadowfs. If that's all we aim at, there should not be a problem for the specifications. Just layer the whole tree (ignoring contents of non-readable directories) If a file exists in more than one versions, choose the topmost one. Everything beyond that (like filename patterns etc.) would be additional features that do not change the basic concept. Question is, whether read-only is the only thing we want to go for. It would be absolutly neat, if we had a way to layer filesystems in a absolutely transparent way, so one could do things like have a read-only system as base (maybe NFS-shared by several computers?) and a read-write system on top that takes any changes you make and perhaps copies of frequently used files for better performance. When we'll have r/o shadow, it won't be very hard to make it simple r/w. At first, there could be 1 r/w + 1 or more r/o subfs. This is easy for modifying files from r/w fs and creating new files. You only have to create subdirs that exists on one of r/o's and not yet on r/w, and forward all calls to r/w fs. More problems arise with modifying files that exist only on r/o, deleting files, renaming, etc. Imagine a pre-installed system distributed on DVD (several GB in size) that you can use just as any normal system, since it writes only the changes on a fairly small partition (or even a ramdisk) Problems with ramdisk is that some stuff /etc/* /var/mail/* should be available between reboots, so such system would need NFS or smal hd/zip/... to do anything useful.
Re: Contributing to the Hurd
On Fri, May 12, 2000 at 06:41:57AM +0200, Tomasz Wegrzanowski wrote: On Wed, May 10, 2000 at 02:16:07AM +0200, Mark Kettenis wrote: From: Daniel E. Baumann [EMAIL PROTECTED] Date: Tue, 9 May 2000 12:20:25 -0500 Resent-From: debian-hurd@lists.debian.org The main reason I would like to know what needs to be done is that I want to get the paper work in for this class filled out and on the independent study form I have to write some shpeil about what this study is about and what I am going to accomplish, etc. So any information about what needs to be done would be much appreciated. I can then pick something to do. :) I have just found one thing more : * perl/c++/objc/python/smalltalk/your_favaurite_language wrappers around hurd libraries, or at least higher level C wrappers (that hello world fs is less than 1kB of code)
All ``Hello World!''s out there
Hurd libraries are very unusual. Little people has major experience with them, and they are very different from POSIX, or any other well-known standards. (this can be said about any other kernel's internals) Idea: Please, everyone who wrote/saw any simple hello-world, that demonstrates use of any Hurd library (diskfs, libstore, cthreads, ihash, ...) or other non-standard facility (ex: of GMUMach), send it to single place, to facilate everyone learning GNU/Hurd programming. Before better place is found, the best is to place it anywhere on the Net and to send url to this list. Thanks in advance, Tomasz
Re: I did run e2defrag over hurd partition
On Fri, May 12, 2000 at 01:20:40AM -0400, Rob Latham wrote: Tomasz Wegrzanowski ([EMAIL PROTECTED]) said: Question : Any public-accesible Hurd machine online ? Or correct listing of `showtrans /dev/* /servers/*' ? file attached: the result of `showtrans /dev/* /servers/* translators' hope it helps. the hurd install is 3 days old, so i think that makes it correct, no? Thanks, it worked The only problem was a (proper) reboot when I settransed /servers/exec
Re: shadowfs
On Fri, May 12, 2000 at 10:53:26AM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: Am I very wrong or readonly shadowfs needs only to check, upon open request, if file exist on first fs if not, if on the next one, etc, and if yes forward everything to good fs and if not return simple error ??? If the file is actually a directory, shadowfs should open directories with that name in all many file systems it can, and set up a nested shadowfs. Symlinks to directories should be left as symlinks; if the shadowfs showed them as directories, its clients could get in infinite loops. Why to fork shadowfs ? Why not operating it as single thread or 1 thr/per call ? Hmmh -- what happens if the user: - creates directories ~/1 and ~/2 and sets up sets up a shadowfs ~/shadow which merges them - creates a directory ~/1/dir - changes directory to ~/shadow/dir: This should give him either a reparented ~/1/dir or a shadowfs which forwards to it. - creates a directory ~/2/dir and then a file ~/2/dir/file - attempts to open file in the current directory (~/shadow/dir): Can this be made to work? The shadowfs doesn't have a port to ~/2/dir yet -- it would have to notice that ~/2/dir was created after ~/shadow/dir was opened. hurd/fs.defs has a routine dir_notice_changes; would the shadowfs have to use that? Ehm, is there any need for *entering* directories ? I thought there is no such thing anywhere but in UI. ( autonmounter reacts for ls, so it doesn't need any special support for enter_directory ) We can simply merge listings ( any cache ?, invalidated at dir_notice_changes ??? ) and find'n'forward everything else.
Re: I did run e2defrag over hurd partition
On Sat, May 13, 2000 at 06:37:55PM +0200, Marcus Brinkmann wrote: On Sat, May 13, 2000 at 10:28:39AM +0200, Tomasz Wegrzanowski wrote: Thanks, it worked The only problem was a (proper) reboot when I settransed /servers/exec What problem? Please elaborate. I was told that importand service died, and before I managed to write message down, ext2fs.static was notified of reboot, then `mach:', plus some hex flags, and then reboot. Root fs was umounted correctly. Not counting the first message it was exactly as if `reboot' was execed
Re: shadowfs
On Sat, May 13, 2000 at 08:09:19PM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: Why to fork shadowfs ? Why not operating it as single thread or 1 thr/per call ? I didn't mean it should fork per directory. I only meant that nested directories should be merged in the same way as the top-level directory. dirs can be merged without any forking. perl pseudocode describing what I think r/o shadowfs would do: --- start --- # globals : @subfs; # table of some subfs objects/ids sub shadowfs_where_forward_open_or_stat { @partsofpath = split '/',shift; @subfs_try = @subfs; # copy, not alias $dir = ''; for $part ( @partsofpath ) { for $fs ( @subfs_try ) { if ( $fs-contains ($dir.$part) ) { push @sub_nexttry, $fs } } $dir .= '/'.$part; @sub_try = @sub_nexttry; } if (@subfs) { return $subfs_try[0] } else { return -1 } # or anf other error message } sub shadowfs_dir_listing { @partsofpath = split '/',shift; @subfs_try = @subfs; # copy, not alias $dir = ''; for $part ( @partsofpath ) { for $fs ( @subfs_try ) { if ( $fs-contains_as_directory ($dir.$part) ) { push @sub_nexttry, $fs } } $dir .= '/'.$part; @sub_try = @sub_nexttry; } unless (@subfs) { return -1 } # or anf other error message for $fs ( @subfs_try ) { push @listing, $fs-listing ($dir); # fs-listing output as list of objects } # containing one file's statistics per item # some sorts # remove duplicated entries, ore suffix it as $(name)__fromfs_$(fs_nr) return @listing; } --- end --- Ehm, is there any need for *entering* directories ? I thought there is no such thing anywhere but in UI. Each process has a current directory and a root directory, and in the Hurd those are handled in much the same way as open files. The shadowfs must be able to list the contents of such an open directory and look up files in it. They can be faked by shadowfs, with content scaned on demand as of other dirs and maybe cached until notified of directory change (on notify not to rescan, only to invalidate cache) ( autonmounter reacts for ls, so it doesn't need any special support for enter_directory ) Are you talking about the Hurd or something else? I'm talking about Hurd automounter here, that it doen't need any entry support also, contrary to the first impresion
I did run e2defrag over hurd partition
Being quite confused about 10% non-contigousness reported by fsck I decided to defrag Hurd partition. Summary : DON'T DO IT ! Details : It really defraged my partion, it also seems that contents of all files are preserved. Unfortunately, translators information is completely lost. Question : Any public-accesible Hurd machine online ? Or correct listing of `showtrans /dev/* /servers/*' ?
Re: Hellllllp!! booting HURD
On Sat, May 06, 2000 at 07:46:04PM +0530, Rakesh Sawan wrote: Hi! I am only two days old to HURD and I tried installing HURD using the tar archive file (the latest one Dated some gnu-20..). I have a 433MHZ Intel Celeron with I810 chipsets(Graphics and Audio) with 8 G.B. harddisk. Harddisk contains one primary partition i.e c:(hda1) of 2 G.B. Then the extended partition contains three logical partition of 1 1 and 4G.B. The 4.G.B partition is again devided into the three partition's with 2.G.B for linux and 132 M.B. for swap and rest 900M.B. for HURD. I created the hurd partition using mke2fs -o hurd /dev/hda9. But I am having problem in booting. following is the screen dump. I used GRUB boot floppy to boot the system. grubroot=(hd0,8) **it tell's me about the ext2 partition grubkernel=/boot/gnumach.gz root=hd0s9 -s **this also suceeds grubmodule=/boot/serverboot.gz **now the system start's booting **first problem comes here --Floppy detection is successful FDC 0 is a post -1991 82077 **System takes little long time here before it log's this onto the screen Failed initialization of WD-7000 SCSI card EATA0:address 0x1f0 is in use,skipping probe **After a few more successful checks I see this error. partition check (DOS partitions): hd0:hd0s1 hd0s2hd0s5 hd0s6 hd0s7 hd0s8 hd0s9 com0:at bus o port=3fd spc=6 pic=4 (DOS COM1) com1:at bus o port=2fd spc=6 pic=4 (DOS COM2) hd0s2:bad access: block=28 count=2 blockend=30 nr_sects end_request:I/O error ,dev 03:02,sector 28 It crushed in place where it should load root filesystem translator. Are you sure your disk is ok ? My proposal of solving problem : 1) try running `badblocks' over Hurd partition (from Linux) 2) try creating Hurd partition with params `-O none -o hurd' These two are the most obvious. If they will both fail, we will try something more complex.
Re: Major GNU/Hurd using report
On Fri, May 05, 2000 at 10:52:35AM +0200, Marcus Brinkmann wrote: On Fri, 05 May 2000 02:45:50 Colin Watson wrote: And, as a side note, I understand that the reason this is there by default is that the hurd-i386 architecture is using the same source for the base-files packages as other architectures, but it is architecture: any, so we can get special hurd changes in. We have two possible sceanrios: Support /usr being a real directory by default, or doing it not. Scenario: Support for a real /usr: PATH=/usr/bin:/bin: (etc etc) LD_LIBRARY_PATH=/usr/lib:/X11R6/lib Scenario: No support for a real /usr: PATH=/bin: (etc etc) LD_LIBRARY_PATH=/X11R6/lib Note that currently we don't set LD_LIBRARY_PATH at all, but we should. This is something we need to change anyway, so I will file a bug report. But which of the two scenarios do we want? My vote for second scenario /usr exists only due to histerical reasons (BTW, it would be a nice idea to try to get X into / instead /X11R6. Then we could have: PATH=/bin:/local/bin (and no LD_LIBRARY_PATH)). Actually it is possible to have X in / This is my Linux box configuration (but with symlink /X11R6-/ ) And if we move it before we have full X working there won't be any problems with backward compatibility
Re: Major GNU/Hurd using report
On Thu, May 04, 2000 at 01:39:50PM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: Therefore there are these possibile reasons, why it is possible to r/w hardware ports : - I/O Permision Level is way too low but asm(pushfl) says IOPL=0 (kernel only) - user programs run in kernel space I hope not, no test was done This could be seen from the lowest bits of CS (as you probably know). %cs 0x03 = 0x03 fortunately user-space - Mach gives default permision to every program to use all hardware ports No test was done yet Or: - the processors traps the instructions, but Mach's exception handler lets them run anyway Any of these two, if Mach allows us to make userspace drivers is seems to be good idea to put all auxiliary device support (sound cards, graphics) in user-space. KGI is quite portable (some parts needs to be non-preemptive, possible on Mach ?) Probably IRQ manager should been put into Mach. It should also export pci configuration to user space (?) Mach actually has code to detect the first access to a port and set the flag in the bitmap if permitted. Could you add some printfs in gnumach/i386/i386/io_emulate.c and gnumach/i386/i386at/iopl.c? I'm not going to try compiling gnumach in *near* term. I had enough bad experience with Linux 2.3 and am affraid of kernels since then. BTW : what about idea, that mach should save all booting messages into RAM and then redirect it to userspace ? Due to lack of Linux-like scrool-back it is difficult to read them.
Re: Major GNU/Hurd using report
On Thu, May 04, 2000 at 08:55:50PM +0300, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: KGI is quite portable (some parts needs to be non-preemptive, possible on Mach ?) Why does it require that -- does it work on multiprocessors at all? It was said that KGI needs to block brige (?) when doing some operations (changing modes?) on some cards (dunno which ones) I'm not going to try compiling gnumach in *near* term. I had enough bad experience with Linux 2.3 and am affraid of kernels since then. Do you fear compiling it, or running the result? running the result
Hurd networking
Are Linux net daemons (like proftpd, apache, dictd) are expected to work correctly without modifications or is there some essential difference between Hurd and Linux networking that can make them unable to work just after recompilation ?
bcopy
1) Is there any reason bcopy is used in Hurd sources instead of memcpy ? (I have quite old sources here) 2) Is it ok to send patch to change it ?
Major GNU/Hurd using report
1) bash protests that it can't find `mesg' program when I log in bash is of course right, because there is no `mesg' installed, and `mesg' is part of sysvinit, so it's corrrect it's not installed but why does bash need `mesg' ? 2) Famous I/O problem I tried to check if VGA registers are the only ones affected And no, much more are affected Here's CMOS reporting program --- start --- #include mach/machine/pio.h int main() { int i,j; printf (CMOS content report\n\n); for (i=0;i0x40;i++) { outb (0x70,i); j=inb (0x71); printf (Cell $%d(0x%x) = %d\n,i,i,j); } printf (End of Report\n); return 0; } --- end --- outb is: #define outb(port, val) \ ({ asm volatile(outb %0, %1 : : a ((unsigned char)(val)) , d ((unsigned short)(port))); }) Therefore there are these possibile reasons, why it is possible to r/w hardware ports : - I/O Permision Level is way too low but asm(pushfl) says IOPL=0 (kernel only) - user programs run in kernel space I hope not, no test was done - Mach gives default permision to every program to use all hardware ports No test was done yet 3) I have problems with networking There is no eth, only loopback should be used telnet doesn't work tail of syslog - last two days (there was more than 1 run/day) : --- start --- May 2 12:40:41 localhost syslogd: restart May 2 12:40:41 localhost inetd[29]: ftp/tcp: socket: Translator died May 2 12:40:41 localhost inetd[29]: finger/tcp: socket: Translator died May 2 12:40:41 localhost inetd[29]: telnet/tcp: socket: Translator died May 2 12:40:41 localhost inetd[29]: shell/tcp: socket: Translator died May 2 12:40:42 localhost inetd[29]: login/tcp: socket: Translator died May 2 12:40:42 localhost inetd[29]: exec/tcp: socket: Translator died May 2 12:40:42 localhost inetd[29]: ident/tcp: socket: Translator died May 2 12:40:42 localhost inetd[29]: smtp/tcp: socket: Translator died May 3 19:04:21 localhost syslogd: restart May 3 19:04:20 localhost inetd[29]: ftp/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: finger/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: telnet/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: shell/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: login/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: exec/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: ident/tcp: socket: Translator died May 3 19:04:21 localhost inetd[29]: smtp/tcp: socket: Translator died --- end --- Every time I `ls -l /servers/socket' It prints : `2 - translator died' (then normal list) mc says : `file 2 exists but can't be stated' showtrans says /servers/socket/2 is /hurd/pfinet -i=rfsd 4) Is there any fatfs translator ?
Hurd sources distribution
a) Are Hurd sources diffs available somewhere ? b) Why Hurd sources hasn't been splited ? b1) Linux compiles in half an hour on my machine (under Linux), and Hurd hasn't finished in 10 hours (under Hurd). I suppose Hurd is *much* more memory-consuming (it's 16MB RAM system), or I'm doing something very wrong (most of the time I wasn't looking, so I don't know what was happening), but it make playing with Hurd quite difficult. b2) Maximal machine power of Hurd machine is very limited. It supports 1 processor, 1GB partitions, probably not much of other resources (anyone has real numbers), and compilation should be broken to parts that compiles on maximal supported machine in very reasonable time. b3) It would be more clear which parts of Hurd changed recently, if only these ones changed their version. b4) dpkg was invented to support many little packages, huge, multi-functional packages aren't very compatible
Re: Need Help with network card setup-NEWBIE
On Fri, Apr 28, 2000 at 01:39:12PM -0500, John Foster wrote: I have a working HURD installation, the boot sequence lists a card (the correct one) during the startup. but I have a lot of error messages and the system can not locate the card when I try to ping the localhost or my gateway. I have my own domain and my ISP has assigned my static IP addresses. I ahve tried to use info, man, etc. but nothing realy details setting up networking. Wierdly the boot meassage does point out the author of the drivers for the realtek 8139 chipset based card that I am using. I had to recompile my kernel in Linux to get that card to work. Must I do the same for HURD? I also use a dual processor system, must I recompile for them both to work--seems much slower than Linux SMP. no SMP on Hurd yet (ever ?) probably you should settrans pfinet at /servers/socket/2 to use your net card. dont remember exact syntax, check with --usage or --help, Im sure it was described there
Re: Need help installing HURD-Newbie!
On Mon, Apr 24, 2000 at 08:44:43PM -0500, John Foster wrote: [...] grub; I issued the command root=(hd1,0); recieved the message 'found ext2 linux filesystem; I issued the command kernel=/boot/gnumach.gz root=hd1s1 -s;that is as far as I got. I get the error message file not found; ANY help or criticisms are greatly appreciated as this is my first Most probably you have too old grub. Test : try using name-completitions at grub prompt, enter /TAB and see list of files, a ) if there are non-letter characters appended at ends of files/dirs names your grub is too old, please upgrade it b ) if there is no shit yet, try completing /boot/TAB if there is some appended, upgrade your grub c ) if all file names are printed cleanly by grub wait for someone more competent than me ;-)
GNUMach question
Were interface used by userspace apps to get/free hardware ports/ irqs/ dmas etc. is described.
Re: Trying to install HURD--Need Help
On Mon, Apr 24, 2000 at 03:31:16PM -0500, John Foster wrote: [...] grub; I issued the command root=(hd1,0); recieved the message 'found ext2 linux filesystem; I issued the command kernel=hd1s1 -s;that is as far as I got. I get the error message file not found; ANY help or criticisms are greatly appreciated as this is my first attempt at using HURD. with grub's kernel command you should point to *file* containing kernel, that is /boot/gnumach (with .gz or without), with root partition as argument like this : (exact citation from my system, please substitute disk names) root (hd0,0) kernel /boot/gnumach root=sd0s1 -s module /boot/serverboot
Software ported to Hurd
There is very little software ported. Is this because of : a) porting problems b) debian ftp problems (packages are ported but not put into debian ftp) If answer is : a) where should I report ported packages b) where can I get list of ported packages
Re: Software ported to Hurd
On Thu, Mar 16, 2000 at 10:35:13PM +0100, Marcus Brinkmann wrote: On Thu, Mar 16, 2000 at 09:47:45PM +0100, Tomasz Wegrzanowski wrote: There is very little software ported. Hu? It's not that bad. It will be ok when there will be everything what I call `basic functionality' ( and what has little to do with real basic functionality ) a) where should I report ported packages Here. Ok. First package I build was midnight commander. Had nobody really tried this before ? No 1 line of patching was needed. Next two will be w3m (little problems, seems easy to fix) and dictd (not tried yet). b) where can I get list of ported packages In the archive, for those we know about. There is also a often-up-to-date list on the Debian hurd web page. Do you mean debian/dists/sid/main/binary-hurd-i386/Packages.gz file ?
Re: Small Bug
On Wed, Mar 15, 2000 at 09:32:21PM +, powder keg wrote: Here is one for you: root. Probably 90% of all machines have it. Yeah, but the root account doesn't usually have a simple password like the average user has (birthday, mother's maiden name, etc). The root password isn't going to be posted on a monitor with a post-it note. I can give you root password for my Linux box. Simply look at top 10 polish female names. But you won't log in unless you have phisical access.
Re: Graphics on Hurd
On Tue, Mar 14, 2000 at 01:06:48AM +0100, Marcus Brinkmann wrote: On Mon, Mar 13, 2000 at 06:51:20PM -0500, SCOTT FENTON wrote: OK then, I will. How? Sorry, but you won't like the answer. Look at the XFree86 sources, you will have to talk directly with GNU Mach. There was a reason why I left out the answer in my reply: If you don't already have it, you probably won't need it. Did anybody managed to switch to graphic mode, set some palette, draw some pixels, and then switch back ?
Re: vts?
On Mon, Mar 13, 2000 at 03:24:55PM +0800, da Bobstopper wrote: heya is it possible to have more than 1 virtual terminal in the hurd? i've been looking at /etc/ttys and it looks like all that's available is the console and a terminal on the serial line. how would i get alt-f? to work? you can use `screen' program i also noted that vi and lynx both have an annoying tendency to crash. i've forgotten the msg now, but if it's not a known bug i'll get it and post it. basically, neither will start at all. is there any way i can help the development of hurd at all? i'm currently a pretty primative programmer so i doubt i'll be of much use with coding anything, but if there's any other way i can help, i'd love to. i'm looking forward to GNU taking over the world ; Try to make some documentation. There is very little, even about most basic things.
Re: (was) Re: vts?
On Mon, Mar 13, 2000 at 08:25:40AM -0700, Brad Marks wrote: I'd put in some time for documentation if I knew where to start.. i.e. what needs done most urgently, who do I submit it to, does it need to be in any specific format (where it might end up could be good to know if I'm going to be putting html links on it) a documentation task list could be a good idea to co-ordinate people like us My proposals : - 1 central page with *all* Hurd and Mach papers ( mirrored in Europe ) - some common errors list, with `default pager errors', GRUB fails etc. - list of all GNU/Hurd CD sellers, as soon as someone will sell them - pointers to all Hurd-related projects - translators writers' manual, especially about writing them in perl
Graphics on Hurd
Is this possible to have ANY graphics, even the most raw-access, on Hurd ?
Re: Dvorak keymap
On Sun, Feb 13, 2000 at 04:24:38PM +0200, Kalle Olavi Niemitalo wrote: Tomasz Wegrzanowski [EMAIL PROTECTED] writes: [ 4 held-down and 4 locking modifiers ] Do I have to rewrite Mach terminal controller ? Yes. If you do, I'd like to see the patches. Design question : Why keyboard is controlled in kernel-space, if Mach is microkernel ? Shouldn't data-stream be redirected from keyboard to userspace etc. Maybe not raw, but translated to : pressed key nr 66 relased key nr 27 etc. (if there are no more key than 127 it can be byte per info) So userspace program can trivially translate this stream to key values, allow rates 30 keys/s, delay 250ms, dozen modifiers etc.
Re: Dvorak keymap
On Sat, Feb 12, 2000 at 04:11:20PM -0800, Seth Aaron Nickell wrote: Hurrah... Should have gotten up the gumption to do this myself, but I'm too darn lazy :) Ok, now someone tell me how to have : 4 dynamic modifiers (shift, alt, ctrl, altgr) and 4 switching modifiers (caps, scrool, num, some cosmics w/o good name to swich numerical row to do [EMAIL PROTECTED]*()' ) delete, home, end etc. Do I have to rewrite Mach terminal controller ?
Re: Install from FreeBSD
On Tue, Feb 01, 2000 at 05:52:17PM -0800, R Joseph Wright wrote: Is it possible to make the hurd filesystem from FreeBSD? I'd like to try out the hurd, but I really don't want to install linux first. Otherwise I may just wait until the installation system is a bit more independent. If FreeBSD mkfs.ext2 accepts -o flag, you need only to make such partition and unpack a tar file. If it doesn't, download one-floppy Linux, or use GNU mkfs.ext2 (don't know if it is portable) to make such partition and then unpack tar file.
Re: i want to help ! how ?
On Fri, Jan 21, 2000 at 10:20:47PM -0800, Halis Osman ERKAN wrote: Hi all who works for HURD i have just taken OS lecture and now i want to do something real! i installed hurd but thats all ; i want to code for hurd's kernel if i can ; what must i do? i tried to trace the source but i could not decide where to start. if theres any document about this or anybody can help me with his/her experince i think i can do smth for HURD Try to implement ppp. It's shame fo GNU/Hurd nobody had already done it. Download pppd and Linux's ppp sources, and if you manage, GNU/Hurd will come much more popular in Europe
Re: Hurd Logo
On Tue, Dec 28, 1999 at 10:41:21AM -0800, Jeff Bailey wrote: On Tue, Dec 28, 1999 at 03:20:34PM +0200, chen wrote: I drew a small part of the hurd logo for webpages related to hurd or running on hurd. you can find it at http://file.slangsoft.com/hurd.jpg Feel free to use it, modify it, link it to other hurd pages and send me some feedback :-) Wonderful! I'm using the .png that you posted for Marcus (I still need to get rid of that Gif in the corner. Can .png do animated?) No, There is similar and generalized mng format (every correct png or jpeg is correct mng) that allows animations, but I dont know of any implementation of this. I don't claim copyright over the logo (actually it is a variation on another logo) but if you say somewhere Thanks to Chen Shapira for the logo I'll be very happy. Would you like your name linked to your Email address?
Re: GRUB 0.5.93.1 boot floppy released
On Thu, Nov 18, 1999 at 01:24:52PM -0600, Gordon Matzigkeit wrote: ftp://alpha.gnu.org/gnu/grub/grub-boot-0.5.93.1.image Does any mirror of ftp://alpha.gnu.org/ exists ? Only www mirrors ar listed on webpage and my connection with this place is VERY bad.
Re: Problems installing Hurd
On Thu, Nov 11, 1999 at 01:14:35PM -0800, Brent Fulgham wrote: Thomasz, First: Please use text-only mail when sending to these lists. Many UNIX-based user's don't bother to enable HTML for mere Mail reading, and many will just trash anything that comes in as HTML. If you are unlucky enough to be running Outlook (as I am) you will have to be ever-vigilant when replying. Hey ! I have never sent html in mail ! My mailer cant do it even if id want (but i dont want). As for the rest of your mail: I did the cross-install to /dev/hda4 (/gnu). I also made a grub floppy (from grub-boot.image) And then I reboot. And then a problem came: grub complains that there is no /boot/gnumach The most likely cause of this is an older version of GRUB. GRUB has only recently adopted support for compressed (gzip'ed) kernel images. If you do a gzip -d /gnu/boot/gnumach.gz and gzip -d /gnu/boot/serverboot.gz you will most likely correct the problem. Already tried After a quick investigation I found that grub doesnt see /boot but /boot What kind of investigating did you do? Are you running it through a debugger, which might interpret newlines as garbage characters? dd if=/dev/hda4 of=foo bs=1M count=1 le -h foo
Re: request help installing hurd
On Fri, Nov 12, 1999 at 11:52:30AM -0800, Paul Mineiro wrote: here's the partition table: Disk /dev/hda: 255 heads, 63 sectors, 784 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 *1 653 5245222 83 Linux native /dev/hda2 654 752 795217+ 83 Linux native /dev/hda3 753 768 128520 82 Linux swap /dev/hda4 769 784 128520 82 Linux swap Maybe youve already known it, but 128 MB max_swap is no longer actual If you use 2.2 kernel make it: Device Boot Start End Blocks Id System /dev/hda1 *1 653 5245222 83 Linux native /dev/hda2 654 752 795217+ 83 Linux native /dev/hda3 753 784 257040 82 Linux swap any help would be greatly appreciated. if you really meant `any' Im still having problems installing Hurd myself. Boot stops after comports are scaned.