2
1

cloop.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #############################################################
  2. #
  3. # mkcloop to build to target cloop filesystems
  4. #
  5. #############################################################
  6. CLOOP_VERSION=2.06
  7. CLOOP_DIR=$(BUILD_DIR)/cloop-$(CLOOP_VERSION)
  8. CLOOP_SOURCE=cloop_$(CLOOP_VERSION)-2.tar.gz
  9. CLOOP_SITE=http://debian-knoppix.alioth.debian.org/sources/
  10. CLOOP_TARGET:=$(IMAGE).cloop
  11. ### Note: not used yet! ck
  12. ### $(DL_DIR)/$(CLOOP_PATCH1):
  13. ### $(call DOWNLOAD,$(CLOOP_PATCH1_URL),$(CLOOP_PATCH1))
  14. $(DL_DIR)/$(CLOOP_SOURCE):
  15. $(call DOWNLOAD,$(CLOOP_SITE),$(CLOOP_SOURCE))
  16. $(CLOOP_DIR)/.unpacked: $(DL_DIR)/$(CLOOP_SOURCE) ### $(DL_DIR)/$(CLOOP_PATCH1)
  17. $(ZCAT) $(DL_DIR)/$(CLOOP_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  18. touch $@
  19. ### $(ZCAT) $(DL_DIR)/$(CLOOP_PATCH1) | patch -p1 -d $(CLOOP_DIR)
  20. ### toolchain/patch-kernel.sh $(CLOOP_DIR) target/cloop/ cloop\*.patch
  21. $(CLOOP_DIR)/create_compressed_fs: $(CLOOP_DIR)/.unpacked
  22. $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_ERROR_SILENT" -C $(CLOOP_DIR) \
  23. APPSONLY=yes -j1
  24. cloop: $(CLOOP_DIR)/create_compressed_fs
  25. cloop-source: $(DL_DIR)/$(CLOOP_SOURCE)
  26. cloop-clean:
  27. -$(MAKE) -C $(CLOOP_DIR) clean
  28. cloop-dirclean:
  29. rm -rf $(CLOOP_DIR)
  30. #############################################################
  31. #
  32. # Build the cloop.o kernel module for the HOST
  33. #
  34. #############################################################
  35. $(CLOOP_DIR)/cloop.o: $(CLOOP_DIR)/create_compressed_fs
  36. $(MAKE) CFLAGS="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_ERROR_SILENT" -C $(CLOOP_DIR) -j1
  37. cloop-module: $(CLOOP_DIR)/cloop.o
  38. #############################################################
  39. #
  40. # Build the cloop root filesystem image
  41. #
  42. # Note: we need additionall host tools:
  43. # required:
  44. # mkisofs 2.01a34-unofficial-iconv from http://users.utu.fi/jahhein/mkisofs/
  45. # optional:
  46. # symlinks: scan/change symbolic links - v1.2 - by Mark Lord
  47. # from ftp://ftp.ibiblio.org/pub/Linux/utils/file/
  48. #
  49. #############################################################
  50. ### Note: target/default/device_table.txt is not yet supported! ck
  51. # the quickfix is to use sudo to mount the previous created cramroot
  52. check-tools:
  53. - which symlinks && symlinks -r $(TARGET_DIR)
  54. $(IMAGE).cramfs: cramfsroot
  55. clooproot: cloop check-tools $(IMAGE).cramfs
  56. ### $(CLOOP_DIR)/create_compressed_fs -q -D target/default/device_table.txt $(TARGET_DIR) $(CLOOP_TARGET)
  57. ## mkisofs -r $(TARGET_DIR) | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(CLOOP_TARGET)
  58. sudo mkdir -p /mnt/compressed
  59. sudo mount -o ro,loop -t cramfs $(IMAGE).cramfs /mnt/compressed
  60. mkisofs -r /mnt/compressed | $(CLOOP_DIR)/create_compressed_fs - 65536 > $(CLOOP_TARGET)
  61. - symlinks -r /mnt/compressed
  62. sudo umount /mnt/compressed
  63. @echo "Mounting a compressed image:"
  64. @echo " sudo mkdir -p /mnt/compressed"
  65. @echo " sudo /sbin/insmod cloop"
  66. @echo " sudo /sbin/losetup /dev/cloop1 $(CLOOP_TARGET)"
  67. @echo " sudo mount -o ro -t iso9660 /dev/cloop1 /mnt/compressed"
  68. clooproot-source: cloop-source
  69. clooproot-clean:
  70. -$(MAKE) -C $(CLOOP_DIR) clean
  71. clooproot-dirclean:
  72. rm -rf $(CLOOP_DIR)
  73. #############################################################
  74. # symlinks -r /mnt/compressed
  75. # dangling: /mnt/compressed/dev/log -> /tmp/log
  76. # other_fs: /mnt/compressed/etc/mtab -> /proc/mounts
  77. # other_fs: /mnt/compressed/var/lib/pcmcia -> /tmp
  78. # other_fs: /mnt/compressed/var/lock -> /tmp
  79. # other_fs: /mnt/compressed/var/log -> /tmp
  80. # other_fs: /mnt/compressed/var/pcmcia -> /tmp
  81. # other_fs: /mnt/compressed/var/run -> /tmp
  82. # other_fs: /mnt/compressed/var/spool -> /tmp
  83. # other_fs: /mnt/compressed/var/tmp -> /tmp
  84. #
  85. # ls -lrsS root_fs_*.*
  86. # 1296 -rw-r--r-- 1 claus users 1325478 Mar 13 16:52 root_fs_powerpc.cloop
  87. # 1448 -rw-r--r-- 1 claus users 1482752 Mar 13 16:52 root_fs_powerpc.cramfs
  88. # 1840 -rw-r--r-- 1 claus users 1883408 Mar 13 13:14 root_fs_powerpc.jffs2
  89. #############################################################