checksumiso.pl

来自「linux内核」· PL 代码 · 共 37 行

PL
37
字号
#!/usr/bin/perl## Construct a checksum for isolinux*.bin, compatible# with an mkisofs boot-info-table#use bytes;use integer;($file) = @ARGV;open(FILE, '+<', $file) or die "$0: Cannot open $file: $!\n";binmode FILE;if ( !seek(FILE,64,0) ) {    die "$0: Cannot seek past header\n";}$csum  = 0;$bytes = 64;while ( ($n = read(FILE, $dw, 4)) > 0 ) {    $dw .= "\0\0\0\0";		# Pad to at least 32 bits    ($v) = unpack("V", $dw);    $csum  = ($csum + $v) & 0xffffffff;    $bytes += $n;}if ( !seek(FILE,16,0) ) {    die "$0: Cannot seek to header\n";}print FILE pack("VV", $bytes, $csum);close(FILE);exit 0;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?