[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: srm upgrade 6.7 -> 7.0



Maybe I'm too new to the world of Alpha's, but I'm missing something here.
What's the difference in your method over simply creating a bootable
DOS/Win floppy? If the point is to get thie update to boot, the latter
method worked on my AS200 just fine.



			Janina Sajka, Director
			Information Systems Research & Development
			American Foundation for the Blind (AFB)

janina@afb.net

On Fri, 31 Dec 1999, Waibel Niki wrote:

> 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] []