Oops. I found out how I could get a command prompt (pressing Ctrl+C instead of q), but when I then tried running fsck, this happened:

empeg:/empeg/bin# fsck.ext2 -f /dev/hda4
e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
ext2fs_check_if_mount: No such file or directory while determining whether /dev/
hda4 is mounted.
Pass 1: Checking inodes, blocks, and sizes
(... a few minutes of the harddisk rattling ...)
attempt to access beyond end of device
03:05: rw=0, want=16787720, limit=16569
dev 03:05 blksize=1024 blocknr=16787719 sector=33575438 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787721, limit=16569
dev 03:05 blksize=1024 blocknr=16787720 sector=33575440 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787722, limit=16569
dev 03:05 blksize=1024 blocknr=16787721 sector=33575442 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787723, limit=16569
dev 03:05 blksize=1024 blocknr=16787722 sector=33575444 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787724, limit=16569
dev 03:05 blksize=1024 blocknr=16787723 sector=33575446 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787725, limit=16569
dev 03:05 blksize=1024 blocknr=16787724 sector=33575448 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787726, limit=16569
dev 03:05 blksize=1024 blocknr=16787725 sector=33575450 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787727, limit=16569
dev 03:05 blksize=1024 blocknr=16787726 sector=33575452 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787728, limit=16569
dev 03:05 blksize=1024 blocknr=16787727 sector=33575454 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787729, limit=16569
dev 03:05 blksize=1024 blocknr=16787728 sector=33575456 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787730, limit=16569
dev 03:05 blksize=1024 blocknr=16787729 sector=33575458 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787731, limit=16569
dev 03:05 blksize=1024 blocknr=16787730 sector=33575460 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787732, limit=16569
dev 03:05 blksize=1024 blocknr=16787731 sector=33575462 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787733, limit=16569
dev 03:05 blksize=1024 blocknr=16787732 sector=33575464 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787734, limit=16569
dev 03:05 blksize=1024 blocknr=16787733 sector=33575466 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787735, limit=16569
dev 03:05 blksize=1024 blocknr=16787734 sector=33575468 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787720, limit=16569
dev 03:05 blksize=1024 blocknr=16787719 sector=33575438 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787721, limit=16569
dev 03:05 blksize=1024 blocknr=16787720 sector=33575440 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787722, limit=16569
dev 03:05 blksize=1024 blocknr=16787721 sector=33575442 size=1024 count=1
attempt to access beyond end of device
03:05: rw=0, want=16787723, limit=16569
dev 03:05 blksize=1024 blocknr=16787722 sector=33575444 size=1024 count=1
fsck.ext2(31): memory violation at pc=0x0200ca24, lr=0x0200cc0c (bad address=0x0
201883c, code 2)
pc : [<0200ca24>] lr : [<0200cc0c>]
sp : bffff7f8 ip : bffff808 fp : bffff804
r10: bffffaf4 r9 : bffffa94 r8 : 00000000
r7 : 00000000 r6 : 02024b20 r5 : 0001000e r4 : 0001000e
r3 : 00000000 r2 : 00000000 r1 : 0201883c r0 : 0001000e
Flags: nzCv IRQs on FIQs on Mode USER_32 Segment user
Control: C809917D Table: C809917D DAC: 00000015
Function entered at [<0200ca10>] from [<0200cc0c>]
Function entered at [<0200cbd0>] from [<02005274>]
r10 = 015CA74B r9 = BFFFFA94 r8 = 00000000 r7 = 00000F8C
r6 = 02024B20 r5 = 0001000E r4 = 00000000
Function entered at [<020050b8>] from [<0200ea38>]
r10 = 00000200 r9 = 00000000 r8 = BFFFF96C r7 = 02065EA0
r6 = 00000080 r5 = BFFFF974 r4 = 00000000
Function entered at [<0200e7e0>] from [<0200ed64>]
r10 = BFFFF974 r9 = 00000100 r8 = 00000038 r7 = BFFFF96C
r6 = 020660D8 r5 = 0000000E r4 = 00000000
Function entered at [<0200eb34>] from [<0200f464>]
r10 = 00000000 r9 = 00000000 r8 = 02024D50 r7 = BFFFF974
r6 = BFFFFA48 r5 = 0000000C r4 = 00000000
Function entered at [<0200f1cc>] from [<02004b30>]
r10 = 02024B20 r9 = 02059BFC r8 = 00000D85 r7 = 00000008
r6 = 02024B20 r5 = BFFFFB2C r4 = 02065CA0
Function entered at [<020049f8>] from [<0200481c>]
r10 = 02065CA0 r9 = BFFFFAF4 r8 = 02024928 r7 = 00000008
r6 = 02024B20 r5 = BFFFFB2C r4 = 00000420
Function entered at [<0200474c>] from [<0200470c>]
r10 = 02024B20 r9 = 00000000 r8 = BFFFFC08 r7 = 00000000
r6 = BFFFFC8C r5 = 00000036 r4 = 02024B20
Function entered at [<020046ec>] from [<020124ec>]
r5 = BFFFFC08 r4 = 020668A8
Function entered at [<02012490>] from [<0200444c>]
r8 = BFFFFC38 r7 = BFFFFCA6 r6 = 02065CA0 r5 = BFFFFC08
r4 = BFFFFC8C
Function entered at [<0200386c>] from [<02002fd0>]
r10 = 00000000 r9 = 020246F0 r8 = 020244B8 r7 = 00000001
r6 = 00000000 r5 = 020244C0 r4 = 00000000
Function entered at [<02002f5c>] from [<02002aec>]
r5 = 02025288 r4 = 00000000
Function entered at [<020023e0>] from [<40037040>]
r10 = 400FF128 r9 = 020023E0 r8 = 02016DD0 r7 = 02000EE8
r6 = 4000C2A8 r5 = 00000003 r4 = BFFFFE04
Function entered at [<40036ee4>] from [<020013e4>]
r10 = 4001D858 r9 = 00000000 r8 = 00000000 r7 = 00000000
r6 = 020013C0 r5 = 00000000 r4 = 4001E5EC
Bus error
empeg:/empeg/bin#

After that, any attempt to run fsck.ext2 resulted in a similar error message, even when I just tried "fsck.ext2 -?"!

Help!?!?!