
CDROM 드라이버도 없고 ufs 디스크도 없는 고대 유닉스(at&t 2.1)를 실행하는 가상 머신에 70MB의 대용량 파일을 전송하고 싶습니다. (ufs 43bsd를 사용하여 systemV ufs를 마운트하려고 하면 Linux에서 오류가 발생합니다.) 플로피가 없습니다. 디스크(70MB 플로피 디스크가 존재하지 않습니다..) 그래서 저는 minicom+kermit을 선택합니다. at&t 측면에서는
kermit -g file.tar
리눅스 측에서는 minicom을 엽니다.
ctrl+a+s
kermit을 선택하고, file.tar를 선택하세요. 와... 아무 일도 일어나지 않습니다. AT&T 시리얼 화면에 보니
/usr/local/bin/kermit -g file.tar
Return to your local Kermit and give a SERVER command.
KERMIT READY TO GET...
3 EToo many retries_N"U1@
해결책이 있나요?
답변1
나는 사용했다게임+QEmu 모니터dd를 사용하여 플로피 디스크를 마운트하고 원시 데이터를 읽습니다.
dd
한 번에 하나의 플로피 디스크에 파일을 사용하거나 쓰십시오 split
.
참고: 1474560개의 볼륨으로 분할해야 할 수도 있습니다(/dev/rdsk/f03ht는 다음과 같습니다).
compress
시도해 볼 수도 있습니다.
# Archive the files you wish to send using `tar` (supported on SYSV).
$ ls -la test.tar
----------+ 1 cmihai None 5901312 Dec 2 20:55 test.tar
# Split into 1.44MB volumes
$ split -b 1478656 test.tar test_floppy_
$ ls -la test_floppy*
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_aa
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_ab
-rw-r--r--+ 1 cmihai None 1478656 Dec 2 21:10 test_floppy_ac
-rw-r--r--+ 1 cmihai None 1465344 Dec 2 21:10 test_floppy_ad
플로피 디스크를 넣습니다 qemu
.
Qemu 모니터를 사용 하려면 Ctrl+ Alt+를 누르세요 .2qemu
change floppy0 test_floppy_aa
info block
Ctrl+ +를 눌러 Alt터미널로 돌아갑니다.1
참고: 테스트하려면 블록 장치 대신 원시 장치 /dev/rdsk/f03ht를 읽어야 할 것입니다.
dd if=/dev/dsk/f03ht of=test_floppy_aa
dd if=/dev/dsk/f03ht of=test_floppy_ab
...
짐 등에서 꺼내다
cat a b c | tar -tvt test_floppy_* # test..
cat a b c | tar -xvt test_floppy_*
다른 아이디어
qemu-system-i386 -hda sysv.img -hdb test.tar
dd
from을 사용하여 읽습니다/dev/rdsk/1s1
(내 생각엔...0s0이 루트 디스크인 것 같습니다). "fdisk /dev/rdsk/1s1"을 시도해 볼 수도 있습니다.- 기존 디스크 이미지 끝에 추가하고
dd
:D로 읽습니다. (미친...) - /dev/fd 또는 /dev/rdsk 장치를 사용해야 할 수도 있습니다...
- 번역:
RAW
(VMDK
VMware 및 VirtualBox에서 사용 가능):qemu-img convert -O vmdk sysv.img sysv.vmdk
이제 VMware 또는 VirtualBox 네트워크 카드 드라이버가 지원되는지 확인할 수 있습니다... kermit
// 일단 찾으면tip
시도해볼게cu
플로피 디스크그것들이 포함되어 있고/dev/
무엇을 사용해야하는지 ...
노트:
- tar는 /dev/dsk/f03ht에서 직접 읽을 수 있습니다. 전임자:
tar -tvf /dev/dsk/f03ht
. 아마도 다중 볼륨 플로피를 만들고 dd 부분은 잊어버려야 할 것입니다... WIP :-).
답변2
마침내 나는 성공했습니다. 처음에는 kermit 프로그램이 경로에 대한 오류를 제공하지 않았기 때문에 Minicom에 "내장"되어 있다고 생각했습니다("run kermit" 명령을 내리지 않는 한).
빠른 가이드:
클라이언트: Slackware 15 서버: 네트워크가 없는 Unix System V SVR4(qemu는 libvirt에서 WD8003 보드를 지원하지 않기 때문에)
클라이언트에 ckermit 설치
sudo sbopkg -B -i ckermit
서버에서 getty 활성화
vi /etc/inittab
1r:12345:respawn:/etc/getty tty00 19200
q를 초기화하세요
init q
CLIENT에서는 어떤 시퀀스가 오래된 SVR4를 사용하는지 필요합니다.
virsh ttyconsole Unixvm
/dev/pts/7
CLIENT에서는 minicom과 연결됩니다.
minicom -D /dev/pts/7
Unix SERVER에 로그인한 후 minicom에서 minicom 경로를 구성합니다(ctrl+o, 경로 구성 등..).
서버에 kermit 프로그램이 있습니다(인터넷에서 Unix 바이너리 파일 검색).
./KERMIT
C-Kermit, 4F(077) 1 Apr 89, AT&T System III/System V
Type ? for help
C-Kermit>server
C-Kermit server starting. Return to your local machine by typing
its escape sequence for closing the connection, and issue further
commands from there. To shut down the C-Kermit server, issue the
FINISH or BYE command and then reconnect.
클라이언트 미니콤에서 ctrl+a를 누른 후 s를 누르고 미니콤을 선택한 후 전송할 파일 경로를 선택하세요.
느리지만 작동합니다!
SVR4의 기본 파일 제한은 2048KB이므로 2MB를 초과하는 파일 전송은 실패합니다. 해결 방법은 kermit을 시작하기 전에 ulimit를 사용하는 것입니다(bash가 아닌 ksh에 적용됨).
ulimit -f yourvalue