Then, I tested to see if I can reproduce the mentioned cpio bug:
alain@vultr1:~/swupdate/images$ SIZES="1 2 4 8 16 32 64 128 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250"
alain@vultr1:~/swupdate/images$ for i in $SIZES; do
> dd if=/dev/urandom of=rand-$i bs=1M count=$i
> echo rand-$i | cpio --create --format=crc --verbose > rand-$i.cpio
> cpio --extract --only-verify-crc < rand-$i.cpio
> done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00770667 s, 136 MB/s
rand-1
2049 blocks
2049 blocks
2+0 records in
2+0 records out
2097152 bytes (2.1 MB, 2.0 MiB) copied, 0.0159372 s, 132 MB/s
rand-2
4097 blocks
4097 blocks
4+0 records in
4+0 records out
4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.0382708 s, 110 MB/s
rand-4
8193 blocks
8193 blocks
8+0 records in
8+0 records out
8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.0677005 s, 124 MB/s
rand-8
16385 blocks
16385 blocks
16+0 records in
16+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 0.114722 s, 146 MB/s
rand-16
32769 blocks
32769 blocks
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.240495 s, 140 MB/s
rand-32
65537 blocks
65537 blocks
64+0 records in
64+0 records out
67108864 bytes (67 MB, 64 MiB) copied, 0.500194 s, 134 MB/s
rand-64
131073 blocks
cpio: rand-64: checksum error (0x1fdf3ccca, should be 0xfdf3ccca)
131073 blocks
128+0 records in
128+0 records out
134217728 bytes (134 MB, 128 MiB) copied, 0.93671 s, 143 MB/s
rand-128
262145 blocks
cpio: rand-128: checksum error (0x3fbfe2b00, should be 0xfbfe2b00)
262145 blocks
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0651765 s, 161 MB/s
rand-10
20481 blocks
20481 blocks
20+0 records in
20+0 records out
20971520 bytes (21 MB, 20 MiB) copied, 0.14561 s, 144 MB/s
rand-20
40961 blocks
40961 blocks
30+0 records in
30+0 records out
31457280 bytes (31 MB, 30 MiB) copied, 0.209185 s, 150 MB/s
rand-30
61441 blocks
61441 blocks
40+0 records in
40+0 records out
41943040 bytes (42 MB, 40 MiB) copied, 0.302915 s, 138 MB/s
rand-40
81921 blocks
cpio: rand-40: checksum error (0x13ebb7a7e, should be 0x3ebb7a7e)
81921 blocks
50+0 records in
50+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 0.356088 s, 147 MB/s
rand-50
102401 blocks
cpio: rand-50: checksum error (0x18e78f740, should be 0x8e78f740)
102401 blocks
60+0 records in
60+0 records out
62914560 bytes (63 MB, 60 MiB) copied, 0.423133 s, 149 MB/s
rand-60
122881 blocks
cpio: rand-60: checksum error (0x1de1634cc, should be 0xde1634cc)
122881 blocks
70+0 records in
70+0 records out
73400320 bytes (73 MB, 70 MiB) copied, 0.508893 s, 144 MB/s
rand-70
143361 blocks
cpio: rand-70: checksum error (0x22dcd28ff, should be 0x2dcd28ff)
143361 blocks
80+0 records in
80+0 records out
83886080 bytes (84 MB, 80 MiB) copied, 0.600626 s, 140 MB/s
rand-80
163841 blocks
cpio: rand-80: checksum error (0x27d72266e, should be 0x7d72266e)
163841 blocks
90+0 records in
90+0 records out
94371840 bytes (94 MB, 90 MiB) copied, 0.66256 s, 142 MB/s
rand-90
184321 blocks
cpio: rand-90: checksum error (0x2cd2f0fc0, should be 0xcd2f0fc0)
184321 blocks
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.70377 s, 149 MB/s
rand-100
204801 blocks
cpio: rand-100: checksum error (0x31ccfeb56, should be 0x1ccfeb56)
204801 blocks
110+0 records in
110+0 records out
115343360 bytes (115 MB, 110 MiB) copied, 0.868234 s, 133 MB/s
rand-110
225281 blocks
cpio: rand-110: checksum error (0x36c8e39f6, should be 0x6c8e39f6)
225281 blocks
120+0 records in
120+0 records out
125829120 bytes (126 MB, 120 MiB) copied, 0.858858 s, 147 MB/s
rand-120
245761 blocks
cpio: rand-120: checksum error (0x3bc4abd74, should be 0xbc4abd74)
245761 blocks
130+0 records in
130+0 records out
136314880 bytes (136 MB, 130 MiB) copied, 0.90325 s, 151 MB/s
rand-130
266241 blocks
cpio: rand-130: checksum error (0x40bf00766, should be 0xbf00766)
266241 blocks
140+0 records in
140+0 records out
146800640 bytes (147 MB, 140 MiB) copied, 1.01834 s, 144 MB/s
rand-140
286721 blocks
cpio: rand-140: checksum error (0x45b9fc59e, should be 0x5b9fc59e)
286721 blocks
150+0 records in
150+0 records out
157286400 bytes (157 MB, 150 MiB) copied, 1.05808 s, 149 MB/s
rand-150
307201 blocks
cpio: rand-150: checksum error (0x4ab540d93, should be 0xab540d93)
307201 blocks
160+0 records in
160+0 records out
167772160 bytes (168 MB, 160 MiB) copied, 1.14762 s, 146 MB/s
rand-160
327681 blocks
cpio: rand-160: checksum error (0x4faf421eb, should be 0xfaf421eb)
327681 blocks
170+0 records in
170+0 records out
178257920 bytes (178 MB, 170 MiB) copied, 1.17578 s, 152 MB/s
rand-170
348161 blocks
cpio: rand-170: checksum error (0x54ab0cbb1, should be 0x4ab0cbb1)
348161 blocks
180+0 records in
180+0 records out
188743680 bytes (189 MB, 180 MiB) copied, 1.27836 s, 148 MB/s
rand-180
368641 blocks
cpio: rand-180: checksum error (0x59a587384, should be 0x9a587384)
368641 blocks
190+0 records in
190+0 records out
199229440 bytes (199 MB, 190 MiB) copied, 1.40178 s, 142 MB/s
rand-190
389121 blocks
cpio: rand-190: checksum error (0x5ea39a3b6, should be 0xea39a3b6)
389121 blocks
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 1.41094 s, 149 MB/s
rand-200
409601 blocks
cpio: rand-200: checksum error (0x639c454d6, should be 0x39c454d6)
409601 blocks
210+0 records in
210+0 records out
220200960 bytes (220 MB, 210 MiB) copied, 1.48364 s, 148 MB/s
rand-210
430081 blocks
cpio: rand-210: checksum error (0x6897340c7, should be 0x897340c7)
430081 blocks
220+0 records in
220+0 records out
230686720 bytes (231 MB, 220 MiB) copied, 1.50253 s, 154 MB/s
rand-220
450561 blocks
cpio: rand-220: checksum error (0x6d923178a, should be 0xd923178a)
450561 blocks
230+0 records in
230+0 records out
241172480 bytes (241 MB, 230 MiB) copied, 1.6295 s, 148 MB/s
rand-230
471041 blocks
cpio: rand-230: checksum error (0x728cd911c, should be 0x28cd911c)
471041 blocks
240+0 records in
240+0 records out
251658240 bytes (252 MB, 240 MiB) copied, 1.64275 s, 153 MB/s
rand-240
491521 blocks
cpio: rand-240: checksum error (0x77884d2ca, should be 0x7884d2ca)
491521 blocks
250+0 records in
250+0 records out
262144000 bytes (262 MB, 250 MiB) copied, 1.70776 s, 154 MB/s
rand-250
512001 blocks
cpio: rand-250: checksum error (0x7c83383e1, should be 0xc83383e1)
512001 blocks
alain@vultr1:~/swupdate/images$ ls -l
total 7792844
-rw-r--r-- 1 alain alain 1048576 Mar 7 15:40 rand-1
-rw-r--r-- 1 alain alain 1049088 Mar 7 15:40 rand-1.cpio
-rw-r--r-- 1 alain alain 10485760 Mar 7 15:40 rand-10
-rw-r--r-- 1 alain alain 10486272 Mar 7 15:40 rand-10.cpio
-rw-r--r-- 1 alain alain 104857600 Mar 7 15:40 rand-100
-rw-r--r-- 1 alain alain 104858112 Mar 7 15:40 rand-100.cpio
-rw-r--r-- 1 alain alain 115343360 Mar 7 15:40 rand-110
-rw-r--r-- 1 alain alain 115343872 Mar 7 15:40 rand-110.cpio
-rw-r--r-- 1 alain alain 125829120 Mar 7 15:40 rand-120
-rw-r--r-- 1 alain alain 125829632 Mar 7 15:40 rand-120.cpio
-rw-r--r-- 1 alain alain 134217728 Mar 7 15:40 rand-128
-rw-r--r-- 1 alain alain 134218240 Mar 7 15:40 rand-128.cpio
-rw-r--r-- 1 alain alain 136314880 Mar 7 15:40 rand-130
-rw-r--r-- 1 alain alain 136315392 Mar 7 15:40 rand-130.cpio
-rw-r--r-- 1 alain alain 146800640 Mar 7 15:40 rand-140
-rw-r--r-- 1 alain alain 146801152 Mar 7 15:40 rand-140.cpio
-rw-r--r-- 1 alain alain 157286400 Mar 7 15:40 rand-150
-rw-r--r-- 1 alain alain 157286912 Mar 7 15:40 rand-150.cpio
-rw-r--r-- 1 alain alain 16777216 Mar 7 15:40 rand-16
-rw-r--r-- 1 alain alain 16777728 Mar 7 15:40 rand-16.cpio
-rw-r--r-- 1 alain alain 167772160 Mar 7 15:40 rand-160
-rw-r--r-- 1 alain alain 167772672 Mar 7 15:40 rand-160.cpio
-rw-r--r-- 1 alain alain 178257920 Mar 7 15:41 rand-170
-rw-r--r-- 1 alain alain 178258432 Mar 7 15:41 rand-170.cpio
-rw-r--r-- 1 alain alain 188743680 Mar 7 15:41 rand-180
-rw-r--r-- 1 alain alain 188744192 Mar 7 15:41 rand-180.cpio
-rw-r--r-- 1 alain alain 199229440 Mar 7 15:41 rand-190
-rw-r--r-- 1 alain alain 199229952 Mar 7 15:41 rand-190.cpio
-rw-r--r-- 1 alain alain 2097152 Mar 7 15:40 rand-2
-rw-r--r-- 1 alain alain 2097664 Mar 7 15:40 rand-2.cpio
-rw-r--r-- 1 alain alain 20971520 Mar 7 15:40 rand-20
-rw-r--r-- 1 alain alain 20972032 Mar 7 15:40 rand-20.cpio
-rw-r--r-- 1 alain alain 209715200 Mar 7 15:41 rand-200
-rw-r--r-- 1 alain alain 209715712 Mar 7 15:41 rand-200.cpio
-rw-r--r-- 1 alain alain 220200960 Mar 7 15:41 rand-210
-rw-r--r-- 1 alain alain 220201472 Mar 7 15:41 rand-210.cpio
-rw-r--r-- 1 alain alain 230686720 Mar 7 15:41 rand-220
-rw-r--r-- 1 alain alain 230687232 Mar 7 15:41 rand-220.cpio
-rw-r--r-- 1 alain alain 241172480 Mar 7 15:41 rand-230
-rw-r--r-- 1 alain alain 241172992 Mar 7 15:41 rand-230.cpio
-rw-r--r-- 1 alain alain 251658240 Mar 7 15:41 rand-240
-rw-r--r-- 1 alain alain 251658752 Mar 7 15:41 rand-240.cpio
-rw-r--r-- 1 alain alain 262144000 Mar 7 15:41 rand-250
-rw-r--r-- 1 alain alain 262144512 Mar 7 15:41 rand-250.cpio
-rw-r--r-- 1 alain alain 31457280 Mar 7 15:40 rand-30
-rw-r--r-- 1 alain alain 31457792 Mar 7 15:40 rand-30.cpio
-rw-r--r-- 1 alain alain 33554432 Mar 7 15:40 rand-32
-rw-r--r-- 1 alain alain 33554944 Mar 7 15:40 rand-32.cpio
-rw-r--r-- 1 alain alain 4194304 Mar 7 15:40 rand-4
-rw-r--r-- 1 alain alain 4194816 Mar 7 15:40 rand-4.cpio
-rw-r--r-- 1 alain alain 41943040 Mar 7 15:40 rand-40
-rw-r--r-- 1 alain alain 41943552 Mar 7 15:40 rand-40.cpio
-rw-r--r-- 1 alain alain 52428800 Mar 7 15:40 rand-50
-rw-r--r-- 1 alain alain 52429312 Mar 7 15:40 rand-50.cpio
-rw-r--r-- 1 alain alain 62914560 Mar 7 15:40 rand-60
-rw-r--r-- 1 alain alain 62915072 Mar 7 15:40 rand-60.cpio
-rw-r--r-- 1 alain alain 67108864 Mar 7 15:40 rand-64
-rw-r--r-- 1 alain alain 67109376 Mar 7 15:40 rand-64.cpio
-rw-r--r-- 1 alain alain 73400320 Mar 7 15:40 rand-70
-rw-r--r-- 1 alain alain 73400832 Mar 7 15:40 rand-70.cpio
-rw-r--r-- 1 alain alain 8388608 Mar 7 15:40 rand-8
-rw-r--r-- 1 alain alain 8389120 Mar 7 15:40 rand-8.cpio
-rw-r--r-- 1 alain alain 83886080 Mar 7 15:40 rand-80
-rw-r--r-- 1 alain alain 83886592 Mar 7 15:40 rand-80.cpio
-rw-r--r-- 1 alain alain 94371840 Mar 7 15:40 rand-90
-rw-r--r-- 1 alain alain 94372352 Mar 7 15:40 rand-90.cpio
alain@vultr1:~/swupdate/images$
I also tested the same above commands on my PC and got the exact same results.
So, both on my PC (Ubuntu 14.04 x64) and on a newly provisioned virtual server (Ubuntu 16.10 x64), it seems that cpio is the same version 2.11 and is behaving the same way with a checksum error when the file size is around 40MB.