Make sure PC can ping (or contact) ASA. Install tftpd-hpa (defaults work fine, but conf is /etc/default/tftpd-hpa) Run it:

/usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure /var/lib/tftpboot

Copy files to /var/lib/tftpboot directory (asa831-k8.bin, adsm-631.bin etc)

Add IP of ASA to iptables.conf and run it to let traffic from the ASA through. Example IP tables line:

$IPTABLES -A INPUT -s 192.168.1.1 -j ACCEPT

Optionally test by installing tftp and tftp localhost.

On ASA:

copy tftp: flash:

enter IP, source and destination file name and wait for copy repeat for second file (IOS or ASDM)

optional verify:

verify flash:/<file>

To install, go to global configure:

adsm image disk0:/adsm<version>
boot system disk0:/asa<version>
copy run start
reload