Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!husc6!rice!sun-spots-request From: jpt@uf.msc.umn.edu (Joseph Thomas) Newsgroups: comp.sys.sun Subject: Re: Help with swapon(8) Keywords: SunOS Message-ID: <8902231905.AA12137@uf.msc.umn.edu> Date: 6 Mar 89 01:52:45 GMT Sender: usenet@rice.edu Organization: Sun-Spots Lines: 28 Approved: Sun-Spots@rice.edu Original-Date: Thu, 23 Feb 89 13:05:55 CST X-Sun-Spots-Digest: Volume 7, Issue 182, message 11 of 17 We had a similar desire to use a "swap generic" kernel and add swap areas based on the system/disk we happend to be running off of. It can be done, assuming you have source. I suspect that you could patch /vmunix to do something similar, but that would be much harder. What happens is that the kernel builds a table of swap devices at compile time. When the system is booted, it reads the geometry of these devices and fills in the block counts. You can't add devies to the generic swap kernel because it hits the end of the device table. We "drove around" this problem by rewritting the code to treat the end of table value differently. The compile phase now leaves all slots available for swapping ( instead of one "generic" one ) and assumes a very large maximum number of swapping blocks. [ As I recall, there was also a bug in swapon which set the user proc error code in the wrong place, which caused funny errors to come back. ] An Aside: What's the general story on posting kernel diffs ?? [ I would assume that if someone were to send me a copy of their source license, I could then send back the complete file ??? ] Joseph Thomas Minnesota Supercomputer Center jpt@msc.umn.edu 612/626-1888