Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. MKDIRRANGE=../tools/mkdirrange
  2. MKFILEPATTERN=../tools/mkfilepattern
  3. MOUNT_OPT=-t xfs
  4. TEMP_DIR:=$(shell mktemp -d)
  5.  
  6. all: s05k s4k unicode v5 kolibri.img coverage
  7.         rmdir $(TEMP_DIR)
  8.  
  9. s05k: xfs_v4_ftype0_s05k_b2k_n8k.img xfs_v4_ftype1_s05k_b2k_n8k.img xfs_v4_xattr.img xfs_v4_files_s05k_b4k_n8k.img xfs_v4_ftype0_s05k_b2k_n8k_xattr.img xfs_v4_btrees_l2.img xfs_short_dir_i8.img
  10.  
  11. s4k: xfs_v4_ftype0_s4k_b4k_n8k.img
  12.  
  13. unicode: xfs_v4_unicode.img
  14.  
  15. v5: xfs_v5_ftype1_s05k_b2k_n8k.img xfs_v5_files_s05k_b4k_n8k.img
  16.  
  17. coverage: jfs.img xfs_borg_bit.img xfs_short_dir_i8.img
  18.  
  19. kolibri.img: ../default.skn
  20.         touch $@
  21.         fallocate -z -o 0 -l 1440KiB $@
  22.         mkfs.vfat -n KOLIBRIOS -F 12 $@
  23.         mcopy -vmoi $@ $< ::DEFAULT.SKN
  24.  
  25. jfs.img:
  26.         fallocate -l 16MiB $@
  27.         mkfs.jfs -q $@
  28.         fallocate -i -o 0 -l 1MiB $@
  29.         parted --script $@ mktable gpt
  30.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  31.  
  32. xfs_borg_bit.img:
  33.         fallocate -l 16MiB $@
  34.         mkfs.xfs -n version=ci $@
  35.         fallocate -i -o 0 -l 1MiB $@
  36.         parted --script $@ mktable gpt
  37.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  38.  
  39. xfs_short_dir_i8.img:
  40.         echo -en "\x00" > $@
  41.         fallocate -i -o 0 -l 42TiB $@
  42.         mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100,size=256 -n size=8k,ftype=0 $@
  43. #
  44.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  45.         sudo chown $$USER $(TEMP_DIR) -R
  46. #
  47.         mkdir $(TEMP_DIR)/sf
  48.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 5  0 244
  49. #
  50.         $(MKDIRRANGE) $(TEMP_DIR)/sf/d0000000002_xx 7 10  0 244
  51. #
  52.         sudo umount $(TEMP_DIR)
  53.         fallocate -i -o 0 -l 1MiB $@
  54.         parted --script $@ mktable gpt
  55.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  56.  
  57. xfs_v4_ftype0_s05k_b2k_n8k.img:
  58.         fallocate -l 63MiB $@
  59.         mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=0 $@
  60.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  61.         sudo chown $$USER $(TEMP_DIR) -R
  62. #
  63.         mkdir $(TEMP_DIR)/sf_empty
  64. #
  65.         mkdir $(TEMP_DIR)/sf
  66.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 3  0 244
  67. #
  68.         mkdir $(TEMP_DIR)/block
  69.         $(MKDIRRANGE) $(TEMP_DIR)/block 0 5  234 10
  70. #
  71.         mkdir $(TEMP_DIR)/leaf
  72.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 40  214 30
  73. #
  74.         mkdir $(TEMP_DIR)/node
  75.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 1100  0 23
  76. #
  77.         mkdir $(TEMP_DIR)/btree_leaf
  78.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf 0 1000  201 43
  79. #
  80.         mkdir $(TEMP_DIR)/btree_leaf_free
  81.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf_free 0 1200  201 43
  82. #
  83.         sudo umount $(TEMP_DIR)
  84.         fallocate -i -o 0 -l 1MiB $@
  85.         parted --script $@ mktable gpt
  86.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  87.  
  88. xfs_v4_ftype1_s05k_b2k_n8k.img:
  89.         fallocate -l 63MiB $@
  90.         mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=1 $@
  91.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  92.         sudo chown $$USER $(TEMP_DIR) -R
  93. #
  94.         mkdir $(TEMP_DIR)/sf_empty
  95. #
  96.         mkdir $(TEMP_DIR)/sf
  97.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 3  0 244
  98. #
  99.         mkdir $(TEMP_DIR)/block
  100.         $(MKDIRRANGE) $(TEMP_DIR)/block 0 5  234 10
  101. #
  102.         mkdir $(TEMP_DIR)/leaf
  103.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 40  214 30
  104. #
  105.         mkdir $(TEMP_DIR)/node
  106.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 1100  0 23
  107. #
  108.         mkdir $(TEMP_DIR)/btree_leaf
  109.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf 0 1000  201 43
  110. #
  111.         mkdir $(TEMP_DIR)/btree_leaf_free
  112.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf_free 0 1200  201 43
  113. #
  114.         sudo umount $(TEMP_DIR)
  115.         fallocate -i -o 0 -l 1MiB $@
  116.         parted --script $@ mktable gpt
  117.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  118.  
  119. xfs_v4_xattr.img:
  120.         fallocate -l 63MiB $@
  121.         mkfs.xfs -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n ftype=0 $@
  122.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR) -o attr2
  123.         sudo chown $$USER $(TEMP_DIR) -R
  124. #
  125.         mkdir $(TEMP_DIR)/sf
  126.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 900  0 244
  127. #
  128.         mkdir $(TEMP_DIR)/leaf
  129.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 600  0 244
  130. #
  131.         mkdir $(TEMP_DIR)/node
  132.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 600  0 244
  133. #
  134.         mkdir $(TEMP_DIR)/btree
  135.         $(MKDIRRANGE) $(TEMP_DIR)/btree 0 600  0 244
  136. #
  137.         sudo umount $(TEMP_DIR)
  138.         fallocate -i -o 0 -l 1MiB $@
  139.         parted --script $@ mktable gpt
  140.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  141.  
  142. xfs_v4_btrees_l2.img:
  143.         fallocate -l 127MiB $@
  144.         mkfs.xfs -b size=1k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=4k,ftype=1 $@
  145.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  146.         sudo chown $$USER $(TEMP_DIR) -R
  147. #
  148.         mkdir $(TEMP_DIR)/dir_btree_l2
  149.         $(MKDIRRANGE) $(TEMP_DIR)/dir_btree_l2 0 193181  214 30
  150. #
  151.         fallocate -l 4KiB $(TEMP_DIR)/file_btree_l2
  152.         for n in $$(seq 1 4000); do \
  153.                 fallocate -i -l 4KiB -o 0KiB $(TEMP_DIR)/file_btree_l2 ; \
  154.                 fallocate -z -l 4KiB -o 0KiB $(TEMP_DIR)/file_btree_l2 ; \
  155.         done
  156.         $(MKFILEPATTERN) $(TEMP_DIR)/file_btree_l2 0 16388096
  157. #
  158.         sudo umount $(TEMP_DIR)
  159.         fallocate -i -o 0 -l 1MiB $@
  160.         parted --script $@ mktable gpt
  161.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  162.  
  163. xfs_v4_files_s05k_b4k_n8k.img:
  164.         fallocate -l 127MiB $@
  165.         mkfs.xfs -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=0 $@
  166.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  167.         sudo chown $$USER $(TEMP_DIR) -R
  168. #
  169.         $(MKFILEPATTERN) $(TEMP_DIR)/no_hole 0 65536
  170. #
  171.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_begin 0 65536
  172.         fallocate -p -o 0 -l 16KiB $(TEMP_DIR)/hole_begin
  173. #
  174.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_middle 0 65536
  175.         fallocate -p -o 32KiB -l 16KiB $(TEMP_DIR)/hole_middle
  176. #
  177.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_end 0 65536
  178.         fallocate -p -o 48KiB -l 16KiB $(TEMP_DIR)/hole_end
  179. #
  180.         fallocate -l 4KiB $(TEMP_DIR)/btree_l1_no_hole
  181.         for n in $$(seq 1 2000); do \
  182.                 fallocate -i -l 4KiB -o 0KiB $(TEMP_DIR)/btree_l1_no_hole ; \
  183.                 fallocate -z -l 4KiB -o 0KiB $(TEMP_DIR)/btree_l1_no_hole ; \
  184.         done
  185.         $(MKFILEPATTERN) $(TEMP_DIR)/btree_l1_no_hole 0 8196096
  186. #
  187. #       fallocate -l 5GiB $(TEMP_DIR)/4GiB_plus
  188.         $(MKFILEPATTERN) $(TEMP_DIR)/4GiB_plus 0x120008000 0x1000
  189.         $(MKFILEPATTERN) $(TEMP_DIR)/4GiB_plus 0x120000000 0x4000
  190.         $(MKFILEPATTERN) $(TEMP_DIR)/4GiB_plus 0xffffe000 0x4000
  191.         $(MKFILEPATTERN) $(TEMP_DIR)/4GiB_plus 0x4000 0x4000
  192. #
  193.         sudo umount $(TEMP_DIR)
  194.         fallocate -i -o 0 -l 1MiB $@
  195.         parted --script $@ mktable gpt
  196.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  197.  
  198. xfs_v4_ftype0_s4k_b4k_n8k.img:
  199.         fallocate -l 63MiB $@
  200.         mkfs.xfs -b size=4k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=4k -i maxpct=100 -n size=8k,ftype=0 $@
  201.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  202.         sudo chown $$USER $(TEMP_DIR) -R
  203. #
  204.         mkdir $(TEMP_DIR)/sf_empty
  205. #
  206.         mkdir $(TEMP_DIR)/sf
  207.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 3  0 244
  208. #
  209.         mkdir $(TEMP_DIR)/block
  210.         $(MKDIRRANGE) $(TEMP_DIR)/block 0 5  234 10
  211. #
  212.         mkdir $(TEMP_DIR)/leaf
  213.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 40  214 30
  214. #
  215.         mkdir $(TEMP_DIR)/node
  216.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 1100  0 23
  217. #
  218.         mkdir $(TEMP_DIR)/btree_leaf
  219.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf 0 1000  201 43
  220. #
  221.         mkdir $(TEMP_DIR)/btree_leaf_free
  222.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf_free 0 1200  201 43
  223. #
  224.         sudo umount $(TEMP_DIR)
  225.         fallocate -i -o 0 -l 1MiB $@
  226.         sudo losetup -b 4096 /dev/loop8 $@
  227.         sudo parted --script /dev/loop8 mktable gpt
  228.         sudo parted --script --align optimal /dev/loop8 mkpart primary 1MiB 100%
  229.         sudo losetup -d /dev/loop8
  230. #       parted --script $@ mktable gpt
  231. #       parted --script --align optimal $@ mkpart primary 1MiB 100%
  232.  
  233. xfs_v4_ftype0_s05k_b2k_n8k_xattr.img:
  234.         fallocate -l 63MiB $@
  235.         mkfs.xfs -b size=2k -m crc=0,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=0 $@
  236.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  237.         sudo chown $$USER $(TEMP_DIR) -R
  238. #
  239.         mkdir $(TEMP_DIR)/sf_empty
  240.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/sf_empty
  241. #
  242.         mkdir $(TEMP_DIR)/sf
  243.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/sf
  244.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 3  0 244
  245. #
  246.         mkdir $(TEMP_DIR)/block
  247.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/block
  248.         $(MKDIRRANGE) $(TEMP_DIR)/block 0 5  234 10
  249. #
  250.         mkdir $(TEMP_DIR)/leaf
  251.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/leaf
  252.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 40  214 30
  253. #
  254.         mkdir $(TEMP_DIR)/node
  255.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/node
  256.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 1020  0 23
  257. #
  258.         mkdir $(TEMP_DIR)/btree_leaf
  259.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/btree_leaf
  260.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf 0 1000  201 43
  261. #
  262.         mkdir $(TEMP_DIR)/btree_leaf_free
  263.         setfattr -n user.pew_attr_pew -v pew_value_pew $(TEMP_DIR)/btree_leaf_free
  264.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf_free 0 1200  201 43
  265. #
  266.         sudo umount $(TEMP_DIR)
  267.         fallocate -i -o 0 -l 1MiB $@
  268.         parted --script $@ mktable gpt
  269.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  270.  
  271. xfs_v4_unicode.img:
  272.         fallocate -l 63MiB $@
  273.         mkfs.xfs -m crc=0,finobt=0,rmapbt=0,reflink=0 $@
  274.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  275.         sudo chown $$USER $(TEMP_DIR) -R
  276. #
  277.         mkdir -p $(TEMP_DIR)/dir0
  278.         mkdir -p $(TEMP_DIR)/дир❦/дир11
  279.         mkdir -p $(TEMP_DIR)/❦❦❦/д❦р22
  280.         mkdir -p $(TEMP_DIR)/❦👩❦/
  281.         mkdir -p $(TEMP_DIR)/❦👩❦/👩❦❦/
  282.         mkdir -p $(TEMP_DIR)/❦👩❦/❦👩❦/
  283.         mkdir -p $(TEMP_DIR)/❦👩❦/❦❦👩/
  284.         mkdir $(TEMP_DIR)/дир3/
  285. #
  286.         echo hello_world > $(TEMP_DIR)/dir0/file00
  287.         echo привет❦мир > $(TEMP_DIR)/❦❦❦/д❦р22/❦❦
  288.         echo привет💗мир > $(TEMP_DIR)/❦❦❦/д❦р22/💗💗
  289.         echo привет❦💗мир > $(TEMP_DIR)/дир3/файл33
  290. #
  291.         sudo umount $(TEMP_DIR)
  292.         fallocate -i -o 0 -l 1MiB $@
  293.         parted --script $@ mktable gpt
  294.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  295.  
  296. xfs_v5_ftype1_s05k_b2k_n8k.img:
  297.         fallocate -l 63MiB $@
  298.         mkfs.xfs -b size=2k -m crc=1,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -i maxpct=100 -n size=8k,ftype=1 $@
  299.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  300.         sudo chown $$USER $(TEMP_DIR) -R
  301. #
  302.         mkdir $(TEMP_DIR)/sf_empty
  303. #
  304.         mkdir $(TEMP_DIR)/sf
  305.         $(MKDIRRANGE) $(TEMP_DIR)/sf 0 3  0 244
  306. #
  307.         mkdir $(TEMP_DIR)/block
  308.         $(MKDIRRANGE) $(TEMP_DIR)/block 0 5  234 10
  309. #
  310.         mkdir $(TEMP_DIR)/leaf
  311.         $(MKDIRRANGE) $(TEMP_DIR)/leaf 0 40  214 30
  312. #
  313.         mkdir $(TEMP_DIR)/node
  314.         $(MKDIRRANGE) $(TEMP_DIR)/node 0 1100  0 23
  315. #
  316.         mkdir $(TEMP_DIR)/btree_leaf
  317.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf 0 1000  201 43
  318. #
  319.         mkdir $(TEMP_DIR)/btree_leaf_free
  320.         $(MKDIRRANGE) $(TEMP_DIR)/btree_leaf_free 0 1200  201 43
  321. #
  322.         sudo umount $(TEMP_DIR)
  323.         fallocate -i -o 0 -l 1MiB $@
  324.         parted --script $@ mktable gpt
  325.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  326.  
  327. xfs_v5_files_s05k_b4k_n8k.img:
  328.         fallocate -l 127MiB $@
  329.         mkfs.xfs -b size=4k -m crc=1,finobt=0,rmapbt=0,reflink=0 -d sectsize=512 -n size=8k,ftype=1 $@
  330.         sudo mount $(MOUNT_OPT) $@ $(TEMP_DIR)
  331.         sudo chown $$USER $(TEMP_DIR) -R
  332. #
  333.         $(MKFILEPATTERN) $(TEMP_DIR)/no_hole 0 65536
  334. #
  335.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_begin 0 65536
  336.         fallocate -p -o 0 -l 16KiB $(TEMP_DIR)/hole_begin
  337. #
  338.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_middle 0 65536
  339.         fallocate -p -o 32KiB -l 16KiB $(TEMP_DIR)/hole_middle
  340. #
  341.         $(MKFILEPATTERN) $(TEMP_DIR)/hole_end 0 65536
  342.         fallocate -p -o 48KiB -l 16KiB $(TEMP_DIR)/hole_end
  343. #
  344.         fallocate -l 4KiB $(TEMP_DIR)/btree_l1_no_hole
  345.         for n in $$(seq 1 2000); do \
  346.                 fallocate -i -l 4KiB -o 0KiB $(TEMP_DIR)/btree_l1_no_hole ; \
  347.                 fallocate -z -l 4KiB -o 0KiB $(TEMP_DIR)/btree_l1_no_hole ; \
  348.         done
  349.         $(MKFILEPATTERN) $(TEMP_DIR)/btree_l1_no_hole 0 8196096
  350. #
  351.         sudo umount $(TEMP_DIR)
  352.         fallocate -i -o 0 -l 1MiB $@
  353.         parted --script $@ mktable gpt
  354.         parted --script --align optimal $@ mkpart primary 1MiB 100%
  355.  
  356.  
  357.