Well, as the original poster stated, SheepShaver can be built only by removing Linux/sheepthreads.c from src/Unix/Makefile. So the correct procedure to get SheepShaver would be:
Code:
mkdir SheepShaverBuild && cd SheepShaverBuild
# get source files from cvs
cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix login ##password: "anoncvs"
cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix checkout BasiliskII
cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix checkout SheepShaver
cd SheepShaver
make links
cd src/Unix/
NO_CONFIGURE=1 ./autogen.sh
# if you want to have sound you want to use sdl
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man \
--enable-sdl-video=yes --enable-sdl-audio=yes
sed -i 's|Linux/sheepthreads.c ||' Makefile
make
So I got the binary after make install. But I can't run it as an ordinary user:
Code:
$ SheepShaver
SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
Found a PowerPC 7400 processor
400+0 records in
400+0 records out
419430400 bytes (419 MB) copied, 7.59246 s, 55.2 MB/s
Paranoia checks...
[emul_thread] waiting for tick thread to initialize
[tick_thread] waiting for emul thread to initialize
[emul_thread] filling in registers and waiting for interrupt
[tick_thread] trigger interrupt
SIGUSR2 caught
...passed
ERROR: Cannot map Low Memory Globals: Operation not permitted.
^C
[1]+ Done SheepShaver
At least, I need to be root:
Code:
$ su -c 'SheepShaver'
Password:
SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
Found a PowerPC 7400 processor
Paranoia checks...
[emul_thread] waiting for tick thread to initialize
[tick_thread] waiting for emul thread to initialize
[emul_thread] filling in registers and waiting for interrupt
[tick_thread] trigger interrupt
SIGUSR2 caught
...passed
Reading ROM file...
WARNING: Cannot open /dev/cdrom (No such file or directory)
Using SDL/pulse audio output
WARNING: Cannot open /dev/sheep_net (No such file or directory). Ethernet will not be available.
ERROR: Unsupported ROM type.
At second, I need some other ROM. Which types of them are suitable? Old-world only? Time to boot my Performa...
UPD: No, I'm too lazy. So got it from "redunant robot", the new world one. Also used
Code:
# ln -s /dev/hdc /dev/cdrom
to get optical drive. Cannot boot Mac OS 8.0 from Apple Genuine CD, however

Deep Shit Alert comes!

Time to dive into which version is compatible with this ROM, and where to get /dev/sheep_net.
UPD2: OldWorld ROM can boot this CD, but now it's sheepshaver's turn to error (after displaying Mac OS banner, but before filling the desktop with pattern):
Code:
ERROR: Your Mac program made an illegal word read access to address 0x6d4ca7e2.
(pc 0x55290090, 68k pc 0x4cfc9ca6, sp 0x52ef84c6)
Checking "Ignore Illegal Memory Accesses" doesn't help too:
Code:
SIGILL
pc 0000005c lr 4cfe26dc ctr 00000000 msr 0208f932
xer 00000000 cr 28000204
r0 00000000 r1 52ef8540 r2 00000000 r3 000000ff
r4 68fff740 r5 00000000 r6 4d09d460 r7 000006b0
r8 0000006b r9 00000003 r10 00000000 r11 4cfe1ca0
r12 50ffc001 r13 100691bc r14 4cf00458 r15 0000004a
r16 0001ac00 r17 06b00000 r18 73637269 r19 54f187ce
r20 00000a11 r21 52f00190 r22 52f00400 r23 00000000
r24 42000207 r25 4d11ca26 r26 00000011 r27 00000001
r28 52ef85c2 r29 4d098e4c r30 4d098e40 r31 68fff740
But at least I get the System's boot code screen:
Looks like the KILL signal was on the stage of loading INITs. At the 68k emulation time (see r4, r31 - it's definitely the pointer to nanokernel's emulator page).