« Unix v7 Y2k patch FORTRAN-77 5.4 »
Установка UNIX v7
UNIX - система интересная, хотя бы тем, что её потомки актуальны до сих пор и продолжают развиваться. Поэтому тем, кто знаком с современными *nix системами не сложно будет разобраться и с этой ОС.
Хотел сначала написать про установку UNIX версии 7, но оказалось что есть отличный мануал на эту тему - Research Unix Поэтому установку лучше начать по нему, но до пункта 5. А дальше будет самое интересное, будем добавлять поддержку DZ11 и для этого придется пересобрать ядро.
В Unix V7 есть драйвер для DZ11 терминального мультиплексора, но драйвер не включен в программу mkconf которая нужна для сборки нового ядра.
Поэтому качаем файлы unix вместе с исходниками на компьютер с линуксом
linux$ wget -r -np -nH ftp://ftp.allbsd.org/pub/UnixArchive/PDP-11/Trees/V7/
linux$ mv pub/UnixArchive/PDP-11/Trees/V7/ .
linux$ cd V7
Чтобы добавить в ядро драйвер скачаем патч и пропатчим mkconf.c
linux$ wget http://wsxyz.net/v7/mkconf.c.diff
linux$ cp ./usr/sys/conf/mkconf.c ./usr/sys/conf/mkconf.c.org
linux$ patch ./usr/sys/conf/mkconf.c < mkconf.c.diff
patching file ./usr/sys/conf/mkconf.c
linux$
У меня патч не совсем подходил пришлось менять строку в патче на 248a250,259
Теперь нужно как то закинуть исходники ядра в рабочую систему. Запишем их в образ ленты, который затем подключим в simh. Нам понадобиться утилита создания образа ленты, исходник которой есть здесь - http://blog.livedoor.jp/corbie/archives/4002149.html
linux$ nano tapewrite.c # вставляем текст исходника и сохраняем
linux$ cc -o tapewrite tapewrite.c
linux$ chmod a+x tapewrite
linux$ (cd ./usr/sys; tar --format=v7 -cf - .) | ./tapewrite > src.tap
В принципе это можно было сделать и проще :) Т.к. файл mkconf.c и так есть в системе установленной с ленты и его можно пропатчить сразу в системе, но я хотел показать как можно закинуть в unix файлы из linux через образ ленты.
В файл nboot.ini из simh внесем изменения
set cpu 11/70
set cpu 2M
set cpu idle
set rp0 rp06
att rp0 rp06-0.disk
set rp1 rp06
att rp1 rp06-1.disk
att tm0 src.tap
boot rp0
Загружаемся.
Временно скопируем исходники ядра с ленты в каталог /usr/tap/usr/sys
# cd /usr
# mkdir tap
# cd tap
# mkdir usr
# cd usr/
# mkdir sys
# cd sys/
# tar xvf /dev/mt0
Перекомпилируем mkconf заменив его пропатченым.
# cd /usr/tap/usr/sys/conf
# mv mkconf mkconf.org
# cc mkconf.c -o mkconf
Cоздаем свой файл конфигурации для включения устройства dz.
Т.к. ядро у нас сейчас hptmunix, то используем конфиг - hptmconf
# cd /usr/sys/conf
# cp /usr/tap/usr/sys/conf/mkconf .
# rm l.o c.o
# cp hptmconf myconf
# echo dz >> myconf
Используем этот myconf для сборки нового ядра
# mkconf < myconf
console at 60
clock at 100
clock at 104
parity at 114
tm at 224
hp at 254
dz at 300
# make
as - -o l.o l.s
cc -c c.c
ld -o unix -X -i l.o mch.o c.o ../sys/LIB1 ../dev/LIB2
# cat c.c
...
dzopen, dzclose, dzread, dzwrite, dzioctl, nulldev, dz_tty, /* dz = 19 */
...
Тут смотрим что dz = 19
Создаём файлы устройства(пока только для 3х)
# cd /dev
# /etc/mknod tty00 c 19 0
# /etc/mknod tty01 c 19 1
# /etc/mknod tty02 c 19 2
#
Отредактируем файл /etc/ttys и настроим только что созданные устройства.
Строки 00tty0X начинаются с 00, нужно чтоб начинались с 12.
# cat /etc/ttys
14console
00tty00
00tty01
00tty02
00tty03
00tty04
00tty05
00tty06
...
00tty31
# ed /etc/ttys
266
2,4s/00/12/
w
266
q
# cat /etc/ttys
14console
12tty00
12tty01
12tty02
00tty03
...
Это задаст скорость терминала - 9600 бод
Теперь удаляем не нужные файлы /usr/tap/usr/sys/conf и копируем новое ядро
# rm -rf /usr/tap
# cd /
# mv unix oldunix
# cp /usr/sys/conf/unix .
# sync;sync;sync
#
Simulation stopped, PC: 002306 (MOV (SP)+,177776)
sim> q
В файле конфигурации simh подключим dz
set dz 7b lines=32
att dz -am 23
Загружамся... и пробуем подключиться телнетом на порт 23.
У меня получилось!
Кстати эта версия уже поддерживает MOTD. Можно создать текстовый файл /etc/motd и при логине его содержимое будет отображаться.
комментарии # 12-01-2018 13:23, Unik

### Оставить комментарий к «Установка UNIX v7»

Имя
Текст комментария *

# ~Digital PDP-11~

## Навигация

## Страницы

О сайте

## Поиск

## Ссылки

- jaqblog
- Soft&Manual
- BASIC PDP-11
- PDP-11 Nostalgia
- PDP-11
- Ancient Bits adventure
- pdp-11.org.ru
- RetroCMP
- Soft
- Soft and other
- PDP2011
- Raspberry Pi PDP-11
- RSX11M.com
- Paper Tape
- TU-58 XXDP
***
- RSTS/E
- ELVIRA
- Wofford WITCH
- RSTS.org
- RSTS/E walkthru

gopher://pdp11.tk/

## Комментарии

Korchagin в Turtles Ninja
Гость в Доступный PDP-11. Часть 2.
Vladimir в PDP-11/45 online