Subject: Succeeded to boot from IDE on G3/266MT
To: None <port-macppc@netbsd.org>
From: Yoshihisa Sugimoto <sugimoto@sums.shiga-med.ac.jp>
List: port-macppc
Date: 03/25/1999 18:31:54
Hi,
I've been trying to boot from IDE drive on PMG3/266MT. Finally, I succeeded
to boot from the IDE drive.
My procedures were as follows;
1) I installed binaries using bootfloppy-990119 according to the procedure d
escribed by Mr. Fujiwara.
http://www.ki.nu/software/NetBSD/PowerPC/starting.shtml
2) I reset PRAM with Cmd+Option+P+R.
3) I went back again into Mac OS, and used Multibooter 1.0d13 which was an u
tility program for Rhapsody (and OS X) developers.
ftp://ftp.apple.com/developer/macosxserver/UsefulStuff/Multibooter1.0d13.sit
4) I set up some parameters according to a homepage of LinuxPPC.
http://members.aol.com/mgssuchino/Ga/
I booted Multibooter 1.0d13 and selected "Network Disk (Open Firmware)". Aft
er clicking "Advanced Options", I set up parameters like this;
Boot-Device : ide/disk@0:0
Boot-File : netbsd
Boot-Command : boot
Input-Device : kbd
Output-Device: screen
Stop Boot at Open Firmware Prompt: checked
Then I enter "OK".
After hitting "Save" button, I rebooted my G3.
Booting was stopped at Open Firmware prompt.
Simply typing "boot" gave me a miracle!
Everything worked fine with remarkable speed.
I wondered why it booted. Then I went down to Open Firmware and saw how Mult
ibooter manipulated my G3 through the serial console. Apple seemed to provid
e some magics to ide devices in nvramrc.
---------------------------FROM HERE------------------------------
0>printenv
VARIABLE CURRENT DEFAULT
little-endian? false false
real-mode? false false
auto-boot? false true
diag-switch? false false
fcode-debug? false false
oem-banner? false false
oem-logo? false false
use-nvramrc? true false
real-base -1 -1
real-size 100000 100000
virt-base -1 -1
virt-size 100000 100000
load-base 600000 4000
pci-probe-list -1 -1
screen-#columns 64 64
screen-#rows 28 28
selftest-#megs 0 0
boot-device ide/disk@0:0 /AAPL,ROM
boot-file netbsd
diag-device fd:diags
diag-file
input-device kbd kbd
output-device screen screen
oem-banner
oem-logo
nvramrc
hex
: $D find-device ;
: $E device-end ;
: $L BLpatch ; : $R BRpatch ;
: $X execute ;
: $p 0 to my-self property ;
: $a " /chosen" $D $p $E ;
10 buffer: km
dev kbd
get-key-map km swap move
$E
: ck 0 do swap dup 3 >> km + c@ 1 rot 7 and << and or loop ;
: bootr 0d word count encode-string " machargs" $a
8 0 1 ck if 0 and else f 29 3d 0 3 ck if 40 or then then
if bye else cr 20 0 do ['] boot catch drop 500 ms loop then ;
dev enet
' open constant $M
: $M2 $M 710 - $X ;
: rl@ -7D9D40 $X ;
: chstat begin $M2 $M 14f8 - $X -7D6C20 $X rl@ 400 and 0= until ;
: bmstat begin $M2 $M 13F0 - $X rl@ 100 and until ;
: xmt1 get-msecs $M 720 - ! chstat $M A00 - $X bmstat chstat ;
' xmt1 ' WRITE 10 + l!
62 ' READ 7 - c!
: READ { _p _n ; _a } begin _p _n bead -> _a _a 2+
if _p c@ 80 and 0= else 1 then until _a ;
$E
dev /packages/obp-tftp
: $M over + ['] noop $L ;
' open E8 $M EC $M F0 $M F4 $M F8 + ' true $L
$E
dev /packages/mac-parts
: $M -7E89E0 $X 8000 alloc-mem 4 -7E89E0 $X ;
' load 268 - ' $M $L
$E
dev ide0
f3000038 constant $hfr
: $M $hfr rl@ or $hfr rl! 10 ms ;
: ata-enable 4 $M 80 $M 800000 $M 100 $M 20 $M 40 $M ;
: $M2 use-ata-interface ata-enable true ;
: set-device-ID set-drive-select ;
: reset-atapi-bus reset-ata-bus ;
' open ' $M2 $R
' enable-bus ' ata-enable $R
' reset-ata-bus 2c + ' 2 $L
$E
dev ide1
f3000038 constant $hfr
: $M $hfr rl@ or $hfr rl! 10 ms ;
: ata-enable 4 $M 80 $M 800000 $M 100 $M 20 $M 40 $M ;
: $M2 use-ata-interface ata-enable true ;
: set-device-ID set-drive-select ;
: reset-atapi-bus reset-ata-bus ;
' open ' $M2 $R
' enable-bus ' ata-enable $R
' reset-ata-bus 2c + ' 2 $L
$E
dev scsi
: $M ['] do-cmd + ;
: $M2 5 us -5f0 $M $X ;
: $M3 -710 $M f over $X $X ;
-1AC $M ' $M2 $L
100 $M ' $M3 $L
1 124 $M !
$E
unselect-dev
boot-command boot boot
ok
---------------------------TO HERE--------------------------------
--
Yoshihisa Sugimoto, M.D., Ph. D.
Medical Information Center / First Deapartment of Medicine
Shiga University of Medical Science
Seta-Tsukinowa, Otsu, Shiga, 520-2192, Japan