[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
srm upgrade 6.7 -> 7.0
- From: Waibel Niki <niki waibel setila ch>
- To: "'axp-list'" <axp-list redhat com>
- Subject: srm upgrade 6.7 -> 7.0
- Date: Fri, 31 Dec 1999 09:33:50 +0100
i just a want to inform the i upgraded the srm console on my good old
alphastation255 (ev45/233).
i thought that it could help me boot from the adaptec scsi controller
- but it did not.
anyway - because it was such a pain to get info about the upgrade process
under srm / linux, i will explain it in this mail.
if someone has a better solution - pls mail!
(the info below is without warrenty - it worked on my machine)
1) get the latest firmware from
ftp://ftp.digital.com/pub/DEC/Alpha/firmware/index.html
(choose your machine on the left)
2) download the firware file (in my case it was `as255_v8_1.exe')
3) boot a linux
4) format a floppy (`fdformat /dev/fd0H1440')
*dont* put a filesystem onto it - you dont need it!
5) put the firmware file onto the disk - starting with an offset of 512
byte:
`dd if=as255_v8_1.exe of=/dev/fd0 bs=512 seek=1'
the next step is somehow a hack.
maybe there is a better way to do it - pls inform me!
you need to boot from the disk (directly in the srm console)
- but currently there is no boot stuff on it.
6) create an empty (hex) bootblock:
`dd if=/dev/zero bs=512 count=1 | xxd boot_block_empty'
7) determine the size of the firmware file
`ls -la as255_v8_1.exe'
divide that size by 512 (decimal) and calculate the hex value of it.
8) edit the file `boot_block_empty' you created in step 6.
you have to jump to offset 1e0 (the line before the last line).
the next is a bit complicated.
you have to reverse the byte order of the hex value calculated in
step 7 in a long int (8 byte - 64 bit) order.
example:
your value from step 7 was: a09 (= 0000 0000 0000 0a09)
the value you have to enter is: 090a 0000 0000 0000
hope everyone undersood...
9) edit the next long int
enter: 0100 0000 0000 0000
this is the offset the file starts.
10) make sure that the next long int (at offset 1f0) is:
0000 0000 0000 0000
this is a flag - dont know what it is used for.
11) edit the last long int. this is a checksum.
it is the addition of all long ints (8 bytes) before.
pay attention on the REVERSE ORDER!!!
in my example it is:
0a0a 0000 0000 0000
12) exit editor and write the bootblock back to disk:
`xxd -r boot_block_empty | dd of=/dev/fd0H1440'
13) halt linux -> go to the srm console and boot from the created disk:
`boot dva0'
14) the machine/srm seems to reboot - the the update menu should appear.
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[]