¡¡OSµ¯Æ°Ää»ß»þ¤Ë¡¢cloop¥â¥¸¥å¡¼¥ë¥í¡¼¥É¡¦¥¢¥ó¥í¡¼¥É¤Ècloop¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¡¦¥¢¥ó¥Þ¥¦¥ó¥È¤ò¹Ô¤¦rc¥·¥§¥ë¤òºî¤ë¡£
¡¡cloop¥â¥¸¥å¡¼¥ë¤Î¼ÂÁõ¤Ï¡¡¢ª ¤³¤Á¤é¤ò»²¾È


£±¡¥cloopÍÑ¥·¥§¥ë
¡¡¥µ¥ó¥×¥ë¥·¥§¥ë¡Êcloop¡Ë¤ò°Ê²¼¤Ë¼¨¤¹¡£
#!/bin/sh
# script to start and stop cloop devices
#        and mount and umount cloop filesystems
#
# chkconfig: 35 60 20
# description: Starts, stops cloop modules
#

# set the maximum number of cloop device
# refer to the MAX_CLOOP in compressed_loop.c
MAX_CLOOP=8

CLOOP_DEV[0]=/dev/cloop0
CLOOP_FIL[0]=/tmp/a.cloop
CLOOP_DIR[0]=/tmp/a

#CLOOP_DEV[1]=/dev/cloop1
#CLOOP_FIL[1]=/dummy1
#CLOOP_DIR[1]=/dummy1

#CLOOP_DEV[2]=/dev/cloop2
#CLOOP_FIL[2]=/dummyr2
#CLOOP_DIR[2]=/dummy2

#CLOOP_DEV[3]=/dev/cloop3
#CLOOP_FIL[3]=/dummy3
#CLOOP_DIR[3]=/dummy3


# Source function library.
. /etc/init.d/functions


function abend(){
  echo ERROR: $@
  failure
  exit 1
}

function load_cloop_module(){

  lsmod |grep cloop > /dev/null
  [ $? -eq 0 ] && (echo "cloop has already been loaded.";return )
  modprobe cloop
  [ $? -ne 0 ] && abend can not load the cloop module. 
 
  i=0; FLAG=FALSE
  while [ $i -lt 10 ]
  do
    sleep 1
    if [ -b "/dev/cloop`expr $MAX_CLOOP - 1`" ]
    then
       FLAG=TRUE; break
    fi
    i=`expr $i + 1`
  done
  [ "$FLAG" != TRUE ] && abend not found the maximum cloop device.

}

function bind_and_mount(){

  # check a cloop device
  [ -b $1 ]     || abend $1 is a invalid cloop device.

  # check a cloop file
  [ -f $2 ]     || abend not found $2 file.
  head -3 $2 | grep cloop 2>&1 > /dev/null
  [ $? -eq 0 ]  || abend $2 is a invalid cloop file.

  # check mount directory
  [ -d $3 ]     || abend $3 is not directory.
 
  losetup $1 $2 || abend can not bind $2 file to $1 device.

  mount -r -t iso9660 $1 $3 || abend can not mount $1 on $3.

}

function start(){
 
  load_cloop_module

  i=0
  while [ -n "${CLOOP_DEV[$i]}" -a \
          -n "${CLOOP_FIL[$i]}" -a \
          -n "${CLOOP_DIR[$i]}" ]
  do
  bind_and_mount ${CLOOP_DEV[$i]} ${CLOOP_FIL[$i]} ${CLOOP_DIR[$i]}
  
  i=`expr $i + 1`
  done
  
  success
  touch /var/lock/subsys/cloop

}

