From owner-freebsd-stable Sat Jun 9 9:54:50 2001 Delivered-To: freebsd-stable@freebsd.org Received: from smtp10.atl.mindspring.net (smtp10.atl.mindspring.net [207.69.200.246]) by hub.freebsd.org (Postfix) with ESMTP id 4F96F37B430; Sat, 9 Jun 2001 09:54:15 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from mindspring.com (dialup-209.245.133.57.Dial1.SanJose1.Level3.net [209.245.133.57]) by smtp10.atl.mindspring.net (8.9.3/8.8.5) with ESMTP id MAA07043; Sat, 9 Jun 2001 12:54:05 -0400 (EDT) Message-ID: <3B2254CA.9FB93387@mindspring.com> Date: Sat, 09 Jun 2001 09:54:34 -0700 From: Terry Lambert Reply-To: tlambert2@mindspring.com X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "Daniel C. Sobral" Cc: Poul-Henning Kamp , Doug Denault , Greg Lehey , developers@FreeBSD.ORG, FreeBSD Stable Users , FreeBSD current users Subject: FORTH: Modifying loader... References: <50104.991592939@critter> <3B208329.2E2BFF2B@mindspring.com> <3B20BF6F.7060900@tcoip.com.br> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG "Daniel C. Sobral" wrote: > Actually, > > : Short-Appplication ." Hello World!" cr ; > > might even work... :-) I've been waiting for a FORTH-geek to pop his head up; I have most of "nextboot" reimplemented... I've added "fwrite" and "flseek" verbs. I've thought about kidnapping an astronomer. 8-). The current problem is that the biosdisk.c doesn't contain "write" code, and that the libstand code wouldn't call it if it did. I'm not really interested in creating or extending files, and with those restrictions, it seems possible to do the job. Is anyone interested in helping out with the code? The basic plan is to take a file that has: "A A A B B B\n" and rewrite it as: "A A B B B A\n" (a rotor; slightly different than the original nextboot, but acceptable, given the constraint of keeping the file exactly the same length), and then use the first string "A" (might be "disk1s1a:/kernel") to set curr_dev to the "disk1s1a:" part, and then try to boot the "/kernel" part. I'll write the user space utility, and I'm willing to do the UFS code as well, but it's been 15 years since I've done FORTH, and I'm not too confident of the VM86 calls in biosboot.c for writing, either. We could guard the code against extending the file, and that's enough to ignore the allocation problems without damaging any FS to which it is applied, since we would only rewrite existing disk blocks. The "fread" verb already returns the exact length of the file, so that's not a problem, either. So do we have a BIOS write hacker and a FORTH hacker in the house? Worse comes to worse, I can find a sacrificial disk and do the BIOS write stuff myself, if I have to. Modified code for libstand to go back to CMU Mach, per the request, of course... -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message