ramdisk image $B$rC5$9(B


$B$d$i$J$$$H$$$1$J$$$3$H(B

$B%+!<%m%kf~$l49$($n2]bj$r@0m}$9$k!#(b
  • ramdisk.image.gz $B$rC5$9(B
  • firmimg.bin $B$N:n@. $B%/%m%9%3%s%Q%$%k4D6-$r:n$k$+!"$3$3$@$1$r(B x86$B$G
  • make config $B$N%Q%i%a!<%?$rc5$9(b
  • $BK\J*$N(B firmimg.bin $B$N:n@.(B
  • $B%$%s%9%H!<%k$7$ff0:n3ng'!#b?j,(b1$bh/$g$o9t$+$j$$$@$m$&$j(b
    $B8$B:G?7%+!<%m%k%=!<%9%y!<%9$x$n0\9t(b

    ramdisk.image.gz $B$O!"$I$3$K(B?

    $B:rF|!"(Barch/ppc/boot/sandpoint/Makefile $B$K(B
    zImage.initrd: zvmlinux.initrd bootcode
    	$(SETSUM) ../../../../firminfo.txt ../images/vmlinux.gz -r ../images/ramdisk.image.gz -o ../images/firmimg.bin
    	mv zvmlinux.initrd ../images/$@.sandpoint
    	mv bootcode.bin ../images/bootcode.bin
    	rm ../images/vmlinux.gz
    	rm ./bootcode
    
    $B$H$$$&5-=R$,$"$k$3$H$r8+$D$1$?!#(B
    setsum $B$O(B firminfo.txt, vmlinux.gz, ramdisk.image.gz $B$rF~NO$H$7$F(B firmimg.bin $B$r=PNO$7$F$$$k$h$&$K8+$($k!#(B
    $B$H$$$&$3$H$O!"(Bfirmimg.bin $B$K$O!"(B ramdisk.image.gz $B$,4^$^$l$F$$$k$G$"$m$&!#(B

    $B$D$^$j!"(Bfirmimg.bin $B$O!"(B

  • firminfo.txt $B$+$i:n@.$5$l$k%X%C%@It(B(108 $B%P%$%H(B)
  • 109 $B%P%$%HL\$+$i(B vmlinux.gz($B%5%$%:ITL@(B)
  • $B%*%U%;%C%HITL@$+$i(B ramdisk.image.gz
    $B$N(B3$B$D$NItJ,$+$i$J$C$F$$$k$N$G$O$J$$$+$H9M$($i$l$k!#(B

    vmlinux.gz $B$N%5%$%:$rD4$Y$k(B

    firmimg.bin $B$+$i(B vmlinux.gz (109 $B%P%$%HL\$+$iKvHx$^$G(B)$B$rH4$-=P$7!"(B gunzip $B$7$F(B vmlinux $B$r/dev/fl1 $B$+$i(B firmimg.bin $BAjEv$rH4$-=P$9(B $B8 kurobako# cat /dev/fl1> fl1

    vmlinux.gz $B$N%*%U%;%C%H$N3NG'(B

    (0 $B%*%j%8%s$G(B)108 $B%P%$%HL\$K!"(B gzip $B%U%!%$%k$N%^%8%C%/%J%s%P$G$"$k(B 0x1f8b $B$,$"$k$O$:!#(B
    [yasunari@ls tmp]$ od -xc fl1 | less
    0000000 0000 0001 0000 1001 4b55 524f 2d42 4f58
     0$B1_(B 0$B1_(B 0$B1_(B 001 0$B1_(B 0$B1_(B 020 001 K U R O - B O X
    0000020 2849 4554 5355 4e41 2900 0000 0000 0000
     ( I E T S U N A ) 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B
    0000040 0000 0000 0000 0000 464c 4153 4820 312e
     0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B F L A S H 1 .
    0000060 3100 0000 0000 0000 0000 0000 0000 0000
     1 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B
    0000100 0000 0000 0000 0000 0001 0000 0000 6802
     0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B 001 0$B1_(B 0$B1_(B 0$B1_(B 0$B1_(B h 002
    0000120 0910 1e2a 002d a21b 320d 8c9f 0000 006c
     \t 020 036 * 0$B1_(B - 242 033 2 \r 214 237 0$B1_(B 0$B1_(B 0$B1_(B l
    0000140 000a f8b5 000a f921 0022 a8fa 1f8b 0808
     0$B1_(B \n 370 265 0$B1_(B \n 371 ! 0$B1_(B " 250 372 037 213 \b \b
    0000160 2037 2740 0203 766d 6c69 6e75 7800 ec5c
     7 ' @ 002 003 v m l i n u x 0$B1_(B 354 \
    
    OK$B!#(B

    $B%F!<%v%k(b?

    $B$A$g$C$H5$$K$J$C$?$N$,!"(B92 $B%P%$%HL\$K$"$k(B 0000 006c$B!#(B $B$3$l$O!"(B108 $B$G$O$J$$$+(B?!
    96 $B%P%$%HL\$O(B 000a f8b5$B!#(B $B@hF|(B sandpoint $B$N%G%U%)%k%H@_Dj$G:n$C$?%+!<%m%k$,!"(b
    -rwxr-xr-x 1 yasunari root 653164 Mar 23 20:56 vmlinux.gz*
    
    $B$G(B 000a f8b5 (719029) $B$K6a$$!#(B $B$H$$$&$3$H$O!"$3$l$O%+!<%m%k$n%5%$%:$+(b?
    $B$3$lB-$9(B 108 = 100 $B%P%$%HL\$N(B 000a f921$B!#(B $B $B2>Dj$r$^$H$a$F$_$k$H!"(B
    offset
    (0 orig.) data(hex) data(dec) $B0UL#(B($BM=A[(B)
    92 0000 006c 108 $B%+!<%m%k$n;o$^$k%*%u%;%c%h(b
    96 000a f8b5 719029 $B%+!<%m%k$n%5%$%:(b
    100 000a f921 719137 ramdisk.image.gz $B$N;O$^$k%*%U%;%C%H(B?
    104 0022 a8fa 2271482 ramdisk.image.gz $B$N%5%$%:(B
    $B%G!<%?$rfi$_=p$9$?$a$k!"(b $B@hF,%*%U%;%C%H$d%5%$%:$r%X%C%@$K<}$a$f$*$/$3$h$o!"(b $B$4$/<+a3$j$3$h$g$"$k!#(b
    vmlinux $B$N(B gunzip $B"*(B gzip $B$J$I$=$C$A$N$1$G!"(B $B$^$:$3$N>pJs$rMj$j$K$7$F$_$k!#(B

    $B$D$$$K fl1 $B$N%5%$%:$,(B 3145728$B!"(B ramdisk.image.gz $B$N;O$^$k%*%U%;%C%H$,(B 719137$B!"(B $B$J$N$G!"(B3145728 -$B$R$/(B 719137 =$B$o(B 2426591 $B$J$N$G!"(B fl1 $B$NKvHx$+$i(B 2426591 $B$r linkstationVine# tail -c 2426591 fl1> ramdisk.image.gz linkstationVine# od -xc ramdisk.image.gz |head 0000000 1f8b 0808 b634 2740 0203 6c6f 6f70 6669 037 213 \b \b 266 4 ' @ 002 003 l o o p f i 0000020 6c65 00ec 9d09 7c54 d5bd c7ef cc64 9dac l e 0$B1_(B 354 235 \t | T 325 275 307 357 314 d 235 254 0000040 8488 6cc2 0888 8898 65b2 1052 8c43 206c 204 210 l 302 \b 210 210 230 e 262 020 R 214 C l 0000060 b209 48dd 2a66 9998 91c9 4ccc 4c08 2268 262 \t H 335 * f 231 230 221 311 L 314 L \b " h 0000100 c005 5111 1117 5444 a5d6 bed6 be96 56aa 300 005 Q 021 021 027 T D 245 326 276 326 276 226 V 252 $B8+;v!"(Bgzip $B$N%^%8%C%/%J%s%P(B 1f8b $B$G$"$k!#(B\^_^/
    linkstationVine# tar ztvf ramdisk.image.gz |less
    gzip: stdin: decompression OK, trailing garbage ignored
    tar: $B;R%W%m%;%9$,%9%F!<%?%9(b 2 $B$rJV$7$F$-$^$7$?(B
    tar: $B=hM}Cf$K%(%i!<$,5/$-$^$7$?$,!":g8e$^$g=hm}$7$f$+$i%(%i!<=*n;$5$;$^$7$?(b
    
    $B$"$l(B?$B$@$a(B?
    linkstationVine# gunzip ramdisk.image.gz
    gunzip: ramdisk.image.gz: decompression OK, trailing garbage ignored
    linkstationVine# file ramdisk.image
    ramdisk.image: Linux rev 1.0 ext2 filesystem data
    linkstationVine# mkdir /tmp/ramdisk/
    linkstationVine# mount -o loop ramdisk.image /tmp/ramdisk
    linkstationVine# ls /tmp/ramdisk/
    bin dev etc lib lost+found mnt mnt2 proc root sbin tmp usr var www
    
    $B$d$C$?$!(B!$B$D$$$K8+$D$1$?$>!"(Bramdisk image!

    $B:#F|$O$3$3$^$G!#(B


    $B"+(B $B8 $B"*(B LinkStation $B$N(B /dev/fl1
    Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp
    $B;32<9/@.(b@$B5~ETI\8~F|;T(B

  • AltStyle $B$K$h$C$FJQ49$5$l$?%Z!<%8(b (->$B%*%j%8%J%k(B) /