function stop(){

  i=0
  while [ -n "${CLOOP_DEV[$i]}" -a \
          -n "${CLOOP_FIL[$i]}" -a \
          -n "${CLOOP_DIR[$i]}" ]
  do
  umount ${CLOOP_DIR[$i]}
  losetup -d ${CLOOP_DEV[$i]}

  i=`expr $i + 1`
  done
 
  modprobe -r cloop
 
  success
  rm -f /var/lock/subsys/cloop


  

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

¢¨È÷¹Í
´Ä¶­¤Ë±þ¤¸¤Æ¡¢²¼µ­¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ë¡£
(a)MAX_CLOOP=8
¢ªcloop¥Ç¥Ð¥¤¥¹¤ÎºÇÂç¿ô¡£compressed_loop.c¤Î"#define CLOOP_MAX"¤ÎÃͤòÀßÄꤹ¤ë¡£

(b)CLOOP_DEV[n],CLOOP_FIL[n],CLOOP_DIR[n]
¢ª¥Þ¥¦¥ó¥È¤¹¤ëcloop¤Î¾ðÊó¡£3¤Ä°ìÂΤÇÀßÄê¡£n¤Ï0ÈÖ¤«¤é½çÈÖ¤ËÀßÄꤹ¤ë¡£¤½¤ì¤¾¤ì¤ÎÊÑ¿ô¤Ï°Ê²¼¤ÎÄ̤ꡣ
CLOOP_DEV[n] : cloop¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò³ä¤êÅö¤Æ¤ëcloop¥Ç¥Ð¥¤¥¹¡£
CLOOP_FIL[n] : ¥Þ¥¦¥ó¥È¤¹¤ëcloop¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡£¥Õ¥ë¥Ñ¥¹(ÀäÂХѥ¹)¤Ç»ØÄꤹ¤ë¡£
CLOOP_DIR[n] : ¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ë¡£


£²¡¥¥·¥§¥ë¤ÎÁȤ߹þ¤ß
(1)¾åµ­¤Î¥µ¥ó¥×¥ë¥·¥§¥ë¤ò/etc/init.d¤ËÇÛÃÖ¤¹¤ë¡£
# vi /etc/init.d/cloop
# chown root:root /etc/init.d/cloop
# chmod 755 /etc/init.d/cloop


(2)chkconfig¥³¥Þ¥ó¥É¤ÇOSµ¯Æ°Ää»ß½èÍý¤ËÁȤ߹þ¤à
# chkconfig --add cloop
# chkconfig --list|grep cloop

¡¡¡¡¡¡¡¡¡¡¢¨È÷¹Í
¡¡¡¡¡¡¡¡¡¡chkconfig¤ÎÀßÄê¤Ï¥¹¥¯¥ê¥×¥È¥Ø¥Ã¥À¤Î²¼µ­Éôʬ¤¬³ºÅö¤¹¤ë¡£
# chkconfig: 35 60 20
# description: Starts, stops cloop modules



£±¡¥¤Ï¤¸¤á¤Ë
¡¡global¤Ë¤è¤ë¥½¡¼¥¹¥³¡¼¥É¤ÎHTML²½¼ê½ç¤òÅ»¤á¤ë¡£

£²¡¥¼ê½ç
(1)global¤Î¥¤¥ó¥¹¥È¡¼¥ë
¡¡¡¡FedoraCore¤Ç¤¢¤ì¤Ð¡¢extra¤Ë¼ýÏ¿¤µ¤ì¤Æ¤¤¤ë¡£
¡¡¡¡yum¤Ê¤É¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¬²Äǽ¡£
# yum install global
# yum update global

¡¡¡¡¤½¤ì°Ê³°¤Ç¤¢¤ì¤Ð¥½¡¼¥¹¥³¡¼¥É¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£
¡¡¡¡(i)global¤Î¥µ¥¤¥È¤«¤é¥½¡¼¥¹¥³¡¼¥É¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë
¡¡¡¡(ii)¥³¥ó¥Ñ¥¤¥ë¡õ¥¤¥ó¥¹¥È¡¼¥ë
$ tar -zxvf global-5.4.1.tar.gz
$ cd global-5.4.1
$ ./configure
$ make
$ su
# make install


(2)¥½¡¼¥¹¥³¡¼¥É¤Î²òÀÏ
¡¡¡¡(i)globa¤Ç¥½¡¼¥¹¥³¡¼¥É¤ò²òÀϤ¹¤ë¡£
$ cd <Âоݥ½¡¼¥¹¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê>
$ gtags

¡¡¡¡(ii)²òÀÏ·ë²Ì¤òHTML²½¤¹¤ë
$ htags -anFt¡¡HTML¤Î¥¿¥¤¥È¥ë


¡Ý»²¹Í¾ðÊó¡Ý
¡¦¥½¡¼¥¹¥³¡¼¥É²òÀϥġ¼¥ë¡Öglobal¡×¤Ë¤Ä¤¤¤Æ
¡¦GNU GLOBAL ¥½¡¼¥¹¥³¡¼¥É¥¿¥°¥·¥¹¥Æ¥à
¡¦¥½¡¼¥¹¥³¡¼¥É¤òÆÉ¤à¤¿¤á¤Îµ»½Ñ
£±¡¥¤Ï¤¸¤á¤Ë
¡¡¥·¥ê¥¢¥ëÀܳ¤·¤¿Ã¼Ëö(PC)¤«¤é¥³¥ó¥½¡¼¥ëÁàºî¤¬¹Ô¤¨¤ë¤è¤¦¤ËÀßÄê¤ò¹Ô¤¦¡£(PC¤«¤é¤ÏTeraTerm¤Î¥³¥ó¥½¡¼¥ëÀܳ¤òÍøÍѤ¹¤ë¡£)


£²¡¥ÀßÄê
(1)GRUB¤ÎÀßÄê
¡¡(i)¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é¤ÎGRUBÁàºî¤ò²Äǽ¤Ë¤¹¤ë¡£
¡¡/boot/grub/grub.conf¤Ë°Ê²¼¤ÎÀßÄê¤ò¹Ô¤¦¡£
/boot/grub/grub.conf¤ÎÊÔ½¸ÆâÍÆ

­¡GRUB¤òtextɽ¼¨¤Ë¤¹¤ë¤¿¤á¡¢splashimage¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¡£
# splashimage=(hd0,0)/grub/splash.xpm.gz

­¢¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ÎÄÌ¿®ÀßÄê¤ò¹Ô¤¦
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1

­£¥°¥é¥Õ¥£¥Ã¥¯¤È¥·¥ê¥¢¥ë¤ÎξÊý¤¬»ÈÍѤǤ­¤ë¤è¤¦ÀßÄê
terminal --timeout=3 serial console
¡¡¡¡¢¨3ÉÃ°ÊÆâ¤Ë¥­¡¼ÆþÎϤ¬¤¢¤Ã¤¿¾ì¹ç¤ÏserialÀܳ¡¢
¡¡¡¡¡¡¡¡Ìµ¤¤¾ì¹ç¤Ï¡¢¥°¥é¥Õ¥£¥Ã¥¯Àܳ¡£
¡¡¡¡¡¡¡¡É¬¤ºserialÀܳ¤Ë¤¹¤ë¾ì¹ç¤Ï¡¢"terminal serial"

¡¡(ii)GRUBÀßÄê¤òÈ¿±Ç¤¹¤ë¡£
¡¡¡¡¡¡¼ÂºÝ¤Ï¡¢¼¡¤Îkernel¤âÅ»¤á¤ÆÀßÄê¤ò¹Ô¤¿¸å¤ÎÊý¤¬¸úΨŪ¡£
# grub-install /dev/hda


(2)¥«¡¼¥Í¥ë¤ÎÀßÄê
¡¡¡¡¥«¡¼¥Í¥ë¤Î¥Ö¡¼¥È¥ª¥×¥·¥ç¥ó¤Ë¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ÎÀßÄê¤òÄɲ乤롣
¡¡¡¡ÀßÄê¤Ï¡¢/boot/grub/grub.conf¤ËÀßÄê¤ò¹Ô¤¦¡£
/boot/grub/grub.conf¤ÎÊÔ½¸ÆâÍÆ

¥«¡¼¥Í¥ë¥ª¥×¥·¥ç¥ó¤Ë¡¢"console=tty0 console=ttyS0,115200n8r"¤òÄɲ乤롣
kernel /vmlinuz-2.6.19-1.2288.2.1.fc5 ro root=LABEL=/ console=tty0 console=ttyS0,115200n8r

¡¡(ii)GRUBÀßÄê¤òÈ¿±Ç¤¹¤ë¡£
# grub-install /dev/hda


(3)¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é¤Î¥í¥°¥¤¥óÀßÄê
¡¡¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é¥í¥°¥¤¥ó¤¬²Äǽ¤Ë¤Ê¤ë¤è¤¦ÀßÄê¤ò¹Ô¤¦¡£
¡¡(i)üËöÀßÄê
¡¡¡¡inittab¤Ë¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ÎÀßÄê¤òÄɲ乤롣
/etc/inittab¤Ë°Ê²¼¤ÎÀßÄê¤òÄɲÃ

co:2345:respawn:/sbin/agetty -h 115200 ttyS0 vt100

¡¡¡¡²¼µ­¥³¥Þ¥ó¥É¤ÇÀßÄê¤òÈ¿±Ç¤¹¤ë¡£
# init q

¡¡(ii)¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é¤Îroot¥í¥°¥¤¥óµö²Ä
¡¡¡¡¡¡¥Ç¥Õ¥©¥ë¥È¤Ç¤Ïroot¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¤ÏÉÔµö²Ä¤Ç¤¢¤ë¤¿¤á¡¢
¡¡¡¡¡¡/etc/securetty¤ËttyS0(¥·¥ê¥¢¥ë¤Î¥Ç¥Ð¥¤¥¹)ÀßÄê¤òÄɲ乤롣
console
vc/1
¡¡¡ãÃæÎ¬¡ä
tty10
tty11
ttyS0 <- ÄɲÃ


¡Ý»²¹Í»ñÎÁ¡Ý
¡¦¾»¿·¼Ò : LINUX¤Î¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ëFAQ
¡¡¥ë¡¼¥Æ¥£¥ó¥°¾ðÊó(route¤Ê¤É¤Ç½ÐÎÏ)¤ËÀßÄꤷ¤Æ¤¤¤Ê¤¤¡¢169.254.0.0¤È¤¤¤¦¾ðÊó¤¬É½¼¨¤µ¤ì¤ë¡£
¡¡¤³¤ì¤Ï¡¢DHCP¤ÇIP¾ðÊ󤬼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë»ÈÍѤ¹¤ëAPIPA¤Î¾ðÊó¤é¤·¤¤¤¬¡¢É¬Íפʤ¤¤Î¤Ç̵¸ú²½¤¹¤ë¡£

£±¡¥ÀßÄê
¡¡/etc/sysconfig/network¤Ë²¼µ­ÀßÄê¤òÄɲ乤롣¥Í¥Ã¥È¥ï¡¼¥¯¤ò¥ê¥¹¥¿¡¼¥È¤Þ¤¿¤ÏOS¤Î¥ê¥Ö¡¼¥È¤·ÀßÄê¤òÈ¿±Ç¤¹¤ë¡£
NOZEROCONF=yes


£²¡¥³Îǧ
¡¡route¥³¥Þ¥ó¥É¤Þ¤¿¤Ï"netstat -r"¥³¥Þ¥ó¥É¤Ç169.254.0.0¤Î¥ë¡¼¥Æ¥£¥ó¥°¾ðÊó¤¬É½¼¨¤µ¤ì¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¡£


¡Ý»²¹Í»ñÎÁ¡Ý
¡¦ÆüËÜHP¼Ò¤Îµ»½Ñ¾ðÊó¥Ä¥ê¡¼
¡¡kernel2.6¤Ç¤ÏIPv6¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú²½¤µ¤ì¤Æ¤¤¤ë¡£
¡¡¤·¤«¤·Ä̾ï¤Ï»ÈÍѤ·¤Ê¤¤¤·¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤ÏÃÙ±ä±þÅú¤ò¾·¤¯¾ì¹ç¤¬¤¢¤ë¤¿¤á¡¢Ìµ¸ú²½¤·¤Æ¤ª¤¯¡£

£±¡¥ÀßÄê
¡¡/etc/modorobe.conf¤Ë²¼µ­ÀßÄê¤ò¹Ô¤¤¡¢¥ê¥Ö¡¼¥È¤¹¤ë¡£
alias net-pf-10 off
alias ipv6 off


£²¡¥³Îǧ
¡¡ifconfig¤Ë¤ÆIPv6¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¡£
¡¡¡¡-IPv6¤¬Í­¸ú¤Ê¾ì¹ç
$ ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.1.10 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:63ff:feea:7bed/64 Scope:Link
<°Ê²¼Î¬>

¡¡¡¡-IPv6¤¬Ìµ¸ú¤Ê¾ì¹ç
$ ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.1.10 Bcast:192.168.0.255 Mask:255.255.255.0
<°Ê²¼Î¬>

£±¡¥¤Ï¤¸¤á¤Ë
¡¡cloop¤Ï¡¢Debian·Ï¤Î£±CD Linux¤È¤·¤ÆÍ­Ì¾¤ÊKNOPPIX¤Î¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤ÆÍøÍѤµ¤ì¤Æ¤¤¤ë¤³¤È¤Çͭ̾¤Ç¤¢¤ë¤¬¡¢redhat·Ï¥«¡¼¥Í¥ë¤Ç¤Îưºî»öÎã¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ë¤¢¤Þ¤ê¤Ê¤¯¡¢¤¢¤Ã¤Æ¤â¿¤¯¤¬¸Å¤¤¾ðÊó¤Ç¤¢¤ë¡£
¡¡º£²ó¡¢FedoraCore5¤ÈRHEL4¤Ëcloop¤·¤¿¤Î¤Ç¡¢¤½¤ÎƳÆþ¼ê½ç¤òÅ»¤á¤ë¡£(¼ê½ç¤ÏFedoraCore5¥Ù¡¼¥¹¤Çµ­½Ò¤¹¤ë¤¬¡¢RHEL4¤Ç¤â¤Û¤È¤ó¤É¼ê½ç¤ÏƱ¤¸¤Ç¤¢¤ë¡£)

¢¨cloop¤Ï¡¢ÆÉ¤ß¹þ¤ßÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¡£

£²¡¥¼ê½ç(cloop¥Ç¥Ð¥¤¥¹¤ÎÁȤ߹þ¤ß)
(1)Á°Äó¤Î¥Ñ¥Ã¥±¡¼¥¸
¡¡(i) ¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É
¡¡¡¡Å¬ÍѤ¹¤ë¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¥³¡¼¥É¤òÍѰդ¹¤ë¡£
¡¡¡¡¡¡¢¨¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¢
¡¡¡¡¡¡¡¡¥«¡¼¥Í¥ë¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬É¸½à¤Ç¥¤¥ó¥¹¥È¡¼¥ë
¡¡¡¡¡¡¡¡¤µ¤ì¤Æ¤¤¤ë¡£(/usr/src/kenel¤Î²¼¤Ê¤É)¤½¤Î¾ì¹ç¤Ï¡¢
¡¡¡¡¡¡¡¡ÊÌÅÓ¥½¡¼¥¹¥³¡¼¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפϤʤ¤¡£(2007.7.21Äɵ­)

¡¡¡¡¡¡FedoraCore¤Î¾ì¹ç¤Ï¡¢¤³¤Á¤é¤Îµ­»ö¤ò»²¾È -> ¤³¤Á¤é
¡¡¡¡¡¡RHEL4¤Î¾ì¹ç¤Ï¡¢¤³¤Á¤é¤Îµ­»ö¤ò»²¾È -> ¤³¤Á¤é

¡¡(ii) zlib-devel(zlib³«È¯Íѥ饤¥Ö¥é¥ê)
¡¡¡¡zlib-devel¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤Ê¤±¤ì¤Ð¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
¡¡¡¡¡¡¡¡¡¦zlib-devel¤Î³Îǧ
# rpm -q zlib-devel
¡¡¡¡¡¡¡¡¡¦zlib-devel¤¬¤Ê¤±¤ì¤Ð¥¤¥ó¥¹¥È¡¼¥ë
# yum install zlib-devel



(2)cloop¥½¡¼¥¹¥³¡¼¥É¤ÎÆþ¼ê
¡¡cloop¤ÎREADME¤Ë¤Ï¡¢KNOPPIX¤Î¸ø¼°¥µ¥¤¥È¤Îµ­ºÜ¤¬¤¢¤ë¤¬¡¢ºÇ¿·¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¸«Åö¤¿¤é¤Ê¤¤¡£Ãµ¤·¤¿¤È¤³¤í¡¢Debian¤Îunstable¥Ñ¥Ã¥±¡¼¥¸¤«¤éÆþ¼ê¤¬²Äǽ¤Ç¤¢¤ë¡£
¡¡ºÇ¿·ÈǤϡ¢"cloop-2.05~20060829"(2007.3.2¸½ºß)

¡¡(i)Debian¸ø¼°¥µ¥¤¥È¤Ø¹Ô¤¯
¡¡(ii)²¼µ­½çÈ֤ǥ¯¥ê¥Ã¥¯¤¹¤ë
¡¡¡¡¡¦¡ÖDebian ¥Ñ¥Ã¥±¡¼¥¸¡×
¡¡¡¡¡¦¡ÖÉÔ°ÂÄêÈÇ (unstable) ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¸«¤ë¡×
¡¡¡¡¡¦¡ÖMiscellaneous¡×
¡¡¡¡¡¦¡Öcloop-src¡×¥Ñ¥Ã¥±¡¼¥¸¤òÁªÂò

¡¡(iii)µ­»ö¼¹É®»þÅÀ¤ÎºÇ¿·ÈÇ(¤È»×¤ï¤ì¤ë)¡Öcloop_2.05~20060829-1.tar.gz¡×¤ò¥À¥¦¥ó¥í¡¼¥É


(3)cloop¤Î¥½¡¼¥¹¤ÎŸ³«¤È¥³¥ó¥Ñ¥¤¥ë¡õ¥¤¥ó¥¹¥È¡¼¥ë
¡¡(i)¥½¡¼¥¹¥³¡¼¥É¤ÎŸ³«
¡¡¡¡Ç¤°Õ¤Î¾ì½ê(¼ê½ç¤Ç¤Ï/tmp)¤Ëtar¤Î¥Ç¡¼¥¿¤òŸ³«¤¹¤ë¡£
$ cd /tmp
$ tar -zxvf cloop_2.05~20060829-1.tar.gz
$ cd cloop-2.05~20060829/

¡¡(ii)¡ÚRHEL4¤Î¤ß¡ÛRHELÍѤ˥½¡¼¥¹¥³¡¼¥É¤ò½¤Àµ
¡¡¡¡RHEL¤Î¾ì¹ç¡¢¤½¤Î¤Þ¤Þ¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤¬Ä̤é¤Ê¤¤¤¿¤á°ìÉô¤Î¥½¡¼¥¹¤ò½¤Àµ¤¹¤ë¡£
$ vi compressed_loop.c

29¹ÔÌܤÎ"REDHAT_KERNEL"¤Îdefine¤Î¥³¥á¥ó¥È¤ò¤Ï¤º¤¹¡£
before: 29: /* #define REDHAT_KERNEL */
after: 29: #define REDHAT_KERNEL

¡¡(iii)¡ÚǤ°Õ¡Ûcloop¥Ç¥Ð¥¤¥¹ºÇÂç¿ô¤ÎÊѹ¹
¡¡¡¡É¬Íפ˱þ¤¸¤Æ¡¢cloop¥Ç¥Ð¥¤¥¹¤ÎºÇÂç¿ô¤òÊѹ¹¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢8¡£
$ vi compressed_loop.c

26¹ÔÌܤÎ"CLOOP_MAX"¤ÎÃͤòɬÍפ˱þ¤¸Êѹ¹¤¹¤ë¡£
before: 26 #define CLOOP_MAX 8
after: 26 #define CLOOP_MAX 16

¡¡(vi)¥³¥ó¥Ñ¥¤¥ë
# make KERNEL_DIR=/usr/src/redhat/BUILD/kernel-2.6.19/linux-2.6.19.i686/
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¨KERNEL_DIR¡§¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É¤Î¥Ç¥£¥ì¥¯¥È¥ê

¡¡(v)¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë
¡¡¡¡¡¡kernel2.6·Ï¤Î¾ì¹çcloop.ko¤ò»ÈÍѤ¹¤ë¡£
¡¡¡¡¡¡cloop.ko¤ò¥«¡¼¥Í¥ë¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¡¢
¡¡¡¡¡¡¥â¥¸¥å¡¼¥ë¤Î°Í¸´Ø·¸¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¹¤ë¡£
# mkdir -p /lib/modules/`uname -r`/misc && \
   cp cloop.ko /lib/modules/`uname -r`/misc;

# depmod -a

(4)cloop¥â¥¸¥å¡¼¥ë¤ÎÁȤ߹þ¤ß¥Æ¥¹¥È
¡¡Àµ¾ï¤Ëcloop¤¬ÁȤ߹þ¤á¤ë¤«³Îǧ¤¹¤ë¡£
¡¡(i)¥â¥¸¥å¡¼¥ë¾ðÊó¤Î³Îǧ
¡¡¡¡¡¡cloop¤Î¥â¥¸¥å¡¼¥ë¾ðÊ󤬽ÐÎϤµ¤ì¤ë¤³¤È¤ò³Îǧ
# modinfo cloop
filename: /lib/modules/2.6.19-1.2288.2.1.fc5/misc/cloop.ko
description: Transparently decompressing loopback block device
author: Klaus Knopper (Kernel 2.4 and up, Knoppix version), Paul Russel (initial version)
<°Ê²¼Î¬>

¡¡(ii)¥â¥¸¥å¡¼¥ë¤ÎÁȤ߹þ¤ß¥Æ¥¹¥È
¡¡¡¡¡¡¥â¥¸¥å¡¼¥ë¤ÎÁȤ߹þ¤ß²ÄÈݤò³Îǧ¤¹¤ë¡£
# modprobe cloop
# lsmod|grep cloop
cloop 15264 0¡¡<-ɽ¼¨¤µ¤ì¤ë¤³¤È¤ò³Îǧ

¡¡(iii)cloop¥Ç¥Ð¥¤¥¹¤Î³Îǧ¡£
¡¡¡¡¡¡¡¡udevµ¡Ç½¤Ë¤è¤ê¡¢cloop¥â¥¸¥å¡¼¥ëÁȤ߹þ¤ß¤È¤­cloop¥Ç¥Ð¥¤¥¹¤¬¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£
¡¡¡¡¡¡¡¡cloop¥Ç¥Ð¥¤¥¹¤Î̵ͭ¤ò³Îǧ¤¹¤ë¡£
# ls /dev/cloop*
/dev/cloop0 ¡¦¡¦¡¦¡¡<-ɽ¼¨¤µ¤ì¤ë¤³¤È¤ò³Îǧ

(5)cloop´ØÏ¢¥³¥Þ¥ó¥É¤Î¥³¥Ô¡¼
¡¡create_compressed_fs¤Èextract_compressed_fs(cloop¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ëº­Êñ)¤ò¥³¥Ô¡¼¤¹¤ë¡£
# install -m0755 create_compressed_fs /usr/local/bin/
# install -m0755 extract_compressed_fs /usr/local/bin/


£³¡¥¼ê½ç(cloop¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤È¥Þ¥¦¥ó¥È)
(1)cloop¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎºîÀ®
¡¡²¼µ­¥³¥Þ¥ó¥É¤Ç¡¢cloop¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤·¤¿¤¤¥Ç¡¼¥¿¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òcloop¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊÑ´¹¤¹¤ë¡£
# mkisofs -r datadir | \
create_compressed_fs - 65536 > datadir.iso.compressed ;

datadir : Âоݥǡ¼¥¿¤Î¥Ç¥£¥ì¥¯¥È¥ê̾
datadir.iso.compressed : cloop¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¥Õ¥¡¥¤¥ë̾

(2)¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È
¡¡(i) cloop¥Õ¥¡¥¤¥ë¤òcloop¥Ç¥Ð¥¤¥¹¤Ë¥Ð¥¤¥ó¥É¤¹¤ë
¡¡¡¡¡¡²¼µ­¥³¥Þ¥ó¥É¤Ç¡¢À¸À®¤·¤¿cloop¥Õ¥¡¥¤¥ë¤Ècloop¤Î¥Ç¥Ð¥¤¥¹¤ò¤¯¤¯¤ê¤Ä¤±¤ë¡£
<Îã:cloop0¥Ç¥Ð¥¤¥¹¤Ë¡¢iso.compressed¥Õ¥¡¥¤¥ë¤ò³ç¤êÉÕ¤±¤ë>
# losetup /dev/cloop0 /tmp/datadir.iso.compressed

¡¡(ii) cloop¤ò¥Þ¥¦¥ó¥È¤¹¤ë
¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë¡£
# mount -o ro -t whatever /dev/cloop0 /mnt/compressed


¢¨OSµ¯Æ°Ää»ß»þ¤Îcloop¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼«Æ°¥Þ¥¦¥ó¥È¡¦¥¢¥ó¥Þ¥¦¥ó¥È¥·¥§¥ë(rc¥·¥§¥ë)¤Ï¤³¤Á¤é¤ò»²¾È¢ª ¡ÚFedora/RHEL¡Ûcloop¼«Æ°¥Þ¥¦¥ó¥ÈÍÑrc¥¹¥¯¥ê¥×¥È

¡Ý»²¹Í»ñÎÁ¡Ý
¡¦Landscape : Linux¤Î°µ½Ì¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
¡¦knoppix.net : KNOPPIX¥É¥­¥å¥á¥ó¥È(¾ðÊó¸Å¤¤¤Ç¤¹)
¡¦Network Project 3.0: KNOPPIX-5.0.1¤Î¥«¡¼¥Í¥ë¤ò2.6.19¤Ëº¹¤·Âؤ¨¤ë
¡¦Knoppix Temporary Directory : cloop¤Ë¤Ä¤¤¤Æ¤Î³Ð¤¨½ñ¤­
£±¡¥¤Ï¤¸¤á¤Ë
¡¡FedoraCore¤Î¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É¤Î¥¤¥ó¥¹¥È¡¼¥ë¼ê½ç¤ò¼¨¤¹¡£´ðËܤϡ¢RHEL¤Î¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É¤Î¥¤¥ó¥¹¥È¡¼¥ë(¢¨)¤ÈƱ¤¸¡£

¡¡¡¡¢¨RHEL¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Á¤é ¢ª ¡ÚRHEL4¡Û¥«¡¼¥Í¥ë¥½¡¼¥¹¥³¡¼¥É¤Î¥¤¥ó¥¹¥È¡¼¥ë


£²¡¥¼ê½ç
(1)SRPM¥Ñ¥Ã¥±¡¼¥¸¤ÎÆþ¼ê
¡¡¡¡yum¥Ä¡¼¥ë¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤¬¼ê¤Ã¼è¤êÁᤤ¡£
¡¡¡¡(a)yum¥Ä¡¼¥ë¤Ë¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¼ê½ç
¡¡¡¡¡¡¡¡yumdownloader¥³¥Þ¥ó¥É¤Ç¡¢¥«¡¼¥Í¥ë¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É
¡¡¡¡¡¡¡¡¤¹¤ë¤Î¤¬´Êñ¡£

¡¡¡¡¡¡¡¡(i)yumdownloader¤Î¥¤¥ó¥¹¥È¡¼¥ë
¡¡¡¡¡¡¡¡¡¡yumdownloader¥³¥Þ¥ó¥É¤¬Ìµ¤¤¾ì¹ç¤Ïͽ¤á¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
# yum install yum-utils

¡¡¡¡¡¡¡¡(ii)¥«¡¼¥Í¥ë¥½¡¼¥¹¤Î¥À¥¦¥ó¥í¡¼¥É
# yumdownloader --source kernel.i686


¡¡¡¡(b)¼êư¤Ç¥«¡¼¥Í¥ë¤ÎSRPM¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¼ê½ç
¡¡¡¡¡¡¡¡¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¥µ¡¼¥Ð¤ä¡¢
¡¡¡¡¡¡¡¡¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥«¡¼¥Í¥ë¤Çyum¥Ä¡¼¥ë¤Ç¥¤¥ó¥¹¥È¡¼¥ë
¡¡¡¡¡¡¡¡¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¼êư¤ÇSRPM¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¡£

¡¡¡¡¡¡¡¡(i)SRPM¤Î¥À¥¦¥ó¥í¡¼¥É
¡¡¡¡¡¡¡¡¡¡¡¡¡¦¥À¥¦¥ó¥í¡¼¥É¥µ¥¤¥È¡§FedoraCore¥À¥¦¥ó¥í¡¼¥É°ìÍ÷

¡¡¡¡¡¡¡¡¡¡¡¡Îã)FedoraCore5¤Î¥¢¥Ã¥×¥Ç¡¼¥È¥«¡¼¥Í¥ë¤ÎSRPM¤òÍî¤È¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡kernel-2.6.19-1.2288.2.1.fc5.src.rpm

