How to install and rebuild from source AT&T Unix 386 System V Release 4 version 4.0 Hello Internet, Some time ago I have found source code of AT&T UNIX System V release 4 version 4.0. To be more precise I have found it here Since this is quite old piece of software I managed to find set of disks of System V release 4, version 2.1 with additional packages including C compiler. I used 86box to set up old hardware. My 86box conf is here Installation of 86box is simple, and you should check documentation. Keep in mind that we are dealing with early 90s hardware so hard disk should not exceed 500MB, or you will get kernel panic. Anyway, here is set of floppy images of svr4 v4.0 I was able to create from source code. You can use these floppy images to install it inside 86box virtual machine. Note that password for root and install accounts and any other account should not exceed 8 characters. You can use longer but any charater after 8th will be ignored and if you telnet to machine and type anything after 8th char you won't be able to login. Images 1-12 are basic OS. Once installed you can also install (as root: # pkadd -d diskette1) 13-ed (contains vi), 21-nsu (network support utiluty), 24-inet-1 and 24-inet-2 and 30-wd (wd network card). If you want to compile software you would need 27-scde (1-6) images. Connection between host and 86box is done through vde driver. I start vti with small script like this: (as root): ip tuntap add dev 86box0 mode tap user $USER ip link set 86box0 up ifconfig 86box0 10.0.0.1/8 vde_switch --mode 666 --numports 8 --tap 86box0 --mgmt /tmp/vde.86box0.mgmt --mgmtmode 666 -s /tmp/vde.86box0 --daemon so in 86box configuration instead of null driver for network card select VDE and use /tmp/vde.86box0 If you are on another platform find sutable solution to connect. For svr4 I used ip address 10.0.0.2 (will ask when installing inet packages). QEMU as emulator does not support any other network card then NE2000 compatible. DE200 from D-LINK is ne2k compatible. And it has driver for AT&T Unix, but for version SVR4.2. However, driver works, but has to be installed manually. Link for driver is here Rebuilding system from source is quite easy, but transfering files might be an issue. First download source as zip from github. Then unzip it and create tar file: tar cvf svr4.tar svr4-v4-master After that use compress svr4.tar, so you will get svr4.tar.gz. Login to your fresh installed svr4 on console and edit /etc/default/login: # vi /etc/default/login #ident "@(#)login:login.dfl 1.1.10.2" #TIMEZONE=EST5EDT HZ=100 #ULIMIT=16384 #CONSOLE=/dev/console PASSREQ=YES ALTSHELL=YES PATH=/usr/bin comment out ULIMIT and CONSOLE (if you want to be able to login as root through telnet). Now we have to adjust kernel parameters: go to /etc/conf/cf.d and edit stune (or use idtune like: # ../bin/idtune NINODE 1300) # vi stune *ident "@(#)master:stune 1.1" MAXUP 30 BUFHWM 1024 NINODE 1300 UFSNINODE 1300 SPTMAP 600 SYSSEGSZ 4096 ARG_MAX 51200 SCPULIM 0x7FFFFFFF HCPULIM 0x7FFFFFFF SFSZLIM 0x7FFFFFFF HFSZLIM 0x7FFFFFFF SDATLIM 0x7FFFFFFF HDATLIM 0x7FFFFFFF SSTKLIM 0x7FFFFFFF HSTKLIM 0x7FFFFFFF SCORLIM 0x7FFFFFFF HCORLIM 0x7FFFFFFF SFNOLIM 0x400 HFNOLIM 0x400 SVMMLIM 0x7FFFFFFF HVMMLIM 0x7FFFFFFF after this you should do: # ../bin/idbuild The UNIX Operating System will now be rebuilt. This will take some time. Please wait. The UNIX Kernel has been rebuilt. and then: # cd /;shutdown -i6 -y -g0 This will rebuild kernel and reboot system. Now you can create new user and use ftp to transfer svr4.tar.Z Also, note that if you want more then 64MB of ram you can edit /stand/boot but keep in mind that 208M is maximum Now we can finaly start build process # ROOT=/usr/src386 # export ROOT # PATH=$ROOT/xenv:$PATH:/usr/ccs/bin # export PATH # mkdir $ROOT # cd $ROOT # zcat /home/newuser/svr4.tar.Z |tar xvf - # cd svr4-v4-master # mv usr $ROOT # cd $ROOT/usr/src # sh ./:mk at386 once process is completed (it will take ~ 2.5hrs) # sh ./:mk.arch at386 # sh ./:mkuts at386 next step is nowheve to be found in documentation so # cd $ROOT/usr/src/proto/i386/at386/ # make -f desktop.mk all in my case this failed at fdisk.dy I don't know why but I solved it by: # cd $ROOT/usr/src/cmd/fdisk # make -f fdisk.mk # cp fdisk fdisk.dy $ROOT/sbin # cd $ROOT/usr/src/proto/i386/at386 # make -f desktop.mk all Once completed go to desktop # cd $ROOT/usr/src/proto/i386/at386/desktop # sh ./bld.media # cd $ROOT/usr/src/proto/i386/at386 # make -f flop.mk tape (I used this image as it is sufficiend for ide drive). If you want scsi drives check out flop.mk file as there are other options.