This is from the original boards.txt:
##############################################################
atmega644.name=Sanguino W/ ATmega644P
atmega644.upload.protocol=stk500
atmega644.upload.maximum_size=63488
atmega644.upload.speed=57600
atmega644.bootloader.low_fuses=0xFF
atmega644.bootloader.high_fuses=0x9A
atmega644.bootloader.extended_fuses=0xFF
atmega644.bootloader.path=atmega
atmega644.bootloader.file=ATmegaBOOT_168_atmega644p.hex
#atmega644.bootloader.file=ATmegaBOOT_644P.hex
atmega644.bootloader.unlock_bits=0x3F
atmega644.bootloader.lock_bits=0x0F
atmega644.build.mcu=atmega644p
atmega644.build.f_cpu=16000000L
atmega644.build.core=arduino
##############################################################
I played around a little with the fusecalculator found here: AVR® Fuse Calculator – The Engbedded Blog
By setting the high fuse to 0xDC you limit the size of your bootloader to 1024 words, whereas the 'original' is 2048 words.
For it to be 2048 again, it must be 0xDA. In the original boards.txt the JTAG interface is enabled, hence the 0x9A.
Hope this helps.