¡¡¡¡¡¡¡¡(ii)¥«¡¼¥Í¥ë¥½¡¼¥¹¤Î¥¤¥ó¥¹¥È¡¼¥ë
# rpm -ivh /tmp/kernel-2.6.19-1.2288.2.1.fc5.src.rpm




(2)SRPM¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë(°Ê¹ß¤ÏRHEL¤ÈƱ¤¸)
¡¡¡¡¥À¥¦¥ó¥í¡¼¥É¤·¤¿SRPM¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
¡¡¡¡Î㤨¤Ð¡¢/tmp¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤¿
¡¡¡¡kernel-2.6.19-1.2288.2.1.fc5.src.rpm¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï¡¢
#cd /tmp
# rpm -ivh ./kernel-2.6.19-1.2288.2.1.fc5.src.rpm


¡¡¡¡srpm¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¡¼¥¿¤Ï¡¢²¼µ­¾ì½ê¤Ë³ÊǼ¤µ¤ì¤ë¡£
/usr/src/redhat/
¡¡¨§/SOURCES¡¡ ¡¦¡¦¡¦¥½¡¼¥¹¥³¡¼¥É&¥½¡¼¥¹¤Îº¹Ê¬¥Ñ¥Ã¥Á
¡¡¨¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢ª¥Ç¥£¥ì¥¯¥È¥êľ²¼¤Ë¿Î̤Υե¡¥¤¥ë¤¬À¸À®
¡¡¨¦/SPECS¡¡¡¡¡¦¡¦¡¦RPM¤ÈSRPM¤ÎÀ¸À®¼ê½ç¥Õ¥¡¥¤¥ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢ªkernel-2.6.spec¥Õ¥¡¥¤¥ë¤¬À¸À®



(3)SRPM¤«¤é¤Î¥½¡¼¥¹¥³¡¼¥ÉÀ¸À®
(a) ¤½¤Î£±¡§²£Ãå¤Ë¤ä¤ëÊýË¡
¡¡¡¡SRPM¤«¤é¥Ð¥¤¥Ê¥ê¡¼¤òÀ¸À®¤·¤Æ¤·¤Þ¤¤¡¢¤½¤Î²áÄø¤Çversion.h¤Ê¤É¤òÀ¸À®¤·¤Æ¤·¤Þ¤¦¡£
¡¡¥½¡¼¥¹¥³¡¼¥É¤òÀ¸À®¤¹¤ë¤À¤±¤Ç¤¢¤ì¤Ð¡¢bzImage¤Îmake¤¬³«»Ï¤µ¤ì¤¿»þÅÀ¤Ç¶¯À©½ªÎ»¤·¤Æ¤·¤Þ¤Ã¤Æ¤â²Ä¡£
# cd /usr/src/redhat/SPECS
# rpmbuild -bc --target=i686 kernel-2.6.spec

# ¥½¡¼¥¹¥³¡¼¥É¤Ï¡¢/usr/src/redhat/BUILD°Ê²¼¤Ë³ÊǼ¡£


(b) ¤½¤Î£²¡§ÃúÇ«¤Ë¤ä¤ëÊýË¡
¡¡¡¡SRPM¤«¤é¥½¡¼¥¹¥³¡¼¥É¤òÀ¸À®¤¹¤ë¡£¤½¤Î¸å¼êư¤Ç¡¢version.h¤Ê¤É¤ÎÀ¸À®¤ò¹Ô¤¦¡£(¤Ç¤âkernel¤òbuild¤¹¤ë(a)¤¬³Î¼Â¤È»×¤ï¤ì¤ë¡£)
¡¡(i)¥½¡¼¥¹¥³¡¼¥É¤ÎŸ³«¤È¥Ñ¥Ã¥Á¤ÎŬÍÑ
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target=i686 kernel-2.6.spec

¡¡(ii)¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òÀßÄꤷɬÍפʥե¡¥¤¥ë¤òÀ¸À®¤¹¤ë
# cd ../BUILD/kernel-2.6.19/linux-2.6.19.i686/
# perl -p -i -e 's/^EXTRAVERSION.*/EXTRAVERSION = -1.2288.2.1.fc5/' Makefile
# make -s mrproper
# cp ./configs/kernel-2.6.19-i686.config ./.config
# make -s nonint_oldconfig
# make -s include/linux/version.h
# make bzImage
¢¨»öÁ°½èÍý¤¬½ª¤ï¤ê¥³¥ó¥Ñ¥¤¥ë¤¬»Ï¤Þ¤Ã¤¿¤é¶¯À©½ªÎ»¡£



£³¡¥´°Î»