summaryrefslogtreecommitdiff
path: root/docs/_locale/pt/LC_MESSAGES/contributing.mo
blob: 45d920c0b76244525d3c77b155f2ed3c0fd7a4af (plain)
ofshex dumpascii
0000 de 12 04 95 00 00 00 00 b2 01 00 00 1c 00 00 00 ac 0d 00 00 4b 02 00 00 3c 1b 00 00 00 00 00 00 ....................K...<.......
0020 68 24 00 00 77 00 00 00 69 24 00 00 03 00 00 00 e1 24 00 00 35 00 00 00 e5 24 00 00 1c 00 00 00 h$..w...i$.......$..5....$......
0040 1b 25 00 00 34 00 00 00 38 25 00 00 44 00 00 00 6d 25 00 00 44 00 00 00 b2 25 00 00 25 00 00 00 .%..4...8%..D...m%..D....%..%...
0060 f7 25 00 00 42 00 00 00 1d 26 00 00 21 00 00 00 60 26 00 00 15 00 00 00 82 26 00 00 25 00 00 00 .%..B....&..!...`&.......&..%...
0080 98 26 00 00 5b 00 00 00 be 26 00 00 1e 00 00 00 1a 27 00 00 50 00 00 00 39 27 00 00 87 00 00 00 .&..[....&.......'..P...9'......
00a0 8a 27 00 00 9c 00 00 00 12 28 00 00 3b 01 00 00 af 28 00 00 33 00 00 00 eb 29 00 00 09 00 00 00 .'.......(..;....(..3....)......
00c0 1f 2a 00 00 55 00 00 00 29 2a 00 00 5f 00 00 00 7f 2a 00 00 1c 00 00 00 df 2a 00 00 07 00 00 00 .*..U...)*.._....*.......*......
00e0 fc 2a 00 00 64 00 00 00 04 2b 00 00 e7 00 00 00 69 2b 00 00 8b 00 00 00 51 2c 00 00 75 00 00 00 .*..d....+......i+......Q,..u...
0100 dd 2c 00 00 47 00 00 00 53 2d 00 00 39 01 00 00 9b 2d 00 00 cd 00 00 00 d5 2e 00 00 22 00 00 00 .,..G...S-..9....-.........."...
0120 a3 2f 00 00 b8 00 00 00 c6 2f 00 00 0d 01 00 00 7f 30 00 00 a0 00 00 00 8d 31 00 00 92 00 00 00 ./......./.......0.......1......
0140 2e 32 00 00 f4 00 00 00 c1 32 00 00 7b 00 00 00 b6 33 00 00 ab 00 00 00 32 34 00 00 85 00 00 00 .2.......2..{....3......24......
0160 de 34 00 00 20 00 00 00 64 35 00 00 1f 00 00 00 85 35 00 00 1e 00 00 00 a5 35 00 00 21 00 00 00 .4......d5.......5.......5..!...
0180 c4 35 00 00 1d 00 00 00 e6 35 00 00 1d 00 00 00 04 36 00 00 11 00 00 00 22 36 00 00 11 00 00 00 .5.......5.......6......"6......
01a0 34 36 00 00 5f 00 00 00 46 36 00 00 7f 01 00 00 a6 36 00 00 0b 00 00 00 26 38 00 00 10 00 00 00 46.._...F6.......6......&8......
01c0 32 38 00 00 05 00 00 00 43 38 00 00 0f 00 00 00 49 38 00 00 09 00 00 00 59 38 00 00 0a 00 00 00 28......C8......I8......Y8......
01e0 63 38 00 00 11 00 00 00 6e 38 00 00 1c 00 00 00 80 38 00 00 13 00 00 00 9d 38 00 00 74 00 00 00 c8......n8.......8.......8..t...
0200 b1 38 00 00 2d 01 00 00 26 39 00 00 66 01 00 00 54 3a 00 00 a7 00 00 00 bb 3b 00 00 d9 00 00 00 .8..-...&9..f...T:.......;......
0220 63 3c 00 00 8f 01 00 00 3d 3d 00 00 10 00 00 00 cd 3e 00 00 1e 00 00 00 de 3e 00 00 72 00 00 00 c<......==.......>.......>..r...
0240 fd 3e 00 00 3f 00 00 00 70 3f 00 00 3a 00 00 00 b0 3f 00 00 11 00 00 00 eb 3f 00 00 d7 00 00 00 .>..?...p?..:....?.......?......
0260 fd 3f 00 00 95 00 00 00 d5 40 00 00 11 00 00 00 6b 41 00 00 18 00 00 00 7d 41 00 00 22 00 00 00 .?.......@......kA......}A.."...
0280 96 41 00 00 2c 00 00 00 b9 41 00 00 53 00 00 00 e6 41 00 00 16 00 00 00 3a 42 00 00 09 00 00 00 .A..,....A..S....A......:B......
02a0 51 42 00 00 28 00 00 00 5b 42 00 00 74 00 00 00 84 42 00 00 fa 00 00 00 f9 42 00 00 26 00 00 00 QB..(...[B..t....B.......B..&...
02c0 f4 43 00 00 68 00 00 00 1b 44 00 00 26 00 00 00 84 44 00 00 49 00 00 00 ab 44 00 00 25 00 00 00 .C..h....D..&....D..I....D..%...
02e0 f5 44 00 00 21 00 00 00 1b 45 00 00 1b 01 00 00 3d 45 00 00 09 00 00 00 59 46 00 00 1e 00 00 00 .D..!....E......=E......YF......
0300 63 46 00 00 0b 00 00 00 82 46 00 00 1a 00 00 00 8e 46 00 00 0b 00 00 00 a9 46 00 00 50 00 00 00 cF.......F.......F.......F..P...
0320 b5 46 00 00 06 00 00 00 06 47 00 00 09 00 00 00 0d 47 00 00 c0 00 00 00 17 47 00 00 65 00 00 00 .F.......G.......G.......G..e...
0340 d8 47 00 00 50 00 00 00 3e 48 00 00 28 01 00 00 8f 48 00 00 14 01 00 00 b8 49 00 00 8b 00 00 00 .G..P...>H..(....H.......I......
0360 cd 4a 00 00 10 00 00 00 59 4b 00 00 22 00 00 00 6a 4b 00 00 fc 00 00 00 8d 4b 00 00 08 00 00 00 .J......YK.."...jK.......K......
0380 8a 4c 00 00 09 00 00 00 93 4c 00 00 9b 01 00 00 9d 4c 00 00 8f 00 00 00 39 4e 00 00 76 00 00 00 .L.......L.......L......9N..v...
03a0 c9 4e 00 00 03 00 00 00 40 4f 00 00 0f 00 00 00 44 4f 00 00 08 00 00 00 54 4f 00 00 4e 00 00 00 .N......@O......DO......TO..N...
03c0 5d 4f 00 00 fb 00 00 00 ac 4f 00 00 3b 00 00 00 a8 50 00 00 ae 00 00 00 e4 50 00 00 b2 00 00 00 ]O.......O..;....P.......P......
03e0 93 51 00 00 86 00 00 00 46 52 00 00 57 00 00 00 cd 52 00 00 b4 00 00 00 25 53 00 00 20 00 00 00 .Q......FR..W....R......%S......
0400 da 53 00 00 45 00 00 00 fb 53 00 00 74 01 00 00 41 54 00 00 0a 00 00 00 b6 55 00 00 10 00 00 00 .S..E....S..t...AT.......U......
0420 c1 55 00 00 2e 00 00 00 d2 55 00 00 0a 00 00 00 01 56 00 00 1f 00 00 00 0c 56 00 00 1e 00 00 00 .U.......U.......V.......V......
0440 2c 56 00 00 1e 00 00 00 4b 56 00 00 12 00 00 00 6a 56 00 00 44 00 00 00 7d 56 00 00 0a 00 00 00 ,V......KV......jV..D...}V......
0460 c2 56 00 00 0b 00 00 00 cd 56 00 00 9b 00 00 00 d9 56 00 00 22 00 00 00 75 57 00 00 23 00 00 00 .V.......V.......V.."...uW..#...
0480 98 57 00 00 1e 00 00 00 bc 57 00 00 25 00 00 00 db 57 00 00 13 00 00 00 01 58 00 00 10 00 00 00 .W.......W..%....W.......X......
04a0 15 58 00 00 0f 00 00 00 26 58 00 00 b7 00 00 00 36 58 00 00 fb 00 00 00 ee 58 00 00 9f 00 00 00 .X......&X......6X.......X......
04c0 ea 59 00 00 8e 00 00 00 8a 5a 00 00 9a 00 00 00 19 5b 00 00 11 01 00 00 b4 5b 00 00 77 00 00 00 .Y.......Z.......[.......[..w...
04e0 c6 5c 00 00 f1 00 00 00 3e 5d 00 00 e4 00 00 00 30 5e 00 00 08 01 00 00 15 5f 00 00 11 01 00 00 .\......>]......0^......._......
0500 1e 60 00 00 0a 01 00 00 30 61 00 00 76 00 00 00 3b 62 00 00 0e 00 00 00 b2 62 00 00 23 01 00 00 .`......0a..v...;b.......b..#...
0520 c1 62 00 00 07 00 00 00 e5 63 00 00 27 00 00 00 ed 63 00 00 25 00 00 00 15 64 00 00 7d 00 00 00 .b.......c..'....c..%....d..}...
0540 3b 64 00 00 09 00 00 00 b9 64 00 00 11 00 00 00 c3 64 00 00 09 00 00 00 d5 64 00 00 09 00 00 00 ;d.......d.......d.......d......
0560 df 64 00 00 15 00 00 00 e9 64 00 00 4b 00 00 00 ff 64 00 00 17 00 00 00 4b 65 00 00 8a 00 00 00 .d.......d..K....d......Ke......
0580 63 65 00 00 8a 00 00 00 ee 65 00 00 0a 00 00 00 79 66 00 00 2a 00 00 00 84 66 00 00 61 00 00 00 ce.......e......yf..*....f..a...
05a0 af 66 00 00 77 00 00 00 11 67 00 00 06 00 00 00 89 67 00 00 29 00 00 00 90 67 00 00 39 00 00 00 .f..w....g.......g..)....g..9...
05c0 ba 67 00 00 fb 00 00 00 f4 67 00 00 9b 00 00 00 f0 68 00 00 5a 01 00 00 8c 69 00 00 07 00 00 00 .g.......g.......h..Z....i......
05e0 e7 6a 00 00 0c 00 00 00 ef 6a 00 00 0b 00 00 00 fc 6a 00 00 08 00 00 00 08 6b 00 00 72 00 00 00 .j.......j.......j.......k..r...
0600 11 6b 00 00 14 00 00 00 84 6b 00 00 17 00 00 00 99 6b 00 00 74 00 00 00 b1 6b 00 00 11 00 00 00 .k.......k.......k..t....k......
0620 26 6c 00 00 1e 00 00 00 38 6c 00 00 0c 00 00 00 57 6c 00 00 0a 00 00 00 64 6c 00 00 21 00 00 00 &l......8l......Wl......dl..!...
0640 6f 6c 00 00 17 00 00 00 91 6c 00 00 20 00 00 00 a9 6c 00 00 27 00 00 00 ca 6c 00 00 04 00 00 00 ol.......l.......l..'....l......
0660 f2 6c 00 00 05 00 00 00 f7 6c 00 00 66 00 00 00 fd 6c 00 00 d9 00 00 00 64 6d 00 00 6e 00 00 00 .l.......l..f....l......dm..n...
0680 3e 6e 00 00 2d 01 00 00 ad 6e 00 00 8e 00 00 00 db 6f 00 00 12 00 00 00 6a 70 00 00 9a 00 00 00 >n..-....n.......o......jp......
06a0 7d 70 00 00 70 00 00 00 18 71 00 00 69 00 00 00 89 71 00 00 7a 00 00 00 f3 71 00 00 37 01 00 00 }p..p....q..i....q..z....q..7...
06c0 6e 72 00 00 38 01 00 00 a6 73 00 00 1d 00 00 00 df 74 00 00 2b 01 00 00 fd 74 00 00 2f 00 00 00 nr..8....s.......t..+....t../...
06e0 29 76 00 00 fe 00 00 00 59 76 00 00 43 02 00 00 58 77 00 00 d5 00 00 00 9c 79 00 00 fe 00 00 00 )v......Yv..C...Xw.......y......
0700 72 7a 00 00 08 00 00 00 71 7b 00 00 cb 00 00 00 7a 7b 00 00 1f 00 00 00 46 7c 00 00 66 00 00 00 rz......q{......z{......F|..f...
0720 66 7c 00 00 9d 00 00 00 cd 7c 00 00 a0 00 00 00 6b 7d 00 00 10 00 00 00 0c 7e 00 00 0c 00 00 00 f|.......|......k}.......~......
0740 1d 7e 00 00 12 00 00 00 2a 7e 00 00 14 00 00 00 3d 7e 00 00 2b 00 00 00 52 7e 00 00 0d 00 00 00 .~......*~......=~..+...R~......
0760 7e 7e 00 00 0a 00 00 00 8c 7e 00 00 26 00 00 00 97 7e 00 00 06 00 00 00 be 7e 00 00 d2 00 00 00 ~~.......~..&....~.......~......
0780 c5 7e 00 00 95 00 00 00 98 7f 00 00 4e 00 00 00 2e 80 00 00 04 00 00 00 7d 80 00 00 6b 00 00 00 .~..........N...........}...k...
07a0 82 80 00 00 c9 00 00 00 ee 80 00 00 0c 00 00 00 b8 81 00 00 37 00 00 00 c5 81 00 00 38 00 00 00 ....................7.......8...
07c0 fd 81 00 00 41 00 00 00 36 82 00 00 9d 00 00 00 78 82 00 00 0a 00 00 00 16 83 00 00 93 00 00 00 ....A...6.......x...............
07e0 21 83 00 00 9a 00 00 00 b5 83 00 00 b4 01 00 00 50 84 00 00 04 01 00 00 05 86 00 00 51 01 00 00 !...............P...........Q...
0800 0a 87 00 00 85 00 00 00 5c 88 00 00 10 00 00 00 e2 88 00 00 24 01 00 00 f3 88 00 00 0e 00 00 00 ........\...........$...........
0820 18 8a 00 00 41 00 00 00 27 8a 00 00 07 00 00 00 69 8a 00 00 fd 00 00 00 71 8a 00 00 0e 00 00 00 ....A...'.......i.......q.......
0840 6f 8b 00 00 32 01 00 00 7e 8b 00 00 07 00 00 00 b1 8c 00 00 0f 00 00 00 b9 8c 00 00 f7 00 00 00 o...2...~.......................
0860 c9 8c 00 00 7d 00 00 00 c1 8d 00 00 9f 00 00 00 3f 8e 00 00 40 01 00 00 df 8e 00 00 47 00 00 00 ....}...........?...@.......G...
0880 20 90 00 00 ab 01 00 00 68 90 00 00 d2 02 00 00 14 92 00 00 49 00 00 00 e7 94 00 00 11 02 00 00 ........h...........I...........
08a0 31 95 00 00 97 00 00 00 43 97 00 00 3b 02 00 00 db 97 00 00 96 01 00 00 17 9a 00 00 18 01 00 00 1.......C...;...................
08c0 ae 9b 00 00 02 01 00 00 c7 9c 00 00 35 00 00 00 ca 9d 00 00 54 01 00 00 00 9e 00 00 38 00 00 00 ............5.......T.......8...
08e0 55 9f 00 00 a7 00 00 00 8e 9f 00 00 f8 00 00 00 36 a0 00 00 8d 00 00 00 2f a1 00 00 77 00 00 00 U...............6......./...w...
0900 bd a1 00 00 4c 00 00 00 35 a2 00 00 8e 00 00 00 82 a2 00 00 00 02 00 00 11 a3 00 00 26 00 00 00 ....L...5...................&...
0920 12 a5 00 00 a0 00 00 00 39 a5 00 00 22 00 00 00 da a5 00 00 3b 00 00 00 fd a5 00 00 26 01 00 00 ........9...".......;.......&...
0940 39 a6 00 00 78 01 00 00 60 a7 00 00 24 00 00 00 d9 a8 00 00 15 01 00 00 fe a8 00 00 5d 00 00 00 9...x...`...$...............]...
0960 14 aa 00 00 7f 00 00 00 72 aa 00 00 62 00 00 00 f2 aa 00 00 38 00 00 00 55 ab 00 00 3d 00 00 00 ........r...b.......8...U...=...
0980 8e ab 00 00 a0 00 00 00 cc ab 00 00 b4 00 00 00 6d ac 00 00 10 01 00 00 22 ad 00 00 2c 00 00 00 ................m......."...,...
09a0 33 ae 00 00 19 01 00 00 60 ae 00 00 b6 00 00 00 7a af 00 00 97 00 00 00 31 b0 00 00 46 00 00 00 3.......`.......z.......1...F...
09c0 c9 b0 00 00 f6 00 00 00 10 b1 00 00 07 01 00 00 07 b2 00 00 bf 00 00 00 0f b3 00 00 68 00 00 00 ............................h...
09e0 cf b3 00 00 6e 00 00 00 38 b4 00 00 dd 00 00 00 a7 b4 00 00 a6 00 00 00 85 b5 00 00 a3 00 00 00 ....n...8.......................
0a00 2c b6 00 00 60 00 00 00 d0 b6 00 00 23 00 00 00 31 b7 00 00 0f 00 00 00 55 b7 00 00 a1 00 00 00 ,...`.......#...1.......U.......
0a20 65 b7 00 00 71 00 00 00 07 b8 00 00 5f 01 00 00 79 b8 00 00 b8 00 00 00 d9 b9 00 00 d2 00 00 00 e...q......._...y...............
0a40 92 ba 00 00 83 00 00 00 65 bb 00 00 3d 00 00 00 e9 bb 00 00 6c 00 00 00 27 bc 00 00 60 01 00 00 ........e...=.......l...'...`...
0a60 94 bc 00 00 37 00 00 00 f5 bd 00 00 35 00 00 00 2d be 00 00 a5 00 00 00 63 be 00 00 0f 00 00 00 ....7.......5...-.......c.......
0a80 09 bf 00 00 0a 02 00 00 19 bf 00 00 11 00 00 00 24 c1 00 00 21 00 00 00 36 c1 00 00 0e 00 00 00 ................$...!...6.......
0aa0 58 c1 00 00 d5 00 00 00 67 c1 00 00 0c 00 00 00 3d c2 00 00 09 00 00 00 4a c2 00 00 14 00 00 00 X.......g.......=.......J.......
0ac0 54 c2 00 00 17 00 00 00 69 c2 00 00 1f 00 00 00 81 c2 00 00 06 00 00 00 a1 c2 00 00 3f 00 00 00 T.......i...................?...
0ae0 a8 c2 00 00 47 00 00 00 e8 c2 00 00 18 00 00 00 30 c3 00 00 67 01 00 00 49 c3 00 00 af 00 00 00 ....G...........0...g...I.......
0b00 b1 c4 00 00 09 01 00 00 61 c5 00 00 dd 00 00 00 6b c6 00 00 6d 00 00 00 49 c7 00 00 c8 00 00 00 ........a.......k...m...I.......
0b20 b7 c7 00 00 8b 00 00 00 80 c8 00 00 38 00 00 00 0c c9 00 00 db 00 00 00 45 c9 00 00 47 00 00 00 ............8...........E...G...
0b40 21 ca 00 00 2f 00 00 00 69 ca 00 00 24 00 00 00 99 ca 00 00 64 00 00 00 be ca 00 00 b5 00 00 00 !.../...i...$.......d...........
0b60 23 cb 00 00 81 00 00 00 d9 cb 00 00 58 00 00 00 5b cc 00 00 88 00 00 00 b4 cc 00 00 a4 00 00 00 #...........X...[...............
0b80 3d cd 00 00 94 00 00 00 e2 cd 00 00 9f 01 00 00 77 ce 00 00 73 00 00 00 17 d0 00 00 47 01 00 00 =...............w...s.......G...
0ba0 8b d0 00 00 39 00 00 00 d3 d1 00 00 09 00 00 00 0d d2 00 00 1c 00 00 00 17 d2 00 00 1e 00 00 00 ....9...........................
0bc0 34 d2 00 00 ba 00 00 00 53 d2 00 00 14 01 00 00 0e d3 00 00 4b 00 00 00 23 d4 00 00 9e 00 00 00 4.......S...........K...#.......
0be0 6f d4 00 00 b4 00 00 00 0e d5 00 00 81 00 00 00 c3 d5 00 00 5d 01 00 00 45 d6 00 00 b1 00 00 00 o...................]...E.......
0c00 a3 d7 00 00 b2 00 00 00 55 d8 00 00 78 00 00 00 08 d9 00 00 59 00 00 00 81 d9 00 00 19 01 00 00 ........U...x.......Y...........
0c20 db d9 00 00 22 00 00 00 f5 da 00 00 2d 00 00 00 18 db 00 00 20 00 00 00 46 db 00 00 19 00 00 00 ....".......-...........F.......
0c40 67 db 00 00 18 00 00 00 81 db 00 00 3b 00 00 00 9a db 00 00 84 00 00 00 d6 db 00 00 0a 00 00 00 g...........;...................
0c60 5b dc 00 00 34 00 00 00 66 dc 00 00 ac 01 00 00 9b dc 00 00 85 00 00 00 48 de 00 00 d6 00 00 00 [...4...f...............H.......
0c80 ce de 00 00 07 00 00 00 a5 df 00 00 6c 00 00 00 ad df 00 00 b2 01 00 00 1a e0 00 00 72 01 00 00 ............l...............r...
0ca0 cd e1 00 00 26 00 00 00 40 e3 00 00 14 00 00 00 67 e3 00 00 06 00 00 00 7c e3 00 00 3d 00 00 00 ....&...@.......g.......|...=...
0cc0 83 e3 00 00 18 00 00 00 c1 e3 00 00 34 00 00 00 da e3 00 00 15 00 00 00 0f e4 00 00 16 00 00 00 ............4...................
0ce0 25 e4 00 00 12 00 00 00 3c e4 00 00 20 00 00 00 4f e4 00 00 08 00 00 00 70 e4 00 00 23 00 00 00 %.......<.......O.......p...#...
0d00 79 e4 00 00 1c 00 00 00 9d e4 00 00 0d 00 00 00 ba e4 00 00 59 00 00 00 c8 e4 00 00 4f 00 00 00 y...................Y.......O...
0d20 22 e5 00 00 4e 00 00 00 72 e5 00 00 06 00 00 00 c1 e5 00 00 0a 00 00 00 c8 e5 00 00 0d 00 00 00 "...N...r.......................
0d40 d3 e5 00 00 06 00 00 00 e1 e5 00 00 0f 00 00 00 e8 e5 00 00 16 00 00 00 f8 e5 00 00 0d 00 00 00 ................................
0d60 0f e6 00 00 0a 00 00 00 1d e6 00 00 49 00 00 00 28 e6 00 00 31 00 00 00 72 e6 00 00 2a 00 00 00 ............I...(...1...r...*...
0d80 a4 e6 00 00 1b 00 00 00 cf e6 00 00 1a 00 00 00 eb e6 00 00 13 00 00 00 06 e7 00 00 1f 00 00 00 ................................
0da0 1a e7 00 00 0c 00 00 00 3a e7 00 00 e2 00 00 00 47 e7 00 00 77 00 00 00 2a e8 00 00 03 00 00 00 ........:.......G...w...*.......
0dc0 a2 e8 00 00 35 00 00 00 a6 e8 00 00 1c 00 00 00 dc e8 00 00 34 00 00 00 f9 e8 00 00 44 00 00 00 ....5...............4.......D...
0de0 2e e9 00 00 44 00 00 00 73 e9 00 00 25 00 00 00 b8 e9 00 00 42 00 00 00 de e9 00 00 21 00 00 00 ....D...s...%.......B.......!...
0e00 21 ea 00 00 15 00 00 00 43 ea 00 00 25 00 00 00 59 ea 00 00 5b 00 00 00 7f ea 00 00 1e 00 00 00 !.......C...%...Y...[...........
0e20 db ea 00 00 50 00 00 00 fa ea 00 00 87 00 00 00 4b eb 00 00 9c 00 00 00 d3 eb 00 00 3b 01 00 00 ....P...........K...........;...
0e40 70 ec 00 00 33 00 00 00 ac ed 00 00 09 00 00 00 e0 ed 00 00 55 00 00 00 ea ed 00 00 5f 00 00 00 p...3...............U......._...
0e60 40 ee 00 00 1c 00 00 00 a0 ee 00 00 07 00 00 00 bd ee 00 00 64 00 00 00 c5 ee 00 00 e7 00 00 00 @...................d...........
0e80 2a ef 00 00 8b 00 00 00 12 f0 00 00 75 00 00 00 9e f0 00 00 47 00 00 00 14 f1 00 00 39 01 00 00 *...........u.......G.......9...
0ea0 5c f1 00 00 cd 00 00 00 96 f2 00 00 22 00 00 00 64 f3 00 00 b8 00 00 00 87 f3 00 00 0d 01 00 00 \..........."...d...............
0ec0 40 f4 00 00 a0 00 00 00 4e f5 00 00 92 00 00 00 ef f5 00 00 f4 00 00 00 82 f6 00 00 7b 00 00 00 @.......N...................{...
0ee0 77 f7 00 00 ab 00 00 00 f3 f7 00 00 85 00 00 00 9f f8 00 00 20 00 00 00 25 f9 00 00 1f 00 00 00 w.......................%.......
0f00 46 f9 00 00 1e 00 00 00 66 f9 00 00 21 00 00 00 85 f9 00 00 1d 00 00 00 a7 f9 00 00 1d 00 00 00 F.......f...!...................
0f20 c5 f9 00 00 11 00 00 00 e3 f9 00 00 11 00 00 00 f5 f9 00 00 5f 00 00 00 07 fa 00 00 7f 01 00 00 ...................._...........
0f40 67 fa 00 00 0b 00 00 00 e7 fb 00 00 10 00 00 00 f3 fb 00 00 05 00 00 00 04 fc 00 00 0f 00 00 00 g...............................
0f60 0a fc 00 00 09 00 00 00 1a fc 00 00 0a 00 00 00 24 fc 00 00 11 00 00 00 2f fc 00 00 1c 00 00 00 ................$......./.......
0f80 41 fc 00 00 13 00 00 00 5e fc 00 00 74 00 00 00 72 fc 00 00 2d 01 00 00 e7 fc 00 00 66 01 00 00 A.......^...t...r...-.......f...
0fa0 15 fe 00 00 a7 00 00 00 7c ff 00 00 d9 00 00 00 24 00 01 00 8f 01 00 00 fe 00 01 00 10 00 00 00 ........|.......$...............
0fc0 8e 02 01 00 1e 00 00 00 9f 02 01 00 72 00 00 00 be 02 01 00 3f 00 00 00 31 03 01 00 3a 00 00 00 ............r.......?...1...:...
0fe0 71 03 01 00 11 00 00 00 ac 03 01 00 d7 00 00 00 be 03 01 00 95 00 00 00 96 04 01 00 11 00 00 00 q...............................
1000 2c 05 01 00 18 00 00 00 3e 05 01 00 22 00 00 00 57 05 01 00 2c 00 00 00 7a 05 01 00 53 00 00 00 ,.......>..."...W...,...z...S...
1020 a7 05 01 00 16 00 00 00 fb 05 01 00 09 00 00 00 12 06 01 00 28 00 00 00 1c 06 01 00 74 00 00 00 ....................(.......t...
1040 45 06 01 00 fa 00 00 00 ba 06 01 00 26 00 00 00 b5 07 01 00 68 00 00 00 dc 07 01 00 26 00 00 00 E...........&.......h.......&...
1060 45 08 01 00 49 00 00 00 6c 08 01 00 25 00 00 00 b6 08 01 00 21 00 00 00 dc 08 01 00 1b 01 00 00 E...I...l...%.......!...........
1080 fe 08 01 00 09 00 00 00 1a 0a 01 00 1e 00 00 00 24 0a 01 00 0b 00 00 00 43 0a 01 00 1a 00 00 00 ................$.......C.......
10a0 4f 0a 01 00 0b 00 00 00 6a 0a 01 00 50 00 00 00 76 0a 01 00 06 00 00 00 c7 0a 01 00 09 00 00 00 O.......j...P...v...............
10c0 ce 0a 01 00 c0 00 00 00 d8 0a 01 00 65 00 00 00 99 0b 01 00 50 00 00 00 ff 0b 01 00 28 01 00 00 ............e.......P.......(...
10e0 50 0c 01 00 14 01 00 00 79 0d 01 00 8b 00 00 00 8e 0e 01 00 10 00 00 00 1a 0f 01 00 22 00 00 00 P.......y..................."...
1100 2b 0f 01 00 fc 00 00 00 4e 0f 01 00 08 00 00 00 4b 10 01 00 09 00 00 00 54 10 01 00 9b 01 00 00 +.......N.......K.......T.......
1120 5e 10 01 00 8f 00 00 00 fa 11 01 00 76 00 00 00 8a 12 01 00 03 00 00 00 01 13 01 00 0f 00 00 00 ^...........v...................
1140 05 13 01 00 08 00 00 00 15 13 01 00 4e 00 00 00 1e 13 01 00 fb 00 00 00 6d 13 01 00 3b 00 00 00 ............N...........m...;...
1160 69 14 01 00 ae 00 00 00 a5 14 01 00 b2 00 00 00 54 15 01 00 86 00 00 00 07 16 01 00 57 00 00 00 i...............T...........W...
1180 8e 16 01 00 b4 00 00 00 e6 16 01 00 20 00 00 00 9b 17 01 00 45 00 00 00 bc 17 01 00 74 01 00 00 ....................E.......t...
11a0 02 18 01 00 0a 00 00 00 77 19 01 00 10 00 00 00 82 19 01 00 2e 00 00 00 93 19 01 00 0a 00 00 00 ........w.......................
11c0 c2 19 01 00 1f 00 00 00 cd 19 01 00 1e 00 00 00 ed 19 01 00 1e 00 00 00 0c 1a 01 00 12 00 00 00 ................................
11e0 2b 1a 01 00 44 00 00 00 3e 1a 01 00 0a 00 00 00 83 1a 01 00 0b 00 00 00 8e 1a 01 00 9b 00 00 00 +...D...>.......................
1200 9a 1a 01 00 22 00 00 00 36 1b 01 00 23 00 00 00 59 1b 01 00 1e 00 00 00 7d 1b 01 00 25 00 00 00 ...."...6...#...Y.......}...%...
1220 9c 1b 01 00 13 00 00 00 c2 1b 01 00 10 00 00 00 d6 1b 01 00 0f 00 00 00 e7 1b 01 00 b7 00 00 00 ................................
1240 f7 1b 01 00 fb 00 00 00 af 1c 01 00 9f 00 00 00 ab 1d 01 00 8e 00 00 00 4b 1e 01 00 9a 00 00 00 ........................K.......
1260 da 1e 01 00 11 01 00 00 75 1f 01 00 77 00 00 00 87 20 01 00 f1 00 00 00 ff 20 01 00 e4 00 00 00 ........u...w...................
1280 f1 21 01 00 08 01 00 00 d6 22 01 00 11 01 00 00 df 23 01 00 0a 01 00 00 f1 24 01 00 76 00 00 00 .!.......".......#.......$..v...
12a0 fc 25 01 00 0e 00 00 00 73 26 01 00 23 01 00 00 82 26 01 00 07 00 00 00 a6 27 01 00 27 00 00 00 .%......s&..#....&.......'..'...
12c0 ae 27 01 00 25 00 00 00 d6 27 01 00 7d 00 00 00 fc 27 01 00 09 00 00 00 7a 28 01 00 11 00 00 00 .'..%....'..}....'......z(......
12e0 84 28 01 00 09 00 00 00 96 28 01 00 09 00 00 00 a0 28 01 00 15 00 00 00 aa 28 01 00 4b 00 00 00 .(.......(.......(.......(..K...
1300 c0 28 01 00 17 00 00 00 0c 29 01 00 8a 00 00 00 24 29 01 00 8a 00 00 00 af 29 01 00 0a 00 00 00 .(.......)......$).......)......
1320 3a 2a 01 00 2a 00 00 00 45 2a 01 00 61 00 00 00 70 2a 01 00 77 00 00 00 d2 2a 01 00 06 00 00 00 :*..*...E*..a...p*..w....*......
1340 4a 2b 01 00 29 00 00 00 51 2b 01 00 39 00 00 00 7b 2b 01 00 fb 00 00 00 b5 2b 01 00 9b 00 00 00 J+..)...Q+..9...{+.......+......
1360 b1 2c 01 00 5a 01 00 00 4d 2d 01 00 07 00 00 00 a8 2e 01 00 0c 00 00 00 b0 2e 01 00 0b 00 00 00 .,..Z...M-......................
1380 bd 2e 01 00 08 00 00 00 c9 2e 01 00 72 00 00 00 d2 2e 01 00 14 00 00 00 45 2f 01 00 17 00 00 00 ............r...........E/......
13a0 5a 2f 01 00 74 00 00 00 72 2f 01 00 11 00 00 00 e7 2f 01 00 1e 00 00 00 f9 2f 01 00 0c 00 00 00 Z/..t...r/......./......./......
13c0 18 30 01 00 0a 00 00 00 25 30 01 00 21 00 00 00 30 30 01 00 17 00 00 00 52 30 01 00 20 00 00 00 .0......%0..!...00......R0......
13e0 6a 30 01 00 27 00 00 00 8b 30 01 00 04 00 00 00 b3 30 01 00 05 00 00 00 b8 30 01 00 66 00 00 00 j0..'....0.......0.......0..f...
1400 be 30 01 00 d9 00 00 00 25 31 01 00 6e 00 00 00 ff 31 01 00 2d 01 00 00 6e 32 01 00 8e 00 00 00 .0......%1..n....1..-...n2......
1420 9c 33 01 00 12 00 00 00 2b 34 01 00 9a 00 00 00 3e 34 01 00 70 00 00 00 d9 34 01 00 69 00 00 00 .3......+4......>4..p....4..i...
1440 4a 35 01 00 7a 00 00 00 b4 35 01 00 37 01 00 00 2f 36 01 00 38 01 00 00 67 37 01 00 1d 00 00 00 J5..z....5..7.../6..8...g7......
1460 a0 38 01 00 2b 01 00 00 be 38 01 00 2f 00 00 00 ea 39 01 00 fe 00 00 00 1a 3a 01 00 43 02 00 00 .8..+....8../....9.......:..C...
1480 19 3b 01 00 d5 00 00 00 5d 3d 01 00 fe 00 00 00 33 3e 01 00 08 00 00 00 32 3f 01 00 cb 00 00 00 .;......]=......3>......2?......
14a0 3b 3f 01 00 1f 00 00 00 07 40 01 00 66 00 00 00 27 40 01 00 9d 00 00 00 8e 40 01 00 a0 00 00 00 ;?.......@..f...'@.......@......
14c0 2c 41 01 00 10 00 00 00 cd 41 01 00 0c 00 00 00 de 41 01 00 12 00 00 00 eb 41 01 00 14 00 00 00 ,A.......A.......A.......A......
14e0 fe 41 01 00 2b 00 00 00 13 42 01 00 0d 00 00 00 3f 42 01 00 0a 00 00 00 4d 42 01 00 26 00 00 00 .A..+....B......?B......MB..&...
1500 58 42 01 00 06 00 00 00 7f 42 01 00 d2 00 00 00 86 42 01 00 95 00 00 00 59 43 01 00 4e 00 00 00 XB.......B.......B......YC..N...
1520 ef 43 01 00 04 00 00 00 3e 44 01 00 6b 00 00 00 43 44 01 00 c9 00 00 00 af 44 01 00 0c 00 00 00 .C......>D..k...CD.......D......
1540 79 45 01 00 37 00 00 00 86 45 01 00 38 00 00 00 be 45 01 00 41 00 00 00 f7 45 01 00 9d 00 00 00 yE..7....E..8....E..A....E......
1560 39 46 01 00 0a 00 00 00 d7 46 01 00 93 00 00 00 e2 46 01 00 9a 00 00 00 76 47 01 00 b4 01 00 00 9F.......F.......F......vG......
1580 11 48 01 00 04 01 00 00 c6 49 01 00 51 01 00 00 cb 4a 01 00 85 00 00 00 1d 4c 01 00 10 00 00 00 .H.......I..Q....J.......L......
15a0 a3 4c 01 00 24 01 00 00 b4 4c 01 00 0e 00 00 00 d9 4d 01 00 41 00 00 00 e8 4d 01 00 07 00 00 00 .L..$....L.......M..A....M......
15c0 2a 4e 01 00 fd 00 00 00 32 4e 01 00 0e 00 00 00 30 4f 01 00 32 01 00 00 3f 4f 01 00 07 00 00 00 *N......2N......0O..2...?O......
15e0 72 50 01 00 0f 00 00 00 7a 50 01 00 f7 00 00 00 8a 50 01 00 7d 00 00 00 82 51 01 00 9f 00 00 00 rP......zP.......P..}....Q......
1600 00 52 01 00 40 01 00 00 a0 52 01 00 47 00 00 00 e1 53 01 00 ab 01 00 00 29 54 01 00 d2 02 00 00 .R..@....R..G....S......)T......
1620 d5 55 01 00 49 00 00 00 a8 58 01 00 11 02 00 00 f2 58 01 00 97 00 00 00 04 5b 01 00 3b 02 00 00 .U..I....X.......X.......[..;...
1640 9c 5b 01 00 96 01 00 00 d8 5d 01 00 18 01 00 00 6f 5f 01 00 02 01 00 00 88 60 01 00 35 00 00 00 .[.......]......o_.......`..5...
1660 8b 61 01 00 54 01 00 00 c1 61 01 00 38 00 00 00 16 63 01 00 a7 00 00 00 4f 63 01 00 f8 00 00 00 .a..T....a..8....c......Oc......
1680 f7 63 01 00 8d 00 00 00 f0 64 01 00 77 00 00 00 7e 65 01 00 4c 00 00 00 f6 65 01 00 8e 00 00 00 .c.......d..w...~e..L....e......
16a0 43 66 01 00 00 02 00 00 d2 66 01 00 26 00 00 00 d3 68 01 00 a0 00 00 00 fa 68 01 00 22 00 00 00 Cf.......f..&....h.......h.."...
16c0 9b 69 01 00 3b 00 00 00 be 69 01 00 26 01 00 00 fa 69 01 00 78 01 00 00 21 6b 01 00 24 00 00 00 .i..;....i..&....i..x...!k..$...
16e0 9a 6c 01 00 15 01 00 00 bf 6c 01 00 5d 00 00 00 d5 6d 01 00 7f 00 00 00 33 6e 01 00 62 00 00 00 .l.......l..]....m......3n..b...
1700 b3 6e 01 00 38 00 00 00 16 6f 01 00 3d 00 00 00 4f 6f 01 00 a0 00 00 00 8d 6f 01 00 b4 00 00 00 .n..8....o..=...Oo.......o......
1720 2e 70 01 00 10 01 00 00 e3 70 01 00 2c 00 00 00 f4 71 01 00 19 01 00 00 21 72 01 00 b6 00 00 00 .p.......p..,....q......!r......
1740 3b 73 01 00 97 00 00 00 f2 73 01 00 46 00 00 00 8a 74 01 00 f6 00 00 00 d1 74 01 00 07 01 00 00 ;s.......s..F....t.......t......
1760 c8 75 01 00 bf 00 00 00 d0 76 01 00 68 00 00 00 90 77 01 00 6e 00 00 00 f9 77 01 00 dd 00 00 00 .u.......v..h....w..n....w......
1780 68 78 01 00 a6 00 00 00 46 79 01 00 a3 00 00 00 ed 79 01 00 60 00 00 00 91 7a 01 00 23 00 00 00 hx......Fy.......y..`....z..#...
17a0 f2 7a 01 00 0f 00 00 00 16 7b 01 00 a1 00 00 00 26 7b 01 00 71 00 00 00 c8 7b 01 00 5f 01 00 00 .z.......{......&{..q....{.._...
17c0 3a 7c 01 00 b8 00 00 00 9a 7d 01 00 d2 00 00 00 53 7e 01 00 83 00 00 00 26 7f 01 00 3d 00 00 00 :|.......}......S~......&...=...
17e0 aa 7f 01 00 6c 00 00 00 e8 7f 01 00 60 01 00 00 55 80 01 00 37 00 00 00 b6 81 01 00 35 00 00 00 ....l.......`...U...7.......5...
1800 ee 81 01 00 a5 00 00 00 24 82 01 00 0f 00 00 00 ca 82 01 00 0a 02 00 00 da 82 01 00 11 00 00 00 ........$.......................
1820 e5 84 01 00 21 00 00 00 f7 84 01 00 0e 00 00 00 19 85 01 00 d5 00 00 00 28 85 01 00 0c 00 00 00 ....!...................(.......
1840 fe 85 01 00 09 00 00 00 0b 86 01 00 14 00 00 00 15 86 01 00 17 00 00 00 2a 86 01 00 1f 00 00 00 ........................*.......
1860 42 86 01 00 06 00 00 00 62 86 01 00 3f 00 00 00 69 86 01 00 47 00 00 00 a9 86 01 00 18 00 00 00 B.......b...?...i...G...........
1880 f1 86 01 00 67 01 00 00 0a 87 01 00 af 00 00 00 72 88 01 00 09 01 00 00 22 89 01 00 dd 00 00 00 ....g...........r.......".......
18a0 2c 8a 01 00 6d 00 00 00 0a 8b 01 00 c8 00 00 00 78 8b 01 00 8b 00 00 00 41 8c 01 00 38 00 00 00 ,...m...........x.......A...8...
18c0 cd 8c 01 00 db 00 00 00 06 8d 01 00 47 00 00 00 e2 8d 01 00 2f 00 00 00 2a 8e 01 00 24 00 00 00 ............G......./...*...$...
18e0 5a 8e 01 00 64 00 00 00 7f 8e 01 00 b5 00 00 00 e4 8e 01 00 81 00 00 00 9a 8f 01 00 58 00 00 00 Z...d.......................X...
1900 1c 90 01 00 88 00 00 00 75 90 01 00 a4 00 00 00 fe 90 01 00 94 00 00 00 a3 91 01 00 9f 01 00 00 ........u.......................
1920 38 92 01 00 73 00 00 00 d8 93 01 00 47 01 00 00 4c 94 01 00 39 00 00 00 94 95 01 00 09 00 00 00 8...s.......G...L...9...........
1940 ce 95 01 00 1c 00 00 00 d8 95 01 00 1e 00 00 00 f5 95 01 00 ba 00 00 00 14 96 01 00 14 01 00 00 ................................
1960 cf 96 01 00 4b 00 00 00 e4 97 01 00 9e 00 00 00 30 98 01 00 b4 00 00 00 cf 98 01 00 81 00 00 00 ....K...........0...............
1980 84 99 01 00 5d 01 00 00 06 9a 01 00 b1 00 00 00 64 9b 01 00 b2 00 00 00 16 9c 01 00 78 00 00 00 ....]...........d...........x...
19a0 c9 9c 01 00 59 00 00 00 42 9d 01 00 19 01 00 00 9c 9d 01 00 22 00 00 00 b6 9e 01 00 2d 00 00 00 ....Y...B...........".......-...
19c0 d9 9e 01 00 20 00 00 00 07 9f 01 00 19 00 00 00 28 9f 01 00 18 00 00 00 42 9f 01 00 3b 00 00 00 ................(.......B...;...
19e0 5b 9f 01 00 84 00 00 00 97 9f 01 00 0a 00 00 00 1c a0 01 00 34 00 00 00 27 a0 01 00 ac 01 00 00 [...................4...'.......
1a00 5c a0 01 00 85 00 00 00 09 a2 01 00 d6 00 00 00 8f a2 01 00 07 00 00 00 66 a3 01 00 6c 00 00 00 \.......................f...l...
1a20 6e a3 01 00 b2 01 00 00 db a3 01 00 72 01 00 00 8e a5 01 00 26 00 00 00 01 a7 01 00 14 00 00 00 n...........r.......&...........
1a40 28 a7 01 00 06 00 00 00 3d a7 01 00 3d 00 00 00 44 a7 01 00 18 00 00 00 82 a7 01 00 34 00 00 00 (.......=...=...D...........4...
1a60 9b a7 01 00 15 00 00 00 d0 a7 01 00 16 00 00 00 e6 a7 01 00 12 00 00 00 fd a7 01 00 20 00 00 00 ................................
1a80 10 a8 01 00 08 00 00 00 31 a8 01 00 23 00 00 00 3a a8 01 00 1c 00 00 00 5e a8 01 00 0d 00 00 00 ........1...#...:.......^.......
1aa0 7b a8 01 00 59 00 00 00 89 a8 01 00 4f 00 00 00 e3 a8 01 00 4e 00 00 00 33 a9 01 00 06 00 00 00 {...Y.......O.......N...3.......
1ac0 82 a9 01 00 0a 00 00 00 89 a9 01 00 0d 00 00 00 94 a9 01 00 06 00 00 00 a2 a9 01 00 0f 00 00 00 ................................
1ae0 a9 a9 01 00 16 00 00 00 b9 a9 01 00 0d 00 00 00 d0 a9 01 00 0a 00 00 00 de a9 01 00 49 00 00 00 ............................I...
1b00 e9 a9 01 00 31 00 00 00 33 aa 01 00 2a 00 00 00 65 aa 01 00 1b 00 00 00 90 aa 01 00 1a 00 00 00 ....1...3...*...e...............
1b20 ac aa 01 00 13 00 00 00 c7 aa 01 00 1f 00 00 00 db aa 01 00 0c 00 00 00 fb aa 01 00 01 00 00 00 ................................
1b40 36 01 00 00 00 00 00 00 78 00 00 00 00 00 00 00 4b 01 00 00 3c 00 00 00 00 00 00 00 00 00 00 00 6.......x.......K...<...........
1b60 02 01 00 00 ae 00 00 00 7c 00 00 00 6a 01 00 00 9e 00 00 00 af 00 00 00 ad 01 00 00 a0 01 00 00 ........|...j...................
1b80 50 00 00 00 00 00 00 00 0e 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 77 00 00 00 00 00 00 00 P.......................w.......
1ba0 0b 01 00 00 6f 00 00 00 aa 01 00 00 95 01 00 00 00 00 00 00 8a 00 00 00 00 00 00 00 91 00 00 00 ....o...........................
1bc0 84 00 00 00 c4 00 00 00 00 00 00 00 69 00 00 00 00 00 00 00 00 00 00 00 4b 00 00 00 35 00 00 00 ............i...........K...5...
1be0 50 01 00 00 b5 00 00 00 b0 00 00 00 eb 00 00 00 00 00 00 00 3d 00 00 00 00 00 00 00 0d 01 00 00 P...................=...........
1c00 f9 00 00 00 58 01 00 00 59 00 00 00 00 00 00 00 00 00 00 00 14 01 00 00 4c 00 00 00 87 01 00 00 ....X...Y...............L.......
1c20 d9 00 00 00 24 00 00 00 38 01 00 00 30 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 e1 00 00 00 ....$...8...0...................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e2 00 00 00 e6 00 00 00 00 00 00 00 7d 01 00 00 ............................}...
1c60 53 01 00 00 33 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 1b 01 00 00 57 01 00 00 S...3...............:.......W...
1c80 8d 00 00 00 00 00 00 00 00 00 00 00 40 01 00 00 19 01 00 00 7e 01 00 00 00 00 00 00 41 00 00 00 ............@.......~.......A...
1ca0 61 01 00 00 44 01 00 00 6f 01 00 00 39 01 00 00 00 00 00 00 42 00 00 00 86 00 00 00 00 00 00 00 a...D...o...9.......B...........
1cc0 a1 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 9a 01 00 00 00 00 00 00 3f 01 00 00 8b 00 00 00 ........................?.......
1ce0 66 00 00 00 5a 01 00 00 80 01 00 00 2b 00 00 00 00 00 00 00 98 01 00 00 f7 00 00 00 2f 00 00 00 f...Z.......+.............../...
1d00 03 01 00 00 00 00 00 00 bd 00 00 00 fa 00 00 00 6b 00 00 00 1f 01 00 00 cb 00 00 00 82 01 00 00 ................k...............
1d20 45 00 00 00 00 00 00 00 66 01 00 00 83 00 00 00 7c 01 00 00 00 00 00 00 da 00 00 00 00 00 00 00 E.......f.......|...............
1d40 51 01 00 00 82 00 00 00 76 00 00 00 00 00 00 00 53 00 00 00 b6 00 00 00 00 00 00 00 85 01 00 00 Q.......v.......S...............
1d60 22 01 00 00 00 00 00 00 fd 00 00 00 2c 01 00 00 32 01 00 00 49 00 00 00 6d 00 00 00 81 00 00 00 "...........,...2...I...m.......
1d80 6e 00 00 00 2e 01 00 00 00 00 00 00 74 01 00 00 77 01 00 00 4f 00 00 00 00 00 00 00 5e 01 00 00 n...........t...w...O.......^...
1da0 5a 00 00 00 c8 00 00 00 72 01 00 00 97 00 00 00 00 00 00 00 57 00 00 00 f8 00 00 00 79 00 00 00 Z.......r...........W.......y...
1dc0 d8 00 00 00 00 00 00 00 87 00 00 00 3c 01 00 00 00 00 00 00 a3 01 00 00 24 01 00 00 34 01 00 00 ............<...........$...4...
1de0 fc 00 00 00 00 00 00 00 59 01 00 00 00 00 00 00 0f 01 00 00 b7 00 00 00 00 00 00 00 00 00 00 00 ........Y.......................
1e00 95 00 00 00 89 00 00 00 6e 01 00 00 00 00 00 00 06 01 00 00 a0 00 00 00 2f 01 00 00 4a 01 00 00 ........n.............../...J...
1e20 25 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 4c 01 00 00 60 00 00 00 %...................C...L...`...
1e40 56 01 00 00 a4 00 00 00 98 00 00 00 3e 00 00 00 00 00 00 00 ae 01 00 00 26 01 00 00 3b 01 00 00 V...........>...........&...;...
1e60 b9 00 00 00 23 00 00 00 75 00 00 00 1d 01 00 00 8b 01 00 00 89 01 00 00 a2 01 00 00 00 00 00 00 ....#...u.......................
1e80 55 01 00 00 00 00 00 00 71 01 00 00 00 00 00 00 47 01 00 00 00 00 00 00 3e 01 00 00 d7 00 00 00 U.......q.......G.......>.......
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 e5 00 00 00 dc 00 00 00 00 00 00 00 b8 00 00 00 bf 00 00 00 ................................
1ec0 2c 00 00 00 8a 01 00 00 00 00 00 00 9b 01 00 00 10 00 00 00 be 00 00 00 03 00 00 00 00 00 00 00 ,...............................
1ee0 47 00 00 00 00 00 00 00 7b 00 00 00 35 01 00 00 c6 00 00 00 21 01 00 00 22 00 00 00 94 00 00 00 G.......{...5.......!...".......
1f00 a4 01 00 00 d4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 61 00 00 00 9f 01 00 00 ........................a.......
1f20 75 01 00 00 56 00 00 00 ab 01 00 00 2b 01 00 00 9c 00 00 00 c3 00 00 00 5b 00 00 00 8d 01 00 00 u...V.......+...........[.......
1f40 86 01 00 00 90 01 00 00 c2 00 00 00 7e 00 00 00 a9 01 00 00 f6 00 00 00 18 01 00 00 00 00 00 00 ............~...................
1f60 00 00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 5c 00 00 00 a1 01 00 00 ac 01 00 00 4a 00 00 00 ................\...........J...
1f80 00 00 00 00 5d 01 00 00 55 00 00 00 d1 00 00 00 00 00 00 00 fb 00 00 00 00 00 00 00 1e 00 00 00 ....]...U.......................
1fa0 2a 01 00 00 84 01 00 00 2d 00 00 00 9d 01 00 00 67 01 00 00 ca 00 00 00 00 00 00 00 96 00 00 00 *.......-.......g...............
1fc0 00 00 00 00 00 00 00 00 bb 00 00 00 43 01 00 00 00 00 00 00 6c 00 00 00 d0 00 00 00 51 00 00 00 ............C.......l.......Q...
1fe0 8f 00 00 00 00 00 00 00 0d 00 00 00 27 00 00 00 e7 00 00 00 68 01 00 00 c5 00 00 00 09 01 00 00 ............'.......h...........
2000 99 01 00 00 00 00 00 00 99 00 00 00 f5 00 00 00 02 00 00 00 00 00 00 00 76 01 00 00 42 01 00 00 ........................v...B...
2020 d2 00 00 00 58 00 00 00 94 01 00 00 ad 00 00 00 a5 01 00 00 f0 00 00 00 2d 01 00 00 00 00 00 00 ....X...................-.......
2040 00 00 00 00 15 01 00 00 7f 01 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 ................................
2060 62 00 00 00 dd 00 00 00 ec 00 00 00 e4 00 00 00 d3 00 00 00 8c 01 00 00 df 00 00 00 cc 00 00 00 b...............................
2080 00 00 00 00 17 01 00 00 de 00 00 00 52 00 00 00 db 00 00 00 00 00 00 00 ff 00 00 00 1c 00 00 00 ............R...................
20a0 a2 00 00 00 c0 00 00 00 26 00 00 00 00 00 00 00 5f 01 00 00 00 00 00 00 3f 00 00 00 6c 01 00 00 ........&......._.......?...l...
20c0 8e 00 00 00 3b 00 00 00 a6 00 00 00 d6 00 00 00 ab 00 00 00 00 00 00 00 7a 00 00 00 00 00 00 00 ....;...................z.......
20e0 00 00 00 00 05 01 00 00 1a 01 00 00 00 00 00 00 00 00 00 00 9f 00 00 00 8c 00 00 00 6a 00 00 00 ............................j...
2100 e3 00 00 00 28 01 00 00 c7 00 00 00 92 01 00 00 11 01 00 00 4d 00 00 00 00 00 00 00 5f 00 00 00 ....(...............M......._...
2120 12 01 00 00 00 00 00 00 00 00 00 00 74 00 00 00 6b 01 00 00 2a 00 00 00 70 00 00 00 00 00 00 00 ............t...k...*...p.......
2140 14 00 00 00 13 00 00 00 5e 00 00 00 1c 01 00 00 8e 01 00 00 00 00 00 00 37 01 00 00 00 00 00 00 ........^...............7.......
2160 00 00 00 00 00 00 00 00 5b 01 00 00 54 01 00 00 9a 00 00 00 88 01 00 00 3a 01 00 00 00 00 00 00 ........[...T...........:.......
2180 3d 01 00 00 96 01 00 00 67 00 00 00 54 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =.......g...T...................
21a0 a9 00 00 00 00 00 00 00 a7 00 00 00 44 00 00 00 00 00 00 00 e8 00 00 00 00 00 00 00 aa 00 00 00 ............D...................
21c0 65 01 00 00 46 01 00 00 7b 01 00 00 0f 00 00 00 f3 00 00 00 00 00 00 00 00 00 00 00 37 00 00 00 e...F...{...................7...
21e0 a6 01 00 00 1b 00 00 00 ea 00 00 00 a7 01 00 00 1d 00 00 00 e9 00 00 00 83 01 00 00 00 00 00 00 ................................
2200 33 00 00 00 c9 00 00 00 08 00 00 00 2e 00 00 00 ed 00 00 00 91 01 00 00 65 00 00 00 41 01 00 00 3.......................e...A...
2220 32 00 00 00 00 00 00 00 39 00 00 00 17 00 00 00 00 00 00 00 4e 01 00 00 88 00 00 00 a3 00 00 00 2.......9...........N...........
2240 80 00 00 00 00 00 00 00 90 00 00 00 ac 00 00 00 16 01 00 00 00 00 00 00 f1 00 00 00 13 01 00 00 ................................
2260 04 01 00 00 00 00 00 00 29 01 00 00 7f 00 00 00 7a 01 00 00 93 01 00 00 78 01 00 00 b2 01 00 00 ........).......z.......x.......
2280 30 01 00 00 70 01 00 00 1e 01 00 00 00 00 00 00 0b 00 00 00 1a 00 00 00 49 01 00 00 00 00 00 00 0...p...................I.......
22a0 04 00 00 00 00 00 00 00 64 01 00 00 9e 01 00 00 48 00 00 00 00 00 00 00 fe 00 00 00 ce 00 00 00 ........d.......H...............
22c0 b1 01 00 00 63 00 00 00 a8 00 00 00 5d 00 00 00 48 01 00 00 00 00 00 00 00 00 00 00 1f 00 00 00 ....c.......]...H...............
22e0 18 00 00 00 29 00 00 00 45 01 00 00 b2 00 00 00 00 01 00 00 93 00 00 00 0a 01 00 00 28 00 00 00 ....)...E...................(...
2300 4e 00 00 00 73 01 00 00 00 00 00 00 25 00 00 00 92 00 00 00 ee 00 00 00 00 00 00 00 c1 00 00 00 N...s.......%...................
2320 20 00 00 00 b1 00 00 00 10 01 00 00 19 00 00 00 00 00 00 00 a5 00 00 00 9c 01 00 00 27 01 00 00 ............................'...
2340 d5 00 00 00 7d 00 00 00 00 00 00 00 f2 00 00 00 01 01 00 00 bc 00 00 00 ef 00 00 00 00 00 00 00 ....}...........................
2360 0c 01 00 00 b4 00 00 00 af 01 00 00 cd 00 00 00 64 00 00 00 07 01 00 00 00 00 00 00 97 01 00 00 ................d...............
2380 79 01 00 00 34 00 00 00 69 01 00 00 b0 01 00 00 00 00 00 00 73 00 00 00 00 00 00 00 38 00 00 00 y...4...i...........s.......8...
23a0 31 01 00 00 6d 01 00 00 40 00 00 00 72 00 00 00 8f 01 00 00 9d 00 00 00 e0 00 00 00 00 00 00 00 1...m...@...r...................
23c0 36 00 00 00 62 01 00 00 5c 01 00 00 00 00 00 00 07 00 00 00 a8 01 00 00 00 00 00 00 21 00 00 00 6...b...\...................!...
23e0 cf 00 00 00 00 00 00 00 60 01 00 00 9b 00 00 00 46 00 00 00 31 00 00 00 23 01 00 00 00 00 00 00 ........`.......F...1...#.......
2400 00 00 00 00 0e 00 00 00 81 01 00 00 00 00 00 00 00 00 00 00 b3 00 00 00 11 00 00 00 71 00 00 00 ............................q...
2420 f4 00 00 00 68 00 00 00 63 01 00 00 06 00 00 00 4f 01 00 00 15 00 00 00 00 00 00 00 00 00 00 00 ....h...c.......O...............
2440 00 00 00 00 00 00 00 00 20 01 00 00 00 00 00 00 ba 00 00 00 4d 01 00 00 00 00 00 00 08 01 00 00 ....................M...........
2460 52 01 00 00 0c 00 00 00 00 22 24 7b 76 79 6f 73 5f 6c 69 62 65 78 65 63 64 69 72 7d 2f 76 61 6c R........"${vyos_libexecdir}/val
2480 69 64 61 74 6f 72 73 2f 66 6f 6f 20 62 61 72 20 24 56 41 52 28 40 29 22 20 77 69 6c 6c 20 62 65 idators/foo.bar.$VAR(@)".will.be
24a0 20 65 78 65 63 75 74 65 64 2c 20 3c 63 6f 6e 73 74 72 61 69 6e 74 45 72 72 6f 72 4d 65 73 73 61 .executed,.<constraintErrorMessa
24c0 67 65 3e 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 ge>.will.be.displayed.on.failure
24e0 00 2e 2e 2e 00 3c 63 6f 6e 73 74 72 61 69 6e 74 45 72 72 6f 72 4d 65 73 73 61 67 65 3e 20 77 69 .....<constraintErrorMessage>.wi
2500 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 00 3c 6e 6f 64 65 ll.be.displayed.on.failure.<node
2520 20 6e 61 6d 65 3d 22 6d 79 6e 6f 64 65 22 3e 20 3c 2f 6e 6f 64 65 3e 00 3c 70 72 6f 70 65 72 74 .name="mynode">.</node>.<propert
2540 69 65 73 3e 20 3c 63 6f 6d 70 6c 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 6c 69 73 74 3e 20 66 6f 6f ies>.<completionHelp>.<list>.foo
2560 20 62 61 72 20 3c 2f 6c 69 73 74 3e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 63 6f 6d 70 6c .bar.</list>.<properties>.<compl
2580 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 70 61 74 68 3e 20 76 70 6e 20 69 70 73 65 63 20 65 73 70 2d etionHelp>.<path>.vpn.ipsec.esp-
25a0 67 72 6f 75 70 20 3c 2f 70 61 74 68 3e 20 2e 2e 2e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c group.</path>.....<properties>.<
25c0 63 6f 6d 70 6c 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 73 63 72 69 70 74 3e 20 2f 70 61 74 68 2f 74 completionHelp>.<script>./path/t
25e0 6f 2f 73 63 72 69 70 74 20 3c 2f 73 63 72 69 70 74 3e 20 2e 2e 2e 00 3c 70 72 6f 70 65 72 74 69 o/script.</script>.....<properti
2600 65 73 3e 20 3c 63 6f 6e 73 74 72 61 69 6e 74 3e 20 3c 72 65 67 65 78 3e 20 2e 2e 2e 00 3c 70 72 es>.<constraint>.<regex>.....<pr
2620 6f 70 65 72 74 69 65 73 3e 20 3c 63 6f 6e 73 74 72 61 69 6e 74 3e 20 3c 76 61 6c 69 64 61 74 6f operties>.<constraint>.<validato
2640 72 3e 20 3c 6e 61 6d 65 20 3d 22 66 6f 6f 22 20 61 72 67 75 6d 65 6e 74 3d 22 62 61 72 22 3e 00 r>.<name.="foo".argument="bar">.
2660 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 68 65 6c 70 3e 4d 79 20 6e 6f 64 65 3c 2f 68 65 6c 70 <properties>.<help>My.node</help
2680 3e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 6d 75 6c 74 69 2f 3e 00 3c 70 72 6f 70 65 72 74 >.<properties>.<multi/>.<propert
26a0 69 65 73 3e 20 3c 70 72 69 6f 72 69 74 79 3e 39 39 39 3c 2f 70 72 69 6f 72 69 74 79 3e 00 3c 70 ies>.<priority>999</priority>.<p
26c0 72 6f 70 65 72 74 69 65 73 3e 20 3c 76 61 6c 75 65 48 65 6c 70 3e 20 3c 66 6f 72 6d 61 74 3e 20 roperties>.<valueHelp>.<format>.
26e0 66 6f 72 6d 61 74 20 3c 2f 66 6f 72 6d 61 74 3e 20 3c 64 65 73 63 72 69 70 74 69 6f 6e 3e 20 73 format.</format>.<description>.s
2700 6f 6d 65 20 73 74 72 69 6e 67 20 3c 2f 64 65 73 63 72 69 70 74 69 6f 6e 3e 00 3c 74 61 67 4e 6f ome.string.</description>.<tagNo
2720 64 65 20 6e 61 6d 65 3d 22 6d 79 6e 6f 64 65 3e 20 3c 2f 6e 6f 64 65 3e 00 41 20 66 6f 72 6b 20 de.name="mynode>.</node>.A.fork.
2740 77 69 74 68 20 70 61 63 6b 61 67 69 6e 67 20 63 68 61 6e 67 65 73 20 66 6f 72 20 56 79 4f 53 20 with.packaging.changes.for.VyOS.
2760 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 is.kept.at.https://github.com/vy
2780 6f 73 2f 68 76 69 6e 66 6f 00 41 20 67 6f 6f 64 20 61 70 70 72 6f 61 63 68 20 66 6f 72 20 77 72 os/hvinfo.A.good.approach.for.wr
27a0 69 74 69 6e 67 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 20 69 73 20 61 63 74 75 61 6c 6c iting.commit.messages.is.actuall
27c0 79 20 74 6f 20 68 61 76 65 20 61 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 66 69 6c 65 28 73 29 20 y.to.have.a.look.at.the.file(s).
27e0 68 69 73 74 6f 72 79 20 62 79 20 69 6e 76 6f 6b 69 6e 67 20 60 60 67 69 74 20 6c 6f 67 20 70 61 history.by.invoking.``git.log.pa
2800 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 60 60 2e 00 41 20 6e 75 6d 62 65 72 20 6f 66 20 66 6c th/to/file.txt``..A.number.of.fl
2820 61 67 73 20 63 61 6e 20 62 65 20 73 65 74 20 75 70 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 ags.can.be.set.up.to.change.the.
2840 62 65 68 61 76 69 6f 75 72 20 6f 66 20 56 79 4f 53 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 54 68 behaviour.of.VyOS.at.runtime..Th
2860 65 73 65 20 66 6c 61 67 73 20 63 61 6e 20 62 65 20 74 6f 67 67 6c 65 64 20 75 73 69 6e 67 20 65 ese.flags.can.be.toggled.using.e
2880 69 74 68 65 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 63 ither.environment.variables.or.c
28a0 72 65 61 74 69 6e 67 20 66 69 6c 65 73 2e 00 41 20 73 69 6e 67 6c 65 2c 20 73 68 6f 72 74 2c 20 reating.files..A.single,.short,.
28c0 73 75 6d 6d 61 72 79 20 6f 66 20 74 68 65 20 63 6f 6d 6d 69 74 20 28 72 65 63 6f 6d 6d 65 6e 64 summary.of.the.commit.(recommend
28e0 65 64 20 35 30 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 6c 65 73 73 2c 20 6e 6f 74 20 65 78 ed.50.characters.or.less,.not.ex
2900 63 65 65 64 69 6e 67 20 38 30 20 63 68 61 72 61 63 74 65 72 73 29 20 63 6f 6e 74 61 69 6e 69 6e ceeding.80.characters).containin
2920 67 20 61 20 70 72 65 66 69 78 20 6f 66 20 74 68 65 20 63 68 61 6e 67 65 64 20 63 6f 6d 70 6f 6e g.a.prefix.of.the.changed.compon
2940 65 6e 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 68 61 62 72 69 ent.and.the.corresponding.Phabri
2960 63 61 74 6f 72 5f 20 72 65 66 65 72 65 6e 63 65 20 65 2e 67 2e 20 60 60 73 6e 6d 70 3a 20 54 31 cator_.reference.e.g..``snmp:.T1
2980 31 31 31 3a 60 60 20 6f 72 20 60 60 65 74 68 65 72 6e 65 74 3a 20 54 32 32 32 32 3a 60 60 20 2d 111:``.or.``ethernet:.T2222:``.-
29a0 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 63 6f 75 6c 64 20 62 65 20 63 6f .multiple.components.could.be.co
29c0 6e 63 61 74 65 6e 61 74 65 64 20 61 73 20 69 6e 20 60 60 73 6e 6d 70 3a 20 65 74 68 65 72 6e 65 ncatenated.as.in.``snmp:.etherne
29e0 74 3a 20 54 33 33 33 33 60 60 00 41 62 62 72 65 76 69 61 74 69 6f 6e 73 20 61 6e 64 20 61 63 72 t:.T3333``.Abbreviations.and.acr
2a00 6f 6e 79 6d 73 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 00 41 onyms.**must**.be.capitalized..A
2a20 63 63 65 6c 2d 50 50 50 00 41 63 72 6f 6e 79 6d 73 20 61 6c 73 6f 20 2a 2a 6d 75 73 74 2a 2a 20 ccel-PPP.Acronyms.also.**must**.
2a40 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 20 74 6f 20 76 69 73 75 61 6c 6c 79 20 64 69 73 74 69 be.capitalized.to.visually.disti
2a60 6e 67 75 69 73 68 20 74 68 65 6d 20 66 72 6f 6d 20 6e 6f 72 6d 61 6c 20 77 6f 72 64 73 3a 00 41 nguish.them.from.normal.words:.A
2a80 64 64 20 66 69 6c 65 20 74 6f 20 47 69 74 20 69 6e 64 65 78 20 75 73 69 6e 67 20 60 60 67 69 74 dd.file.to.Git.index.using.``git
2aa0 20 61 64 64 20 6d 79 66 69 6c 65 60 60 2c 20 6f 72 20 66 6f 72 20 61 20 77 68 6f 6c 65 20 64 69 .add.myfile``,.or.for.a.whole.di
2ac0 72 65 63 74 6f 72 79 3a 20 60 60 67 69 74 20 61 64 64 20 73 6f 6d 65 64 69 72 2f 2a 60 60 00 41 rectory:.``git.add.somedir/*``.A
2ae0 64 64 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 49 50 20 61 64 64 72 65 73 73 65 73 00 41 64 64 72 dd.one.or.more.IP.addresses.Addr
2b00 65 73 73 00 41 66 74 65 72 20 61 20 6d 69 6e 75 74 65 20 6f 72 20 74 77 6f 20 79 6f 75 20 77 69 ess.After.a.minute.or.two.you.wi
2b20 6c 6c 20 66 69 6e 64 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 44 45 42 20 70 61 63 6b 61 67 ll.find.the.generated.DEB.packag
2b40 65 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 76 79 6f 73 2d 31 78 20 73 6f 75 72 63 65 20 64 69 es.next.to.the.vyos-1x.source.di
2b60 72 65 63 74 6f 72 79 3a 00 41 66 74 65 72 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 70 61 63 rectory:.After.compiling.the.pac
2b80 6b 61 67 65 73 20 79 6f 75 20 77 69 6c 6c 20 66 69 6e 64 20 79 6f 75 72 73 65 6c 66 20 74 68 65 kages.you.will.find.yourself.the
2ba0 20 6e 65 77 6c 79 20 67 65 6e 65 72 61 74 65 64 20 60 2a 2e 64 65 62 60 20 62 69 6e 61 72 69 65 .newly.generated.`*.deb`.binarie
2bc0 73 20 69 6e 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c 69 6e 75 78 s.in.``vyos-build/packages/linux
2be0 2d 6b 65 72 6e 65 6c 60 60 20 66 72 6f 6d 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 63 6f 70 -kernel``.from.which.you.can.cop
2c00 79 20 74 68 65 6d 20 74 6f 20 74 68 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 y.them.to.the.``vyos-build/packa
2c20 67 65 73 60 60 20 66 6f 6c 64 65 72 20 66 6f 72 20 69 6e 63 6c 75 73 69 6f 6e 20 64 75 72 69 6e ges``.folder.for.inclusion.durin
2c40 67 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 2e 00 41 66 74 65 72 20 69 74 73 20 66 69 72 73 74 g.the.ISO.build..After.its.first
2c60 20 62 6f 6f 74 20 69 6e 74 6f 20 74 68 65 20 6e 65 77 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 73 .boot.into.the.newly.installed.s
2c80 79 73 74 65 6d 20 74 68 65 20 6d 61 69 6e 20 53 6d 6f 6b 65 74 65 73 74 20 73 63 72 69 70 74 20 ystem.the.main.Smoketest.script.
2ca0 69 73 20 65 78 65 63 75 74 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 68 65 72 is.executed,.it.can.be.found.her
2cc0 65 3a 20 60 2f 75 73 72 2f 62 69 6e 2f 76 79 6f 73 2d 73 6d 6f 6b 65 74 65 73 74 60 00 41 6c 6c e:.`/usr/bin/vyos-smoketest`.All
2ce0 20 56 79 4f 53 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 .VyOS.source.code.is.hosted.on.G
2d00 69 74 48 75 62 20 75 6e 64 65 72 20 74 68 65 20 56 79 4f 53 20 6f 72 67 61 6e 69 7a 61 74 69 6f itHub.under.the.VyOS.organizatio
2d20 6e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 68 65 72 65 3a 20 68 74 74 70 73 n.which.can.be.found.here:.https
2d40 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 00 41 6c 6c 20 63 6f 6d 6d 69 74 20 74 69 ://github.com/vyos.All.commit.ti
2d60 6d 65 20 63 68 65 63 6b 73 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 74 68 65 20 76 65 72 69 66 me.checks.should.be.in.the.verif
2d80 79 28 29 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 63 72 69 70 74 00 41 6c 6c 20 69 y().function.of.the.script.All.i
2da0 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 58 4d 4c 20 69 6e 70 75 74 20 66 69 nterface.definition.XML.input.fi
2dc0 6c 65 73 20 28 2e 69 6e 20 73 75 66 66 69 78 29 20 77 69 6c 6c 20 62 65 20 73 65 6e 74 20 74 6f les.(.in.suffix).will.be.sent.to
2de0 20 74 68 65 20 47 43 43 20 70 72 65 70 72 6f 63 65 73 73 20 61 6e 64 20 74 68 65 20 6f 75 74 70 .the.GCC.preprocess.and.the.outp
2e00 75 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 60 62 75 69 6c 64 2f 69 6e 74 65 72 ut.is.stored.in.the.`build/inter
2e20 66 61 63 65 2d 64 65 66 69 6e 69 74 69 6f 6e 73 60 20 66 6f 6c 64 65 72 2e 20 54 68 65 20 70 72 face-definitions`.folder..The.pr
2e40 65 76 69 6f 75 73 6c 79 20 6d 65 6e 74 69 6f 6e 65 64 20 60 73 63 72 69 70 74 73 2f 62 75 69 6c eviously.mentioned.`scripts/buil
2e60 64 2d 63 6f 6d 6d 61 6e 64 2d 74 65 6d 70 6c 61 74 65 73 60 20 73 63 72 69 70 74 20 6f 70 65 72 d-command-templates`.script.oper
2e80 61 74 65 73 20 6f 6e 20 74 68 65 20 60 62 75 69 6c 64 2f 69 6e 74 65 72 66 61 63 65 2d 64 65 66 ates.on.the.`build/interface-def
2ea0 69 6e 69 74 69 6f 6e 73 60 20 66 6f 6c 64 65 72 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 6c 6c initions`.folder.to.generate.all
2ec0 20 72 65 71 75 69 72 65 64 20 43 4c 49 20 6e 6f 64 65 73 2e 00 41 6c 6c 20 69 73 73 75 65 73 20 .required.CLI.nodes..All.issues.
2ee0 73 68 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 20 74 6f 20 74 68 65 20 64 65 76 65 6c 6f should.be.reported.to.the.develo
2f00 70 65 72 73 2e 20 54 68 69 73 20 6c 65 74 73 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 6b pers..This.lets.the.developers.k
2f20 6e 6f 77 20 77 68 61 74 20 69 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67 20 70 72 6f 70 65 72 6c 79 now.what.is.not.working.properly
2f40 2e 20 57 69 74 68 6f 75 74 20 74 68 69 73 20 73 6f 72 74 20 6f 66 20 66 65 65 64 62 61 63 6b 20 ..Without.this.sort.of.feedback.
2f60 65 76 65 72 79 20 64 65 76 65 6c 6f 70 65 72 20 77 69 6c 6c 20 62 65 6c 69 65 76 65 20 74 68 61 every.developer.will.believe.tha
2f80 74 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 77 6f 72 6b 69 6e 67 20 63 6f 72 72 65 63 74 6c t.everything.is.working.correctl
2fa0 79 2e 00 41 6c 6c 20 6c 6f 67 69 63 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 74 68 65 20 73 63 y..All.logic.should.be.in.the.sc
2fc0 72 69 70 74 73 00 41 6c 6c 20 74 65 78 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 69 74 20 6d 65 73 ripts.All.text.of.the.commit.mes
2fe0 73 61 67 65 20 73 68 6f 75 6c 64 20 62 65 20 77 72 61 70 70 65 64 20 61 74 20 37 32 20 63 68 61 sage.should.be.wrapped.at.72.cha
3000 72 61 63 74 65 72 73 20 69 66 20 70 6f 73 73 69 62 6c 65 20 77 68 69 63 68 20 6d 61 6b 65 73 20 racters.if.possible.which.makes.
3020 72 65 61 64 69 6e 67 20 63 6f 6d 6d 69 74 20 6c 6f 67 73 20 65 61 73 69 65 72 20 77 69 74 68 20 reading.commit.logs.easier.with.
3040 60 60 67 69 74 20 6c 6f 67 60 60 20 6f 6e 20 61 20 73 74 61 6e 64 61 72 64 20 74 65 72 6d 69 6e ``git.log``.on.a.standard.termin
3060 61 6c 20 28 77 68 69 63 68 20 68 61 70 70 65 6e 73 20 74 6f 20 62 65 20 38 30 78 32 35 29 00 41 al.(which.happens.to.be.80x25).A
3080 6c 77 61 79 73 20 75 73 65 20 74 68 65 20 60 60 2d 78 60 60 20 6f 70 74 69 6f 6e 20 74 6f 20 74 lways.use.the.``-x``.option.to.t
30a0 68 65 20 60 60 67 69 74 20 63 68 65 72 72 79 2d 70 69 63 6b 60 60 20 63 6f 6d 6d 61 6e 64 20 77 he.``git.cherry-pick``.command.w
30c0 68 65 6e 20 62 61 63 6b 20 6f 72 20 66 6f 72 77 61 72 64 20 70 6f 72 74 69 6e 67 20 61 6e 20 69 hen.back.or.forward.porting.an.i
30e0 6e 64 69 76 69 64 75 61 6c 20 63 6f 6d 6d 69 74 2e 20 54 68 69 73 20 61 75 74 6f 6d 61 74 69 63 ndividual.commit..This.automatic
3100 61 6c 6c 79 20 61 70 70 65 6e 64 73 20 74 68 65 20 6c 69 6e 65 3a 20 60 60 28 63 68 65 72 72 79 ally.appends.the.line:.``(cherry
3120 20 70 69 63 6b 65 64 20 66 72 6f 6d 20 63 6f 6d 6d 69 74 20 3c 49 44 3e 29 60 60 20 74 6f 20 74 .picked.from.commit.<ID>)``.to.t
3140 68 65 20 6f 72 69 67 69 6e 61 6c 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 he.original.authors.commit.messa
3160 67 65 20 6d 61 6b 69 6e 67 20 69 74 20 65 61 73 69 65 72 20 77 68 65 6e 20 62 69 73 65 63 74 69 ge.making.it.easier.when.bisecti
3180 6e 67 20 70 72 6f 62 6c 65 6d 73 2e 00 41 6e 6f 74 68 65 72 20 61 64 76 61 6e 74 61 67 65 20 69 ng.problems..Another.advantage.i
31a0 73 20 74 65 73 74 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 20 4d 6f 63 6b 69 s.testability.of.the.code..Mocki
31c0 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6e 66 69 67 20 73 75 62 73 79 73 74 65 6d 20 69 ng.the.entire.config.subsystem.i
31e0 73 20 68 61 72 64 2c 20 77 68 69 6c 65 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 61 6e 20 69 6e s.hard,.while.constructing.an.in
3200 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 62 79 20 68 61 6e 64 20 69 73 ternal.representation.by.hand.is
3220 20 77 61 79 20 73 69 6d 70 6c 65 72 2e 00 41 6e 79 20 22 6d 6f 64 69 66 69 65 64 22 20 70 61 63 .way.simpler..Any."modified".pac
3240 6b 61 67 65 20 6d 61 79 20 72 65 66 65 72 20 74 6f 20 61 6e 20 61 6c 74 65 72 65 64 20 76 65 72 kage.may.refer.to.an.altered.ver
3260 73 69 6f 6e 20 6f 66 20 65 2e 67 2e 20 76 79 6f 73 2d 31 78 20 70 61 63 6b 61 67 65 20 74 68 61 sion.of.e.g..vyos-1x.package.tha
3280 74 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 74 65 73 74 20 62 65 66 6f 72 65 20 t.you.would.like.to.test.before.
32a0 66 69 6c 69 6e 67 20 61 20 70 75 6c 6c 20 72 65 71 75 65 73 74 20 6f 6e 20 47 69 74 48 75 62 2e filing.a.pull.request.on.GitHub.
32c0 00 41 6e 79 20 70 61 63 6b 61 67 65 73 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 64 69 .Any.packages.in.the.packages.di
32e0 72 65 63 74 6f 72 79 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 69 73 6f rectory.will.be.added.to.the.iso
3300 20 64 75 72 69 6e 67 20 62 75 69 6c 64 2c 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 75 70 73 .during.build,.replacing.the.ups
3320 74 72 65 61 6d 20 6f 6e 65 73 2e 20 4d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 65 6c 65 74 65 tream.ones..Make.sure.you.delete
3340 20 74 68 65 6d 20 28 62 6f 74 68 20 74 68 65 20 73 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 69 .them.(both.the.source.directori
3360 65 73 20 61 6e 64 20 62 75 69 6c 74 20 64 65 62 20 70 61 63 6b 61 67 65 73 29 20 69 66 20 79 6f es.and.built.deb.packages).if.yo
3380 75 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 69 73 6f 20 66 72 6f 6d 20 70 75 72 65 u.want.to.build.an.iso.from.pure
33a0 6c 79 20 75 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 2e 00 41 73 20 53 6d 6f 6b 65 74 65 ly.upstream.packages..As.Smokete
33c0 73 74 73 20 77 69 6c 6c 20 61 6c 74 65 72 20 74 68 65 20 73 79 73 74 65 6d 20 63 6f 6e 66 69 67 sts.will.alter.the.system.config
33e0 75 72 61 74 69 6f 6e 20 61 6e 64 20 79 6f 75 20 61 72 65 20 6c 6f 67 67 65 64 20 69 6e 20 72 65 uration.and.you.are.logged.in.re
3400 6d 6f 74 65 20 79 6f 75 20 6d 61 79 20 6c 6f 6f 73 65 20 79 6f 75 72 20 63 6f 6e 6e 65 63 74 69 mote.you.may.loose.your.connecti
3420 6f 6e 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 2e 00 41 73 20 74 68 65 20 56 79 4f 53 20 64 6f on.to.the.system..As.the.VyOS.do
3440 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 66 6f 72 20 75 73 65 72 cumentation.is.not.only.for.user
3460 73 20 62 75 74 20 61 6c 73 6f 20 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 2d 20 s.but.also.for.the.developers.-.
3480 61 6e 64 20 77 65 20 6b 65 65 70 20 6e 6f 20 73 65 63 72 65 74 20 64 6f 63 75 6d 65 6e 74 61 74 and.we.keep.no.secret.documentat
34a0 69 6f 6e 20 2d 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20 68 6f 77 ion.-.this.section.describes.how
34c0 20 74 68 65 20 61 75 74 6f 6d 61 74 65 64 20 74 65 73 74 69 6e 67 20 77 6f 72 6b 73 2e 00 41 73 .the.automated.testing.works..As
34e0 73 75 6d 65 20 77 65 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 76 79 6f 73 2d 31 sume.we.want.to.build.the.vyos-1
3500 78 20 70 61 63 6b 61 67 65 20 6f 6e 20 6f 75 72 20 6f 77 6e 20 61 6e 64 20 6d 6f 64 69 66 79 20 x.package.on.our.own.and.modify.
3520 69 74 20 74 6f 20 6f 75 72 20 6e 65 65 64 73 2e 20 57 65 20 66 69 72 73 74 20 6e 65 65 64 20 74 it.to.our.needs..We.first.need.t
3540 6f 20 63 6c 6f 6e 65 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 72 6f 6d 20 47 69 74 48 o.clone.the.repository.from.GitH
3560 75 62 2e 00 41 74 74 61 63 68 20 70 61 74 63 68 20 74 6f 20 50 68 61 62 72 69 63 61 74 6f 72 20 ub..Attach.patch.to.Phabricator.
3580 74 61 73 6b 00 42 61 64 3a 20 22 44 69 73 61 62 6c 65 73 20 49 50 76 36 20 66 6f 72 77 61 72 64 task.Bad:."Disables.IPv6.forward
35a0 69 6e 67 22 00 42 61 64 3a 20 22 46 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 74 68 ing".Bad:."Frobnication.algorith
35c0 6d 2e 22 00 42 61 64 3a 20 22 53 65 74 20 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d m.".Bad:."Set.TCP.connection.tim
35e0 65 6f 75 74 22 00 42 61 64 3a 20 22 66 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 74 eout".Bad:."frobnication.algorit
3600 68 6d 22 00 42 61 64 3a 20 22 74 63 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d 65 6f 75 74 hm".Bad:."tcp.connection.timeout
3620 22 00 42 61 64 3a 20 50 50 50 4f 45 2c 20 49 50 53 45 43 00 42 61 64 3a 20 70 70 70 6f 65 2c 20 ".Bad:.PPPOE,.IPSEC.Bad:.pppoe,.
3640 69 70 73 65 63 00 42 61 64 3a 20 72 61 64 69 75 73 20 28 75 6e 6c 65 73 73 20 69 74 27 73 20 61 ipsec.Bad:.radius.(unless.it's.a
3660 62 6f 75 74 20 74 68 65 20 64 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 63 65 6e 74 bout.the.distance.between.a.cent
3680 65 72 20 6f 66 20 61 20 63 69 72 63 6c 65 20 61 6e 64 20 61 6e 79 20 6f 66 20 69 74 73 20 70 6f er.of.a.circle.and.any.of.its.po
36a0 69 6e 74 73 29 00 42 65 65 69 6e 67 20 62 72 61 76 65 20 61 6e 64 20 72 75 6e 6e 69 6e 67 20 74 ints).Beeing.brave.and.running.t
36c0 68 65 20 6c 61 74 65 73 74 20 72 6f 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 73 20 77 69 6c 6c 20 he.latest.rolling.releases.will.
36e0 73 6f 6d 65 74 69 6d 65 73 20 74 72 69 67 67 65 72 20 62 75 67 73 20 64 75 65 20 74 6f 20 63 6f sometimes.trigger.bugs.due.to.co
3700 72 6e 65 72 20 63 61 73 65 73 20 77 65 20 6d 69 73 73 65 64 20 69 6e 20 6f 75 72 20 64 65 73 69 rner.cases.we.missed.in.our.desi
3720 67 6e 2e 20 54 68 6f 73 65 20 62 75 67 73 20 73 68 6f 75 6c 64 20 62 65 20 66 69 6c 65 64 20 76 gn..Those.bugs.should.be.filed.v
3740 69 61 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 62 75 74 20 79 6f 75 20 63 61 6e 20 68 65 6c 70 ia.Phabricator_.but.you.can.help
3760 20 75 73 20 74 6f 20 6e 61 72 72 6f 77 20 64 6f 65 6e 20 74 68 65 20 69 73 73 75 65 2e 20 4c 6f .us.to.narrow.doen.the.issue..Lo
3780 67 69 6e 20 74 6f 20 79 6f 75 72 20 56 79 4f 53 20 73 79 73 74 65 6d 20 61 6e 64 20 63 68 61 6e gin.to.your.VyOS.system.and.chan
37a0 67 65 20 69 6e 74 6f 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 6f 64 65 20 62 79 20 74 79 ge.into.configuration.mode.by.ty
37c0 70 69 6e 67 20 60 60 63 6f 6e 66 69 67 75 72 65 60 60 2e 20 4e 6f 77 20 72 65 2d 6c 6f 61 64 20 ping.``configure``..Now.re-load.
37e0 79 6f 75 72 20 62 6f 6f 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 62 79 20 73 69 6d 70 6c your.boot.configuration.by.simpl
3800 79 20 74 79 70 69 6e 67 20 60 60 6c 6f 61 64 60 60 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 72 65 y.typing.``load``.followed.by.re
3820 74 75 72 6e 2e 00 42 6f 6f 74 20 54 69 6d 69 6e 67 00 42 75 67 20 52 65 70 6f 72 74 2f 49 73 73 turn..Boot.Timing.Bug.Report/Iss
3840 75 65 00 42 75 69 6c 64 00 42 75 69 6c 64 20 43 6f 6e 74 61 69 6e 65 72 00 42 75 69 6c 64 20 49 ue.Build.Build.Container.Build.I
3860 53 4f 00 42 75 69 6c 64 20 56 79 4f 53 00 42 75 69 6c 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 00 SO.Build.VyOS.Build.from.source.
3880 42 75 69 6c 64 69 6e 67 20 4f 75 74 2d 4f 66 2d 54 72 65 65 20 4d 6f 64 75 6c 65 73 00 42 75 69 Building.Out-Of-Tree.Modules.Bui
38a0 6c 64 69 6e 67 20 54 68 65 20 4b 65 72 6e 65 6c 00 42 75 69 6c 64 69 6e 67 20 56 79 4f 53 20 6f lding.The.Kernel.Building.VyOS.o
38c0 6e 20 57 69 6e 64 6f 77 73 20 57 53 4c 32 20 77 69 74 68 20 44 6f 63 6b 65 72 20 69 6e 74 65 67 n.Windows.WSL2.with.Docker.integ
38e0 72 61 74 65 64 20 69 6e 74 6f 20 57 53 4c 32 20 77 69 6c 6c 20 77 6f 72 6b 20 6c 69 6b 65 20 61 rated.into.WSL2.will.work.like.a
3900 20 63 68 61 72 6d 2e 20 4e 6f 20 70 72 6f 62 6c 65 6d 73 20 61 72 65 20 6b 6e 6f 77 6e 20 73 6f .charm..No.problems.are.known.so
3920 20 66 61 72 21 00 42 75 69 6c 64 69 6e 67 20 61 6e 20 49 53 4f 20 77 69 74 68 20 61 6e 79 20 63 .far!.Building.an.ISO.with.any.c
3940 75 73 74 6f 6d 69 7a 65 64 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 20 6e 6f 20 77 61 79 20 64 ustomized.package.is.in.no.way.d
3960 69 66 66 65 72 65 6e 74 20 74 68 61 6e 20 62 75 69 6c 64 69 6e 67 20 61 20 72 65 67 75 6c 61 72 ifferent.than.building.a.regular
3980 20 28 63 75 73 74 6f 6d 69 7a 65 64 20 6f 72 20 6e 6f 74 29 20 49 53 4f 20 69 6d 61 67 65 2e 20 .(customized.or.not).ISO.image..
39a0 53 69 6d 70 6c 79 20 70 6c 61 63 65 20 79 6f 75 72 20 6d 6f 64 69 66 69 65 64 20 60 2a 2e 64 65 Simply.place.your.modified.`*.de
39c0 62 60 20 70 61 63 6b 61 67 65 20 69 6e 73 69 64 65 20 74 68 65 20 60 70 61 63 6b 61 67 65 73 60 b`.package.inside.the.`packages`
39e0 20 66 6f 6c 64 65 72 20 77 69 74 68 69 6e 20 60 76 79 6f 73 2d 62 75 69 6c 64 60 2e 20 54 68 65 .folder.within.`vyos-build`..The
3a00 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 77 69 6c 6c 20 74 68 65 6e 20 70 69 63 6b 75 70 20 .build.process.will.then.pickup.
3a20 79 6f 75 72 20 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 20 61 6e 64 20 69 6e 74 65 67 72 61 74 your.custom.package.and.integrat
3a40 65 20 69 74 20 69 6e 74 6f 20 79 6f 75 72 20 49 53 4f 2e 00 42 75 69 6c 64 69 6e 67 20 74 68 65 e.it.into.your.ISO..Building.the
3a60 20 6b 65 72 6e 65 6c 20 69 73 20 6f 6e 65 20 70 61 72 74 2c 20 62 75 74 20 6e 6f 77 20 79 6f 75 .kernel.is.one.part,.but.now.you
3a80 20 61 6c 73 6f 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 72 65 71 75 69 72 65 64 .also.need.to.build.the.required
3aa0 20 6f 75 74 2d 6f 66 2d 74 72 65 65 20 6d 6f 64 75 6c 65 73 20 73 6f 20 65 76 65 72 79 74 68 69 .out-of-tree.modules.so.everythi
3ac0 6e 67 20 69 73 20 6c 69 6e 65 64 20 75 70 20 61 6e 64 20 74 68 65 20 41 42 49 73 20 6d 61 74 63 ng.is.lined.up.and.the.ABIs.matc
3ae0 68 2e 20 54 6f 20 64 6f 20 73 6f 2c 20 79 6f 75 20 63 61 6e 20 61 67 61 69 6e 20 74 61 6b 65 20 h..To.do.so,.you.can.again.take.
3b00 61 20 6c 6f 6f 6b 20 61 74 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f a.look.at.``vyos-build/packages/
3b20 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 74 6f 20 73 65 linux-kernel/Jenkinsfile``.to.se
3b40 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 73 20 61 6e e.all.of.the.required.modules.an
3b60 64 20 74 68 65 69 72 20 73 65 6c 65 63 74 65 64 20 76 65 72 73 69 6f 6e 73 2e 20 57 65 20 77 69 d.their.selected.versions..We.wi
3b80 6c 6c 20 73 68 6f 77 20 79 6f 75 20 68 6f 77 20 74 6f 20 62 75 69 6c 64 20 61 6c 6c 20 74 68 65 ll.show.you.how.to.build.all.the
3ba0 20 63 75 72 72 65 6e 74 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 73 2e 00 42 75 69 6c 64 .current.required.modules..Build
3bc0 69 6e 67 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 69 6c 6c 20 74 61 6b 65 20 73 6f 6d 65 20 74 69 ing.the.kernel.will.take.some.ti
3be0 6d 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 70 65 65 64 20 61 6e 64 20 71 75 me.depending.on.the.speed.and.qu
3c00 61 6e 74 69 74 79 20 6f 66 20 79 6f 75 72 20 43 50 55 2f 63 6f 72 65 73 20 61 6e 64 20 64 69 73 antity.of.your.CPU/cores.and.dis
3c20 6b 20 73 70 65 65 64 2e 20 45 78 70 65 63 74 20 32 30 20 6d 69 6e 75 74 65 73 20 28 6f 72 20 65 k.speed..Expect.20.minutes.(or.e
3c40 76 65 6e 20 6c 6f 6e 67 65 72 29 20 6f 6e 20 6c 6f 77 65 72 20 65 6e 64 20 68 61 72 64 77 61 72 ven.longer).on.lower.end.hardwar
3c60 65 2e 00 42 75 69 6c 64 69 6e 67 20 75 73 69 6e 67 20 61 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f e..Building.using.a.:ref:`build_
3c80 64 6f 63 6b 65 72 60 20 63 6f 6e 74 61 69 6e 65 72 2c 20 61 6c 74 68 6f 75 67 68 20 6e 6f 74 20 docker`.container,.although.not.
3ca0 74 68 65 20 6f 6e 6c 79 20 77 61 79 2c 20 69 73 20 74 68 65 20 65 61 73 69 65 73 74 20 77 61 79 the.only.way,.is.the.easiest.way
3cc0 20 61 73 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6d 61 6e 61 67 65 64 .as.all.dependencies.are.managed
3ce0 20 66 6f 72 20 79 6f 75 2e 20 48 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f 20 .for.you..However,.you.can.also.
3d00 73 65 74 20 75 70 20 79 6f 75 72 20 6f 77 6e 20 62 75 69 6c 64 20 6d 61 63 68 69 6e 65 20 61 6e set.up.your.own.build.machine.an
3d20 64 20 72 75 6e 20 61 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 6e 61 74 69 76 65 60 2e 00 42 75 74 d.run.a.:ref:`build_native`..But
3d40 20 77 65 20 61 72 65 20 68 65 72 65 20 74 6f 20 61 73 73 69 73 74 20 79 6f 75 20 61 6e 64 20 77 .we.are.here.to.assist.you.and.w
3d60 61 6e 74 20 74 6f 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 68 20 68 6f 77 20 79 6f 75 ant.to.guide.you.through.how.you
3d80 20 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 67 6f 6f 64 20 56 79 4f 53 20 63 6f 6e 74 72 69 62 75 .can.become.a.good.VyOS.contribu
3da0 74 6f 72 2e 20 54 68 65 20 72 75 6c 65 73 20 77 65 20 68 61 76 65 20 61 72 65 20 6e 6f 74 20 74 tor..The.rules.we.have.are.not.t
3dc0 68 65 72 65 20 74 6f 20 70 75 6e 69 73 68 20 79 6f 75 20 2d 20 74 68 65 20 72 75 6c 65 73 20 61 here.to.punish.you.-.the.rules.a
3de0 72 65 20 69 6e 20 70 6c 61 63 65 20 74 6f 20 68 65 6c 70 20 75 73 20 61 6c 6c 2e 20 57 68 61 74 re.in.place.to.help.us.all..What
3e00 20 64 6f 65 73 20 69 74 20 6d 65 61 6e 3f 20 42 79 20 68 61 76 69 6e 67 20 61 20 63 6f 6e 73 69 .does.it.mean?.By.having.a.consi
3e20 73 74 65 6e 74 20 63 6f 64 69 6e 67 20 73 74 79 6c 65 20 69 74 20 62 65 63 6f 6d 65 73 20 76 65 stent.coding.style.it.becomes.ve
3e40 72 79 20 65 61 73 79 20 66 6f 72 20 6e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 6e 64 ry.easy.for.new.contributors.and
3e60 20 61 6c 73 6f 20 6c 6f 6e 67 74 69 6d 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 74 6f 20 6e .also.longtime.contributors.to.n
3e80 61 76 69 67 61 74 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 6e 64 20 avigate.through.the.sources.and.
3ea0 61 6c 6c 20 74 68 65 20 69 6d 70 6c 69 65 64 20 6c 6f 67 69 63 20 6f 66 20 74 68 65 20 73 70 61 all.the.implied.logic.of.the.spa
3ec0 67 68 65 74 74 69 20 63 6f 64 65 2e 00 43 2b 2b 20 42 61 63 6b 65 6e 64 20 43 6f 64 65 00 43 61 ghetti.code..C++.Backend.Code.Ca
3ee0 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 61 6e 64 20 70 75 6e 63 74 75 61 74 69 6f 6e 00 43 68 65 pitalization.and.punctuation.Che
3f00 63 6b 20 6f 75 74 20 74 68 65 20 72 65 71 75 69 72 65 64 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 ck.out.the.required.kernel.versi
3f20 6f 6e 20 2d 20 73 65 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 64 61 74 61 2f 64 65 66 61 75 on.-.see.``vyos-build/data/defau
3f40 6c 74 73 2e 6a 73 6f 6e 60 60 20 66 69 6c 65 20 28 65 78 61 6d 70 6c 65 20 75 73 65 73 20 6b 65 lts.json``.file.(example.uses.ke
3f60 72 6e 65 6c 20 34 2e 31 39 2e 31 34 36 29 3a 00 43 6c 6f 6e 65 20 74 68 65 20 6b 65 72 6e 65 6c rnel.4.19.146):.Clone.the.kernel
3f80 20 73 6f 75 72 63 65 20 74 6f 20 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f .source.to.`vyos-build/packages/
3fa0 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 60 3a 00 43 6c 6f 6e 65 3a 20 60 60 67 69 74 20 63 6c 6f linux-kernel/`:.Clone:.``git.clo
3fc0 6e 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 3c 75 73 65 72 3e 2f 76 79 6f ne.https://github.com/<user>/vyo
3fe0 73 2d 31 78 2e 67 69 74 60 60 00 43 6f 64 69 6e 67 20 47 75 69 64 65 6c 69 6e 65 73 00 43 6f 6d s-1x.git``.Coding.Guidelines.Com
4000 6d 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 70 75 72 65 6c 79 20 64 65 63 6c mand.definitions.are.purely.decl
4020 61 72 61 74 69 76 65 2c 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 arative,.and.cannot.contain.any.
4040 6c 6f 67 69 63 2e 20 41 6c 6c 20 6c 6f 67 69 63 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 logic..All.logic.for.generating.
4060 63 6f 6e 66 69 67 20 66 69 6c 65 73 20 66 6f 72 20 74 61 72 67 65 74 20 61 70 70 6c 69 63 61 74 config.files.for.target.applicat
4080 69 6f 6e 73 2c 20 72 65 73 74 61 72 74 69 6e 67 20 73 65 72 76 69 63 65 73 20 61 6e 64 20 73 6f ions,.restarting.services.and.so
40a0 20 6f 6e 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 63 6f 6e 66 69 67 75 72 61 74 .on.is.implemented.in.configurat
40c0 69 6f 6e 20 73 63 72 69 70 74 73 20 69 6e 73 74 65 61 64 2e 00 43 6f 6d 6d 69 74 20 74 68 65 20 ion.scripts.instead..Commit.the.
40e0 63 68 61 6e 67 65 73 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 67 69 74 20 63 6f 6d 6d 69 74 60 changes.by.calling.``git.commit`
4100 60 2e 20 50 6c 65 61 73 65 20 75 73 65 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6d 6d 69 `..Please.use.a.meaningful.commi
4120 74 20 68 65 61 64 6c 69 6e 65 20 28 72 65 61 64 20 61 62 6f 76 65 29 20 61 6e 64 20 64 6f 6e 27 t.headline.(read.above).and.don'
4140 74 20 66 6f 72 67 65 74 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 50 68 61 62 72 69 t.forget.to.reference.the.Phabri
4160 63 61 74 6f 72 5f 20 49 44 2e 00 43 6f 6e 66 69 67 20 4c 6f 61 64 20 54 65 73 74 73 00 43 6f 6e cator_.ID..Config.Load.Tests.Con
4180 66 69 67 20 4d 69 67 72 61 74 69 6f 6e 20 53 63 72 69 70 74 73 00 43 6f 6e 66 69 67 75 72 61 74 fig.Migration.Scripts.Configurat
41a0 69 6f 6e 20 45 72 72 6f 72 20 6f 6e 20 53 79 73 74 65 6d 20 42 6f 6f 74 00 43 6f 6e 66 69 67 75 ion.Error.on.System.Boot.Configu
41c0 72 61 74 69 6f 6e 20 53 63 72 69 70 74 20 53 74 72 75 63 74 75 72 65 20 61 6e 64 20 42 65 68 61 ration.Script.Structure.and.Beha
41e0 76 69 6f 75 72 00 43 6f 6e 73 75 6c 74 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5f viour.Consult.the.documentation_
4200 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 63 6f 6e 66 69 67 75 .to.ensure.that.you.have.configu
4220 72 65 64 20 79 6f 75 72 20 73 79 73 74 65 6d 20 63 6f 72 72 65 63 74 6c 79 00 43 6f 6e 74 69 6e red.your.system.correctly.Contin
4240 75 6f 75 73 20 49 6e 74 65 67 72 61 74 69 6f 6e 00 43 75 73 74 6f 6d 69 7a 65 00 44 48 43 50 20 uous.Integration.Customize.DHCP.
4260 63 6c 69 65 6e 74 20 61 6e 64 20 44 48 43 50 76 36 20 70 72 65 66 69 78 20 64 65 6c 65 67 61 74 client.and.DHCPv6.prefix.delegat
4280 69 6f 6e 00 44 4d 56 50 4e 20 70 61 74 63 68 65 73 20 61 72 65 20 61 64 64 65 64 20 62 79 20 74 ion.DMVPN.patches.are.added.by.t
42a0 68 69 73 20 63 6f 6d 6d 69 74 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 his.commit:.https://github.com/v
42c0 79 6f 73 2f 76 79 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 2f 63 6f 6d 6d 69 74 2f 31 63 66 31 32 yos/vyos-strongswan/commit/1cf12
42e0 62 30 66 32 66 39 32 31 62 66 63 35 31 61 66 66 61 33 62 38 31 32 32 36 00 44 65 62 69 61 6e 20 b0f2f921bfc51affa3b81226.Debian.
4300 41 50 54 20 69 73 20 6e 6f 74 20 76 65 72 79 20 76 65 72 62 6f 73 65 20 77 68 65 6e 20 69 74 20 APT.is.not.very.verbose.when.it.
4320 63 6f 6d 65 73 20 74 6f 20 65 72 72 6f 72 73 2e 20 49 66 20 79 6f 75 72 20 49 53 4f 20 62 75 69 comes.to.errors..If.your.ISO.bui
4340 6c 64 20 62 72 65 61 6b 73 20 66 6f 72 20 77 68 61 74 65 76 65 72 20 72 65 61 73 6f 6e 20 61 6e ld.breaks.for.whatever.reason.an
4360 64 20 79 6f 75 20 73 75 73 70 65 63 74 20 69 74 27 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 d.you.suspect.it's.a.problem.wit
4380 68 20 41 50 54 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 72 20 69 6e 73 74 61 6c 6c 61 74 69 h.APT.dependencies.or.installati
43a0 6f 6e 20 79 6f 75 20 63 61 6e 20 61 64 64 20 74 68 69 73 20 73 6d 61 6c 6c 20 70 61 74 63 68 20 on.you.can.add.this.small.patch.
43c0 77 68 69 63 68 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 41 50 54 20 76 65 72 62 6f 73 69 74 which.increases.the.APT.verbosit
43e0 79 20 64 75 72 69 6e 67 20 49 53 4f 20 62 75 69 6c 64 2e 00 44 65 62 69 61 6e 20 42 6f 6f 6b 77 y.during.ISO.build..Debian.Bookw
4400 6f 72 6d 20 66 6f 72 20 56 79 4f 53 20 31 2e 34 20 28 73 61 67 69 74 74 61 29 00 44 65 62 69 61 orm.for.VyOS.1.4.(sagitta).Debia
4420 6e 20 42 6f 6f 6b 77 6f 72 6d 20 66 6f 72 20 74 68 65 20 75 70 63 6f 6d 69 6e 67 20 56 79 4f 53 n.Bookworm.for.the.upcoming.VyOS
4440 20 31 2e 35 2f 63 69 72 63 69 6e 75 73 2f 63 75 72 72 65 6e 74 20 28 73 75 62 6a 65 63 74 20 74 .1.5/circinus/current.(subject.t
4460 6f 20 63 68 61 6e 67 65 29 20 2d 20 61 6b 61 20 74 68 65 20 72 6f 6c 6c 69 6e 67 20 72 65 6c 65 o.change).-.aka.the.rolling.rele
4480 61 73 65 00 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 66 6f 72 20 56 79 4f 53 20 31 2e 34 ase.Debian.Bullseye.for.VyOS.1.4
44a0 20 28 73 61 67 69 74 74 61 29 00 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 66 6f 72 20 56 .(sagitta).Debian.Bullseye.for.V
44c0 79 4f 53 20 31 2e 34 20 28 73 61 67 69 74 74 61 2c 20 63 75 72 72 65 6e 74 29 20 2d 20 61 6b 61 yOS.1.4.(sagitta,.current).-.aka
44e0 20 74 68 65 20 72 6f 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 00 44 65 62 69 61 6e 20 42 75 73 74 .the.rolling.release.Debian.Bust
4500 65 72 20 66 6f 72 20 56 79 4f 53 20 31 2e 33 20 28 65 71 75 75 6c 65 75 73 29 00 44 65 62 69 61 er.for.VyOS.1.3.(equuleus).Debia
4520 6e 20 4a 65 73 73 69 65 20 66 6f 72 20 56 79 4f 53 20 31 2e 32 20 28 63 72 75 78 29 00 44 65 62 n.Jessie.for.VyOS.1.2.(crux).Deb
4540 69 61 6e 20 64 6f 65 73 20 6b 65 65 70 20 74 68 65 69 72 20 70 61 63 6b 61 67 65 20 69 6e 20 67 ian.does.keep.their.package.in.g
4560 69 74 2c 20 62 75 74 20 69 74 27 73 20 75 70 73 74 72 65 61 6d 20 74 61 72 62 61 6c 6c 20 69 6d it,.but.it's.upstream.tarball.im
4580 70 6f 72 74 65 64 20 69 6e 74 6f 20 67 69 74 20 77 69 74 68 6f 75 74 20 69 74 73 20 6f 72 69 67 ported.into.git.without.its.orig
45a0 69 6e 61 6c 20 63 6f 6d 6d 69 74 20 68 69 73 74 6f 72 79 2e 20 54 6f 20 62 65 20 61 62 6c 65 20 inal.commit.history..To.be.able.
45c0 74 6f 20 6d 65 72 67 65 20 6e 65 77 20 74 61 67 73 20 69 6e 2c 20 77 65 20 6b 65 65 70 20 61 20 to.merge.new.tags.in,.we.keep.a.
45e0 66 6f 72 6b 20 6f 66 20 74 68 65 20 75 70 73 74 72 65 61 6d 20 72 65 70 6f 73 69 74 6f 72 79 20 fork.of.the.upstream.repository.
4600 77 69 74 68 20 70 61 63 6b 61 67 69 6e 67 20 66 69 6c 65 73 20 69 6d 70 6f 72 74 65 64 20 66 72 with.packaging.files.imported.fr
4620 6f 6d 20 44 65 62 69 61 6e 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f om.Debian.at.https://github.com/
4640 76 79 6f 73 2f 6b 65 65 70 61 6c 69 76 65 64 2d 75 70 73 74 72 65 61 6d 00 44 65 62 75 67 67 69 vyos/keepalived-upstream.Debuggi
4660 6e 67 00 44 65 62 75 67 67 69 6e 67 20 50 79 74 68 6f 6e 20 43 6f 64 65 20 77 69 74 68 20 50 44 ng.Debugging.Python.Code.with.PD
4680 42 00 44 65 73 63 72 69 70 74 69 6f 6e 00 44 65 74 65 72 6d 69 6e 69 6e 65 20 73 6f 75 72 63 65 B.Description.Determinine.source
46a0 20 70 61 63 6b 61 67 65 00 44 65 76 65 6c 6f 70 6d 65 6e 74 00 44 6f 20 6e 6f 74 20 61 64 64 20 .package.Development.Do.not.add.
46c0 61 6e 67 6c 65 20 62 72 61 63 6b 65 74 73 20 61 72 6f 75 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 angle.brackets.around.the.format
46e0 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 75 74 6f 6d 61 74 69 ,.they.will.be.inserted.automati
4700 63 61 6c 6c 79 00 44 6f 63 6b 65 72 00 44 6f 63 6b 65 72 68 75 62 00 44 6f 69 6e 67 20 73 6f 20 cally.Docker.Dockerhub.Doing.so.
4720 67 72 61 6e 74 73 20 70 72 69 76 69 6c 65 67 65 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 grants.privileges.equivalent.to.
4740 74 68 65 20 60 60 72 6f 6f 74 60 60 20 75 73 65 72 21 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 the.``root``.user!.It.is.recomme
4760 6e 64 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 6e 6f 6e 2d 72 6f 6f 74 20 75 73 65 72 nded.to.remove.the.non-root.user
4780 20 66 72 6f 6d 20 74 68 65 20 60 60 64 6f 63 6b 65 72 60 60 20 67 72 6f 75 70 20 61 66 74 65 72 .from.the.``docker``.group.after
47a0 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 56 79 4f 53 20 49 53 4f 2e 20 53 65 65 20 61 6c 73 6f .building.the.VyOS.ISO..See.also
47c0 20 60 44 6f 63 6b 65 72 20 61 73 20 6e 6f 6e 2d 72 6f 6f 74 60 5f 2e 00 44 75 65 20 74 6f 20 69 .`Docker.as.non-root`_..Due.to.i
47e0 73 73 75 65 73 20 69 6e 20 74 68 65 20 75 70 73 74 72 65 61 6d 20 76 65 72 73 69 6f 6e 20 74 68 ssues.in.the.upstream.version.th
4800 61 74 20 73 6f 6d 65 74 69 6d 65 73 20 73 65 74 20 69 6e 74 65 72 66 61 63 65 73 20 64 6f 77 6e at.sometimes.set.interfaces.down
4820 2c 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 69 73 20 75 73 65 64 2e 00 44 75 ,.a.modified.version.is.used..Du
4840 65 20 74 6f 20 74 68 65 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 44 6f 63 6b e.to.the.updated.version.of.Dock
4860 65 72 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 20 6d 61 79 20 62 er,.the.following.examples.may.b
4880 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 00 44 75 72 69 6e 67 20 74 68 65 20 6d 69 67 72 61 74 ecome.invalid..During.the.migrat
48a0 69 6f 6e 20 61 6e 64 20 65 78 74 65 6e 73 69 76 65 20 72 65 77 72 69 74 65 20 6f 66 20 66 75 6e ion.and.extensive.rewrite.of.fun
48c0 63 74 69 6f 6e 61 6c 69 74 79 20 66 72 6f 6d 20 50 65 72 6c 20 69 6e 74 6f 20 50 79 74 68 6f 6e ctionality.from.Perl.into.Python
48e0 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 20 69 6e 63 72 65 61 73 65 20 69 6e 20 74 68 65 20 6f .a.significant.increase.in.the.o
4900 76 65 72 61 6c 6c 20 73 79 73 74 65 6d 20 62 6f 6f 74 74 69 6d 65 20 77 61 73 20 6e 6f 74 69 63 verall.system.boottime.was.notic
4920 65 64 2e 20 54 68 65 20 73 79 73 74 65 6d 20 62 6f 6f 74 20 74 69 6d 65 20 63 61 6e 20 62 65 20 ed..The.system.boot.time.can.be.
4940 61 6e 61 6c 79 73 65 64 20 61 6e 64 20 61 20 67 72 61 70 68 20 63 61 6e 20 62 65 20 67 65 6e 65 analysed.and.a.graph.can.be.gene
4960 72 61 74 65 64 20 69 6e 20 74 68 65 20 65 6e 64 20 77 68 69 63 68 20 73 68 6f 77 73 20 69 6e 20 rated.in.the.end.which.shows.in.
4980 64 65 74 61 69 6c 20 77 68 6f 20 63 61 6c 6c 65 64 20 77 68 6f 6d 20 64 75 72 69 6e 67 20 74 68 detail.who.called.whom.during.th
49a0 65 20 73 79 73 74 65 6d 20 73 74 61 72 74 75 70 20 70 68 61 73 65 2e 00 45 61 63 68 20 6d 6f 64 e.system.startup.phase..Each.mod
49c0 75 6c 65 20 69 73 20 62 75 69 6c 64 20 6f 6e 20 64 65 6d 61 6e 64 20 69 66 20 61 20 6e 65 77 20 ule.is.build.on.demand.if.a.new.
49e0 63 6f 6d 6d 69 74 20 6f 6e 20 74 68 65 20 62 72 61 6e 63 68 20 69 6e 20 71 75 65 73 74 69 6f 6e commit.on.the.branch.in.question
4a00 20 69 73 20 66 6f 75 6e 64 2e 20 41 66 74 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 75 .is.found..After.a.successful.ru
4a20 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 44 65 62 69 61 6e 20 50 61 63 6b 61 67 65 28 73 n.the.resulting.Debian.Package(s
4a40 29 20 77 69 6c 6c 20 62 65 20 64 65 70 6c 6f 79 65 64 20 74 6f 20 6f 75 72 20 44 65 62 69 61 6e ).will.be.deployed.to.our.Debian
4a60 20 72 65 70 6f 73 69 74 6f 72 79 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 64 75 72 69 6e 67 .repository.which.is.used.during
4a80 20 62 75 69 6c 64 20 74 69 6d 65 2e 20 49 74 20 69 73 20 6c 6f 63 61 74 65 64 20 68 65 72 65 3a .build.time..It.is.located.here:
4aa0 20 68 74 74 70 3a 2f 2f 64 65 76 2e 70 61 63 6b 61 67 65 73 2e 76 79 6f 73 2e 6e 65 74 2f 72 65 .http://dev.packages.vyos.net/re
4ac0 70 6f 73 69 74 6f 72 69 65 73 2f 2e 00 45 61 63 68 20 6f 66 20 74 68 6f 73 65 20 6d 6f 64 75 6c positories/..Each.of.those.modul
4ae0 65 73 20 68 6f 6c 64 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 6b 65 72 es.holds.a.dependency.on.the.ker
4b00 6e 65 6c 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 69 66 20 79 6f 75 20 61 72 65 20 6c 75 63 6b 79 nel.version.and.if.you.are.lucky
4b20 20 65 6e 6f 75 67 68 20 74 6f 20 72 65 63 65 69 76 65 20 61 6e 20 49 53 4f 20 62 75 69 6c 64 20 .enough.to.receive.an.ISO.build.
4b40 65 72 72 6f 72 20 77 68 69 63 68 20 73 6f 75 6e 64 73 20 6c 69 6b 65 3a 00 45 6e 61 62 6c 65 64 error.which.sounds.like:.Enabled
4b60 2f 44 69 73 61 62 6c 65 64 00 45 6e 73 75 72 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 /Disabled.Ensure.the.problem.is.
4b80 72 65 70 72 6f 64 75 63 69 62 6c 65 00 45 76 65 72 79 20 63 68 61 6e 67 65 20 73 65 74 20 6d 75 reproducible.Every.change.set.mu
4ba0 73 74 20 62 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 28 73 65 6c 66 20 63 6f 6e 74 61 69 6e 69 6e st.be.consistent.(self.containin
4bc0 67 29 21 20 44 6f 20 6e 6f 74 20 66 69 78 20 6d 75 6c 74 69 70 6c 65 20 62 75 67 73 20 69 6e 20 g)!.Do.not.fix.multiple.bugs.in.
4be0 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 69 74 2e 20 49 66 20 79 6f 75 20 61 6c 72 65 61 64 79 20 a.single.commit..If.you.already.
4c00 77 6f 72 6b 65 64 20 6f 6e 20 6d 75 6c 74 69 70 6c 65 20 66 69 78 65 73 20 69 6e 20 74 68 65 20 worked.on.multiple.fixes.in.the.
4c20 73 61 6d 65 20 66 69 6c 65 20 75 73 65 20 60 67 69 74 20 61 64 64 20 2d 2d 70 61 74 63 68 60 20 same.file.use.`git.add.--patch`.
4c40 74 6f 20 6f 6e 6c 79 20 61 64 64 20 74 68 65 20 70 61 72 74 73 20 72 65 6c 61 74 65 64 20 74 6f to.only.add.the.parts.related.to
4c60 20 74 68 65 20 6f 6e 65 20 69 73 73 75 65 20 69 6e 74 6f 20 79 6f 75 72 20 75 70 63 6f 6d 69 6e .the.one.issue.into.your.upcomin
4c80 67 20 63 6f 6d 6d 69 74 2e 00 45 78 61 6d 70 6c 65 3a 00 45 78 61 6d 70 6c 65 73 3a 00 45 78 63 g.commit..Example:.Examples:.Exc
4ca0 65 70 74 69 6f 6e 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 60 60 56 79 4f 53 45 72 72 6f 72 60 60 eptions,.including.``VyOSError``
4cc0 20 28 77 68 69 63 68 20 69 73 20 72 61 69 73 65 64 20 62 79 20 60 60 76 79 6f 73 2e 63 6f 6e 66 .(which.is.raised.by.``vyos.conf
4ce0 69 67 2e 43 6f 6e 66 69 67 60 60 20 6f 6e 20 69 6d 70 72 6f 70 65 72 20 63 6f 6e 66 69 67 20 6f ig.Config``.on.improper.config.o
4d00 70 65 72 61 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73 65 perations,.such.as.trying.to.use
4d20 20 60 60 6c 69 73 74 5f 6e 6f 64 65 73 28 29 60 60 20 6f 6e 20 61 20 6e 6f 6e 2d 74 61 67 20 6e .``list_nodes()``.on.a.non-tag.n
4d40 6f 64 65 29 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 69 6c 65 6e 63 65 64 20 6f 72 20 63 ode).should.not.be.silenced.or.c
4d60 61 75 67 68 74 20 61 6e 64 20 72 65 2d 72 61 69 73 65 64 20 61 73 20 63 6f 6e 66 69 67 20 65 72 aught.and.re-raised.as.config.er
4d80 72 6f 72 2e 20 53 75 72 65 20 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 6c 6f 6f 6b 20 70 72 65 ror..Sure.this.will.not.look.pre
4da0 74 74 79 20 6f 6e 20 75 73 65 72 27 73 20 73 63 72 65 65 6e 2c 20 62 75 74 20 69 74 20 77 69 6c tty.on.user's.screen,.but.it.wil
4dc0 6c 20 6d 61 6b 65 20 77 61 79 20 62 65 74 74 65 72 20 62 75 67 20 72 65 70 6f 72 74 73 2c 20 61 l.make.way.better.bug.reports,.a
4de0 6e 64 20 68 65 6c 70 20 75 73 65 72 73 20 28 61 6e 64 20 6d 6f 73 74 20 56 79 4f 53 20 75 73 65 nd.help.users.(and.most.VyOS.use
4e00 72 73 20 61 72 65 20 49 54 20 70 72 6f 66 65 73 73 69 6f 6e 61 6c 73 29 20 64 6f 20 74 68 65 69 rs.are.IT.professionals).do.thei
4e20 72 20 6f 77 6e 20 64 65 62 75 67 67 69 6e 67 20 61 73 20 77 65 6c 6c 2e 00 45 78 70 6f 72 74 20 r.own.debugging.as.well..Export.
4e40 6c 61 73 74 20 63 6f 6d 6d 69 74 20 74 6f 20 70 61 74 63 68 20 66 69 6c 65 3a 20 60 60 67 69 74 last.commit.to.patch.file:.``git
4e60 20 66 6f 72 6d 61 74 2d 70 61 74 63 68 60 60 20 6f 72 20 65 78 70 6f 72 74 20 74 68 65 20 6c 61 .format-patch``.or.export.the.la
4e80 73 74 20 74 77 6f 20 63 6f 6d 6d 69 74 73 20 69 6e 74 6f 20 69 74 73 20 61 70 70 72 6f 70 72 69 st.two.commits.into.its.appropri
4ea0 61 74 65 20 70 61 74 63 68 20 66 69 6c 65 73 3a 20 60 60 67 69 74 20 66 6f 72 6d 61 74 2d 70 61 ate.patch.files:.``git.format-pa
4ec0 74 63 68 20 2d 32 60 60 00 45 78 74 65 72 6e 61 6c 20 61 72 69 74 68 6d 65 74 69 63 20 76 61 6c tch.-2``.External.arithmetic.val
4ee0 69 64 61 74 6f 72 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 69 66 20 74 68 65 72 65 27 73 20 64 idator.may.be.added.if.there's.d
4f00 65 6d 61 6e 64 2c 20 63 6f 6d 70 6c 65 78 20 76 61 6c 69 64 61 74 69 6f 6e 20 69 73 20 62 65 74 emand,.complex.validation.is.bet
4f20 74 65 72 20 6c 65 66 74 20 74 6f 20 63 6f 6d 6d 69 74 2d 74 69 6d 65 20 73 63 72 69 70 74 73 00 ter.left.to.commit-time.scripts.
4f40 46 52 52 00 46 65 61 74 75 72 65 20 52 65 71 75 65 73 74 00 46 69 72 6d 77 61 72 65 00 46 69 72 FRR.Feature.Request.Firmware.Fir
4f60 73 74 2c 20 63 6c 6f 6e 65 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 63 68 st,.clone.the.source.code.and.ch
4f80 65 63 6b 20 6f 75 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 65 72 73 69 6f 6e 20 eck.out.the.appropriate.version.
4fa0 62 79 20 72 75 6e 6e 69 6e 67 3a 00 46 6f 6c 6c 6f 77 20 74 68 65 20 61 62 6f 76 65 20 73 74 65 by.running:.Follow.the.above.ste
4fc0 70 73 20 6f 6e 20 68 6f 77 20 74 6f 20 22 46 6f 72 6b 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f ps.on.how.to."Fork.repository.to
4fe0 20 73 75 62 6d 69 74 20 61 20 50 61 74 63 68 22 2e 20 49 6e 73 74 65 61 64 20 6f 66 20 75 70 6c .submit.a.Patch"..Instead.of.upl
5000 6f 61 64 69 6e 67 20 22 70 75 73 68 69 6e 67 22 20 79 6f 75 72 20 63 68 61 6e 67 65 73 20 74 6f oading."pushing".your.changes.to
5020 20 47 69 74 48 75 62 20 79 6f 75 20 63 61 6e 20 65 78 70 6f 72 74 20 74 68 65 20 70 61 74 63 68 .GitHub.you.can.export.the.patch
5040 65 73 2f 20 63 6f 6d 6d 69 74 73 20 61 6e 64 20 73 65 6e 64 20 69 74 20 74 6f 20 6d 61 69 6e 74 es/.commits.and.send.it.to.maint
5060 61 69 6e 65 72 73 40 76 79 6f 73 2e 6e 65 74 20 6f 72 20 61 74 74 61 63 68 20 69 74 20 64 69 72 ainers@vyos.net.or.attach.it.dir
5080 65 63 74 6c 79 20 74 6f 20 74 68 65 20 62 75 67 20 28 70 72 65 66 65 72 72 65 64 20 6f 76 65 72 ectly.to.the.bug.(preferred.over
50a0 20 65 6d 61 69 6c 29 00 46 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 65 73 73 61 67 65 20 77 68 .email).Followed.by.a.message.wh
50c0 69 63 68 20 64 65 73 63 72 69 62 65 73 20 61 6c 6c 20 74 68 65 20 64 65 74 61 69 6c 73 20 6c 69 ich.describes.all.the.details.li
50e0 6b 65 3a 00 46 6f 72 20 65 61 63 68 20 66 65 61 74 75 72 65 2c 20 61 20 66 69 6c 65 20 63 61 6c ke:.For.each.feature,.a.file.cal
5100 6c 65 64 20 60 60 76 79 6f 73 2e 66 65 61 74 75 72 65 2e 64 65 62 75 67 60 60 20 63 61 6e 20 62 led.``vyos.feature.debug``.can.b
5120 65 20 63 72 65 61 74 65 64 20 74 6f 20 74 6f 67 67 6c 65 20 74 68 65 20 66 65 61 74 75 72 65 20 e.created.to.toggle.the.feature.
5140 6f 6e 2e 20 49 66 20 61 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 72 65 71 75 69 72 65 64 20 69 on..If.a.parameter.is.required.i
5160 74 20 63 61 6e 20 62 65 20 70 6c 61 63 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 66 69 6c 65 20 t.can.be.placed.inside.the.file.
5180 61 73 20 69 74 73 20 66 69 72 73 74 20 6c 69 6e 65 2e 00 46 6f 72 20 65 61 73 79 20 6f 72 69 65 as.its.first.line..For.easy.orie
51a0 6e 74 61 74 69 6f 6e 20 77 65 20 73 75 67 67 65 73 74 20 79 6f 75 20 74 61 6b 65 20 61 20 6c 6f ntation.we.suggest.you.take.a.lo
51c0 6f 6b 20 6f 6e 20 74 68 65 20 60 60 6e 74 70 2e 70 79 60 60 20 6f 72 20 60 60 69 6e 74 65 72 66 ok.on.the.``ntp.py``.or.``interf
51e0 61 63 65 73 2d 62 6f 6e 64 69 6e 67 2e 70 79 60 60 20 28 66 6f 72 20 74 61 67 20 6e 6f 64 65 73 aces-bonding.py``.(for.tag.nodes
5200 29 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 42 6f 74 68 20 66 69 6c 65 73 20 63 61 6e ).implementation..Both.files.can
5220 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 76 79 6f 73 2d 31 78 5f 20 72 65 70 6f 73 69 .be.found.in.the.vyos-1x_.reposi
5240 74 6f 72 79 2e 00 46 6f 72 20 65 78 61 6d 70 6c 65 20 72 75 6e 6e 69 6e 67 2c 20 60 60 65 78 70 tory..For.example.running,.``exp
5260 6f 72 74 20 56 59 4f 53 5f 49 46 43 4f 4e 46 49 47 5f 44 45 42 55 47 3d 22 22 60 60 20 6f 6e 20 ort.VYOS_IFCONFIG_DEBUG=""``.on.
5280 79 6f 75 72 20 76 62 61 73 68 2c 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 65 your.vbash,.will.have.the.same.e
52a0 66 66 65 63 74 20 61 73 20 60 60 74 6f 75 63 68 20 2f 74 6d 70 2f 76 79 6f 73 2e 69 66 63 6f 6e ffect.as.``touch./tmp/vyos.ifcon
52c0 66 69 67 2e 64 65 62 75 67 60 60 2e 00 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 60 60 2f 74 6d 70 fig.debug``..For.example,.``/tmp
52e0 2f 76 79 6f 73 2e 69 66 63 6f 6e 66 69 67 2e 64 65 62 75 67 60 60 20 63 61 6e 20 62 65 20 63 72 /vyos.ifconfig.debug``.can.be.cr
5300 65 61 74 65 64 20 74 6f 20 65 6e 61 62 6c 65 20 69 6e 74 65 72 66 61 63 65 20 64 65 62 75 67 67 eated.to.enable.interface.debugg
5320 69 6e 67 2e 00 46 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 72 65 71 75 69 72 65 64 2c 20 ing..For.the.packages.required,.
5340 79 6f 75 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 60 60 64 6f 63 6b 65 72 2f 44 6f you.can.refer.to.the.``docker/Do
5360 63 6b 65 72 66 69 6c 65 60 60 20 66 69 6c 65 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 ckerfile``.file.in.the.repositor
5380 79 5f 2e 20 54 68 65 20 60 60 2e 2f 62 75 69 6c 64 2d 76 79 6f 73 2d 69 6d 61 67 65 60 60 20 73 y_..The.``./build-vyos-image``.s
53a0 63 72 69 70 74 20 77 69 6c 6c 20 61 6c 73 6f 20 77 61 72 6e 20 79 6f 75 20 69 66 20 61 6e 79 20 cript.will.also.warn.you.if.any.
53c0 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6d 69 73 73 69 6e 67 2e 00 46 6f 72 6b 20 52 dependencies.are.missing..Fork.R
53e0 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 73 75 62 6d 69 74 20 50 61 74 63 68 00 46 6f 72 6b 3a epository.and.submit.Patch.Fork:
5400 20 60 60 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 6d 79 66 6f 72 6b 20 68 74 74 70 73 3a 2f .``git.remote.add.myfork.https:/
5420 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 3c 75 73 65 72 3e 2f 76 79 6f 73 2d 31 78 2e 67 69 74 60 60 /github.com/<user>/vyos-1x.git``
5440 00 46 6f 72 6b 69 6e 67 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 73 75 62 6d .Forking.the.repository.and.subm
5460 69 74 74 69 6e 67 20 61 20 47 69 74 48 75 62 20 70 75 6c 6c 2d 72 65 71 75 65 73 74 20 69 73 20 itting.a.GitHub.pull-request.is.
5480 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 6f 66 20 73 75 62 6d 69 74 74 69 6e 67 20 the.preferred.way.of.submitting.
54a0 79 6f 75 72 20 63 68 61 6e 67 65 73 20 74 6f 20 56 79 4f 53 2e 20 59 6f 75 20 63 61 6e 20 66 6f your.changes.to.VyOS..You.can.fo
54c0 72 6b 20 61 6e 79 20 56 79 4f 53 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 76 rk.any.VyOS.repository.to.your.v
54e0 65 72 79 20 6f 77 6e 20 47 69 74 48 75 62 20 61 63 63 6f 75 6e 74 20 62 79 20 6a 75 73 74 20 61 ery.own.GitHub.account.by.just.a
5500 70 70 65 6e 64 69 6e 67 20 60 60 2f 66 6f 72 6b 60 60 20 74 6f 20 61 6e 79 20 72 65 70 6f 73 69 ppending.``/fork``.to.any.reposi
5520 74 6f 72 79 27 73 20 55 52 4c 20 6f 6e 20 47 69 74 48 75 62 2e 20 54 6f 20 65 2e 67 2e 20 66 6f tory's.URL.on.GitHub..To.e.g..fo
5540 72 6b 20 74 68 65 20 60 60 76 79 6f 73 2d 31 78 60 60 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 6f rk.the.``vyos-1x``.repository,.o
5560 70 65 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 52 4c 20 69 6e 20 79 6f 75 72 20 66 61 pen.the.following.URL.in.your.fa
5580 76 6f 75 72 69 74 65 20 62 72 6f 77 73 65 72 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e vourite.browser:.https://github.
55a0 63 6f 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 31 78 2f 66 6f 72 6b 00 46 6f 72 6d 61 74 74 69 6e 67 com/vyos/vyos-1x/fork.Formatting
55c0 00 47 4e 55 20 50 72 65 70 72 6f 63 65 73 73 6f 72 00 47 65 74 20 63 6f 6d 6d 75 6e 69 74 79 20 .GNU.Preprocessor.Get.community.
55e0 73 75 70 70 6f 72 74 20 76 69 61 20 53 6c 61 63 6b 5f 20 6f 72 20 6f 75 72 20 46 6f 72 75 6d 5f support.via.Slack_.or.our.Forum_
5600 00 47 6f 6f 64 20 6c 75 63 6b 21 00 47 6f 6f 64 3a 20 22 44 69 73 61 62 6c 65 20 49 50 76 36 20 .Good.luck!.Good:."Disable.IPv6.
5620 66 6f 72 77 61 72 64 69 6e 67 22 00 47 6f 6f 64 3a 20 22 46 72 6f 62 6e 69 63 61 74 69 6f 6e 20 forwarding".Good:."Frobnication.
5640 61 6c 67 6f 72 69 74 68 6d 22 00 47 6f 6f 64 3a 20 22 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e algorithm".Good:."TCP.connection
5660 20 74 69 6d 65 6f 75 74 22 00 47 6f 6f 64 3a 20 50 50 50 6f 45 2c 20 49 50 73 65 63 00 47 6f 6f .timeout".Good:.PPPoE,.IPsec.Goo
5680 64 3a 20 52 41 44 49 55 53 20 28 61 73 20 69 6e 20 72 65 6d 6f 74 65 20 61 75 74 68 65 6e 74 69 d:.RADIUS.(as.in.remote.authenti
56a0 63 61 74 69 6f 6e 20 66 6f 72 20 64 69 61 6c 2d 69 6e 20 75 73 65 72 20 73 65 72 76 69 63 65 73 cation.for.dial-in.user.services
56c0 29 00 47 75 69 64 65 6c 69 6e 65 73 00 48 65 6c 70 20 53 74 72 69 6e 67 00 48 65 6c 70 20 66 75 ).Guidelines.Help.String.Help.fu
56e0 74 75 72 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 6f 66 20 56 79 4f 53 20 28 69 74 20 63 6f 75 ture.maintainers.of.VyOS.(it.cou
5700 6c 64 20 62 65 20 79 6f 75 21 29 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 68 79 20 63 65 72 74 ld.be.you!).to.find.out.why.cert
5720 61 69 6e 20 74 68 69 6e 67 73 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 69 6e 20 ain.things.have.been.changed.in.
5740 74 68 65 20 63 6f 64 65 62 61 73 65 20 6f 72 20 77 68 79 20 63 65 72 74 61 69 6e 20 66 65 61 74 the.codebase.or.why.certain.feat
5760 75 72 65 73 20 68 61 76 65 20 62 65 65 6e 20 61 64 64 65 64 00 48 6f 72 72 69 62 6c 65 3a 20 22 ures.have.been.added.Horrible:."
5780 54 63 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d 65 6f 75 74 22 00 48 6f 72 72 69 62 6c 65 Tcp.connection.timeout".Horrible
57a0 3a 20 22 66 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 2e 22 00 48 6f 77 20 :."frobnication.algorithm.".How.
57c0 63 61 6e 20 77 65 20 72 65 70 72 6f 64 75 63 65 20 74 68 69 73 20 42 75 67 3f 00 49 20 68 61 76 can.we.reproduce.this.Bug?.I.hav
57e0 65 20 66 6f 75 6e 64 20 61 20 62 75 67 2c 20 77 68 61 74 20 73 68 6f 75 6c 64 20 49 20 64 6f 3f e.found.a.bug,.what.should.I.do?
5800 00 49 50 20 61 6e 64 20 49 50 76 36 20 6f 70 74 69 6f 6e 73 00 49 53 4f 20 42 75 69 6c 64 20 49 .IP.and.IPv6.options.ISO.Build.I
5820 73 73 75 65 73 00 49 53 4f 20 69 6d 61 67 65 20 62 75 69 6c 64 00 49 66 20 61 20 76 65 72 62 20 ssues.ISO.image.build.If.a.verb.
5840 69 73 20 65 73 73 65 6e 74 69 61 6c 2c 20 6b 65 65 70 20 69 74 2e 20 46 6f 72 20 65 78 61 6d 70 is.essential,.keep.it..For.examp
5860 6c 65 2c 20 69 6e 20 74 68 65 20 68 65 6c 70 20 74 65 78 74 20 6f 66 20 60 60 73 65 74 20 73 79 le,.in.the.help.text.of.``set.sy
5880 73 74 65 6d 20 69 70 76 36 20 64 69 73 61 62 6c 65 2d 66 6f 72 77 61 72 64 69 6e 67 60 60 2c 20 stem.ipv6.disable-forwarding``,.
58a0 22 44 69 73 61 62 6c 65 20 49 50 76 36 20 66 6f 72 77 61 72 64 69 6e 67 20 6f 6e 20 61 6c 6c 20 "Disable.IPv6.forwarding.on.all.
58c0 69 6e 74 65 72 66 61 63 65 73 22 20 69 73 20 61 20 70 65 72 66 65 63 74 6c 79 20 6a 75 73 74 69 interfaces".is.a.perfectly.justi
58e0 66 69 65 64 20 77 6f 72 64 69 6e 67 2e 00 49 66 20 61 70 70 6c 69 63 61 62 6c 65 20 61 20 72 65 fied.wording..If.applicable.a.re
5900 66 65 72 65 6e 63 65 20 74 6f 20 61 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 69 74 20 73 68 6f ference.to.a.previous.commit.sho
5920 75 6c 64 20 62 65 20 6d 61 64 65 20 6c 69 6e 6b 69 6e 67 20 74 68 6f 73 65 20 63 6f 6d 6d 69 74 uld.be.made.linking.those.commit
5940 73 20 6e 69 63 65 6c 79 20 77 68 65 6e 20 62 72 6f 77 73 69 6e 67 20 74 68 65 20 68 69 73 74 6f s.nicely.when.browsing.the.histo
5960 72 79 3a 20 60 60 41 66 74 65 72 20 63 6f 6d 6d 69 74 20 61 62 63 64 31 32 65 66 20 28 22 73 6e ry:.``After.commit.abcd12ef.("sn
5980 6d 70 3a 20 74 68 69 73 20 69 73 20 61 20 68 65 61 64 6c 69 6e 65 22 29 20 61 20 50 79 74 68 6f mp:.this.is.a.headline").a.Pytho
59a0 6e 20 69 6d 70 6f 72 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6d 69 73 73 69 6e 67 2c 20 74 n.import.statement.is.missing,.t
59c0 68 72 6f 77 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 3a hrowing.the.following.exception:
59e0 20 41 42 43 44 45 46 60 60 00 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 50 68 61 62 72 69 63 .ABCDEF``.If.there.is.no.Phabric
5a00 61 74 6f 72 5f 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 74 68 65 20 63 6f 6d 6d 69 74 73 20 6f ator_.reference.in.the.commits.o
5a20 66 20 79 6f 75 72 20 70 75 6c 6c 20 72 65 71 75 65 73 74 2c 20 77 65 20 68 61 76 65 20 74 6f 20 f.your.pull.request,.we.have.to.
5a40 61 73 6b 20 79 6f 75 20 74 6f 20 61 6d 65 6e 64 20 74 68 65 20 63 6f 6d 6d 69 74 20 6d 65 73 73 ask.you.to.amend.the.commit.mess
5a60 61 67 65 2e 20 4f 74 68 65 72 77 69 73 65 20 77 65 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 72 age..Otherwise.we.will.have.to.r
5a80 65 6a 65 63 74 20 69 74 2e 00 49 66 20 79 6f 75 20 61 72 65 20 62 72 61 76 65 20 65 6e 6f 75 67 eject.it..If.you.are.brave.enoug
5aa0 68 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 73 65 6c 66 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 h.to.build.yourself.an.ISO.image
5ac0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 79 20 6d 6f 64 69 66 69 65 64 20 70 61 63 6b 61 67 65 .containing.any.modified.package
5ae0 20 66 72 6f 6d 20 6f 75 72 20 47 69 74 48 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 20 2d 20 .from.our.GitHub.organisation.-.
5b00 74 68 69 73 20 69 73 20 74 68 65 20 70 6c 61 63 65 20 74 6f 20 62 65 2e 00 49 66 20 79 6f 75 20 this.is.the.place.to.be..If.you.
5b20 75 70 67 72 61 64 65 20 79 6f 75 72 20 6b 65 72 6e 65 6c 20 6f 72 20 69 6e 63 6c 75 64 65 20 6e upgrade.your.kernel.or.include.n
5b40 65 77 20 64 72 69 76 65 72 73 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 6e 65 77 20 66 69 72 6d ew.drivers.you.may.need.new.firm
5b60 77 61 72 65 2e 20 42 75 69 6c 64 20 61 20 6e 65 77 20 60 60 76 79 6f 73 2d 6c 69 6e 75 78 2d 66 ware..Build.a.new.``vyos-linux-f
5b80 69 72 6d 77 61 72 65 60 60 20 70 61 63 6b 61 67 65 20 77 69 74 68 20 74 68 65 20 69 6e 63 6c 75 irmware``.package.with.the.inclu
5ba0 64 65 64 20 68 65 6c 70 65 72 20 73 63 72 69 70 74 73 2e 00 49 6e 20 61 20 62 69 67 20 73 79 73 ded.helper.scripts..In.a.big.sys
5bc0 74 65 6d 2c 20 73 75 63 68 20 61 73 20 56 79 4f 53 2c 20 74 68 61 74 20 69 73 20 63 6f 6d 70 72 tem,.such.as.VyOS,.that.is.compr
5be0 69 73 65 64 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 2c 20 69 74 27 ised.of.multiple.components,.it'
5c00 73 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61 6c s.impossible.to.keep.track.of.al
5c20 6c 20 74 68 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 62 75 67 73 2f 66 65 61 74 75 72 65 20 72 l.the.changes.and.bugs/feature.r
5c40 65 71 75 65 73 74 73 20 69 6e 20 6f 6e 65 27 73 20 68 65 61 64 2e 20 57 65 20 75 73 65 20 61 20 equests.in.one's.head..We.use.a.
5c60 62 75 67 74 72 61 63 6b 65 72 20 6b 6e 6f 77 6e 20 61 73 20 50 68 61 62 72 69 63 61 74 6f 72 5f bugtracker.known.as.Phabricator_
5c80 20 66 6f 72 20 69 74 20 28 22 69 73 73 75 65 20 74 72 61 63 6b 65 72 22 20 77 6f 75 6c 64 20 62 .for.it.("issue.tracker".would.b
5ca0 65 20 61 20 62 65 74 74 65 72 20 74 65 72 6d 2c 20 62 75 74 20 74 68 69 73 20 6f 6e 65 20 73 74 e.a.better.term,.but.this.one.st
5cc0 75 63 6b 29 2e 00 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 68 69 73 20 61 6c 73 6f 20 68 65 6c 70 uck)..In.addition.this.also.help
5ce0 73 20 77 68 65 6e 20 62 72 6f 77 73 69 6e 67 20 74 68 65 20 47 69 74 48 75 62 20 63 6f 64 65 62 s.when.browsing.the.GitHub.codeb
5d00 61 73 65 20 6f 6e 20 61 20 6d 6f 62 69 6c 65 20 64 65 76 69 63 65 20 69 66 20 79 6f 75 20 68 61 ase.on.a.mobile.device.if.you.ha
5d20 70 70 65 6e 20 74 6f 20 62 65 20 61 20 63 72 61 7a 79 20 73 63 69 65 6e 74 69 73 74 2e 00 49 6e ppen.to.be.a.crazy.scientist..In
5d40 20 6f 72 64 65 72 20 74 6f 20 6f 70 65 6e 20 75 70 20 61 20 62 75 67 2d 72 65 70 6f 72 74 2f 66 .order.to.open.up.a.bug-report/f
5d60 65 61 74 75 72 65 20 72 65 71 75 65 73 74 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 72 65 61 74 eature.request.you.need.to.creat
5d80 65 20 79 6f 75 72 73 65 6c 66 20 61 6e 20 61 63 63 6f 75 6e 74 20 6f 6e 20 56 79 4f 53 20 50 68 e.yourself.an.account.on.VyOS.Ph
5da0 61 62 72 69 63 61 74 6f 72 5f 2e 20 4f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 6f 66 20 abricator_..On.the.left.side.of.
5dc0 74 68 65 20 73 70 65 63 69 66 69 63 20 70 72 6f 6a 65 63 74 20 28 56 79 4f 53 20 31 2e 32 20 6f the.specific.project.(VyOS.1.2.o
5de0 72 20 56 79 4f 53 20 31 2e 33 29 20 79 6f 75 20 77 69 6c 6c 20 66 69 6e 64 20 71 75 69 63 6b 2d r.VyOS.1.3).you.will.find.quick-
5e00 6c 69 6e 6b 73 20 66 6f 72 20 6f 70 65 6e 69 6e 67 20 61 20 62 75 67 2d 72 65 70 6f 72 74 2f 66 links.for.opening.a.bug-report/f
5e20 65 61 74 75 72 65 20 72 65 71 75 65 73 74 2e 00 49 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 6f eature.request..In.order.to.reco
5e40 72 64 20 79 6f 75 20 61 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 74 68 65 20 66 69 78 20 rd.you.as.the.author.of.the.fix.
5e60 70 6c 65 61 73 65 20 69 64 65 6e 74 69 66 79 20 79 6f 75 72 73 65 6c 66 20 74 6f 20 47 69 74 20 please.identify.yourself.to.Git.
5e80 62 79 20 73 65 74 74 69 6e 67 20 75 70 20 79 6f 75 72 20 6e 61 6d 65 20 61 6e 64 20 65 6d 61 69 by.setting.up.your.name.and.emai
5ea0 6c 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 6c 6f 63 61 6c 20 66 6f 72 20 74 68 l..This.can.be.done.local.for.th
5ec0 69 73 20 6f 6e 65 20 61 6e 64 20 6f 6e 6c 79 20 72 65 70 6f 73 69 74 6f 72 79 20 60 60 67 69 74 is.one.and.only.repository.``git
5ee0 20 63 6f 6e 66 69 67 60 60 20 6f 72 20 67 6c 6f 62 61 6c 6c 79 20 75 73 69 6e 67 20 60 60 67 69 .config``.or.globally.using.``gi
5f00 74 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 60 60 2e 00 49 6e 20 6f 72 64 65 72 20 74 6f t.config.--global``..In.order.to
5f20 20 72 65 74 72 69 65 76 65 20 74 68 65 20 64 65 62 75 67 20 6f 75 74 70 75 74 20 6f 6e 20 74 68 .retrieve.the.debug.output.on.th
5f40 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 64 69 73 61 62 e.command-line.you.need.to.disab
5f60 6c 65 20 60 60 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 20 69 6e 20 61 64 64 69 74 69 6f 6e 2e le.``vyos-configd``.in.addition.
5f80 20 54 68 69 73 20 63 61 6e 20 62 65 20 72 75 6e 20 65 69 74 68 65 72 20 6f 6e 65 2d 74 69 6d 65 .This.can.be.run.either.one-time
5fa0 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 73 75 64 6f 20 73 79 73 74 65 6d 63 74 6c 20 73 74 6f .by.calling.``sudo.systemctl.sto
5fc0 70 20 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 20 6f 72 20 6d 61 6b 65 20 74 68 69 73 20 72 65 p.vyos-configd``.or.make.this.re
5fe0 62 6f 6f 74 2d 73 61 66 65 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 73 75 64 6f 20 73 79 73 74 boot-safe.by.calling.``sudo.syst
6000 65 6d 63 74 6c 20 64 69 73 61 62 6c 65 20 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 2e 00 49 6e emctl.disable.vyos-configd``..In
6020 20 73 6f 6d 65 20 63 6f 6e 74 65 78 74 73 2c 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 69 .some.contexts,.the.first.line.i
6040 73 20 74 72 65 61 74 65 64 20 61 73 20 74 68 65 20 73 75 62 6a 65 63 74 20 6f 66 20 61 6e 20 65 s.treated.as.the.subject.of.an.e
6060 6d 61 69 6c 20 61 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 74 65 78 74 20 61 73 mail.and.the.rest.of.the.text.as
6080 20 74 68 65 20 62 6f 64 79 2e 20 54 68 65 20 62 6c 61 6e 6b 20 6c 69 6e 65 20 73 65 70 61 72 61 .the.body..The.blank.line.separa
60a0 74 69 6e 67 20 74 68 65 20 73 75 6d 6d 61 72 79 20 66 72 6f 6d 20 74 68 65 20 62 6f 64 79 20 69 ting.the.summary.from.the.body.i
60c0 73 20 63 72 69 74 69 63 61 6c 20 28 75 6e 6c 65 73 73 20 79 6f 75 20 6f 6d 69 74 20 74 68 65 20 s.critical.(unless.you.omit.the.
60e0 62 6f 64 79 20 65 6e 74 69 72 65 6c 79 29 3b 20 74 6f 6f 6c 73 20 6c 69 6b 65 20 72 65 62 61 73 body.entirely);.tools.like.rebas
6100 65 20 63 61 6e 20 67 65 74 20 63 6f 6e 66 75 73 65 64 20 69 66 20 79 6f 75 20 72 75 6e 20 74 68 e.can.get.confused.if.you.run.th
6120 65 20 74 77 6f 20 74 6f 67 65 74 68 65 72 2e 00 49 6e 20 74 68 65 20 65 6e 64 20 79 6f 75 20 77 e.two.together..In.the.end.you.w
6140 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 77 69 74 68 20 74 68 65 20 6b 65 72 6e 65 6c ill.be.presented.with.the.kernel
6160 20 62 69 6e 61 72 79 20 70 61 63 6b 61 67 65 73 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 74 .binary.packages.which.you.can.t
6180 68 65 6e 20 75 73 65 20 69 6e 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 49 53 4f 20 62 75 69 6c 64 hen.use.in.your.custom.ISO.build
61a0 20 70 72 6f 63 65 73 73 2c 20 62 79 20 70 6c 61 63 69 6e 67 20 61 6c 6c 20 74 68 65 20 60 2a 2e .process,.by.placing.all.the.`*.
61c0 64 65 62 60 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 deb`.files.in.the.vyos-build/pac
61e0 6b 61 67 65 73 20 66 6f 6c 64 65 72 20 77 68 65 72 65 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 kages.folder.where.they.will.be.
6200 75 73 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67 used.automatically.when.building
6220 20 56 79 4f 53 20 61 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 62 6f 76 65 2e 00 49 6e 20 74 68 .VyOS.as.documented.above..In.th
6240 65 20 66 75 74 75 72 65 2c 20 77 65 20 6d 61 79 20 73 77 69 74 63 68 20 74 6f 20 75 73 69 6e 67 e.future,.we.may.switch.to.using
6260 20 73 79 73 74 65 6d 64 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 20 69 6e 73 74 65 61 64 2e .systemd.infrastructure.instead.
6280 20 42 75 69 6c 64 69 6e 67 20 69 74 20 64 6f 65 73 6e 27 74 20 72 65 71 75 69 72 65 20 61 20 73 .Building.it.doesn't.require.a.s
62a0 70 65 63 69 61 6c 20 70 72 6f 63 65 64 75 72 65 2e 00 49 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 pecial.procedure..Include.output
62c0 00 49 6e 73 65 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 20 .Insert.the.following.statement.
62e0 72 69 67 68 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 74 69 6f 6e 20 77 68 65 72 65 20 79 right.before.the.section.where.y
6300 6f 75 20 77 61 6e 74 20 74 6f 20 69 6e 76 65 73 74 69 67 61 74 65 20 61 20 70 72 6f 62 6c 65 6d ou.want.to.investigate.a.problem
6320 20 28 65 2e 67 2e 20 61 20 73 74 61 74 65 6d 65 6e 74 20 79 6f 75 20 73 65 65 20 69 6e 20 61 20 .(e.g..a.statement.you.see.in.a.
6340 62 61 63 6b 74 72 61 63 65 29 3a 20 60 60 69 6d 70 6f 72 74 20 70 64 62 3b 20 70 64 62 2e 73 65 backtrace):.``import.pdb;.pdb.se
6360 74 5f 74 72 61 63 65 28 29 60 60 20 4f 70 74 69 6f 6e 61 6c 6c 79 20 79 6f 75 20 63 61 6e 20 73 t_trace()``.Optionally.you.can.s
6380 75 72 72 6f 75 6e 64 65 64 20 74 68 69 73 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 61 6e 20 60 urrounded.this.statement.by.an.`
63a0 60 69 66 60 60 20 77 68 69 63 68 20 6f 6e 6c 79 20 74 72 69 67 67 65 72 73 20 75 6e 64 65 72 20 `if``.which.only.triggers.under.
63c0 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 79 6f 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 the.condition.you.are.interested
63e0 20 69 6e 2e 00 49 6e 73 74 61 6c 6c 00 49 6e 73 74 61 6c 6c 20 68 74 74 70 73 3a 2f 2f 70 79 70 .in..Install.Install.https://pyp
6400 69 2e 6f 72 67 2f 70 72 6f 6a 65 63 74 2f 73 74 64 65 62 2f 00 49 6e 73 74 61 6c 6c 69 6e 67 20 i.org/project/stdeb/.Installing.
6420 44 6f 63 6b 65 72 5f 20 61 6e 64 20 70 72 65 72 65 71 75 69 73 69 74 65 73 3a 00 49 6e 73 74 65 Docker_.and.prerequisites:.Inste
6440 61 64 20 6f 66 20 73 75 70 70 6c 79 69 6e 67 20 61 6c 6c 20 74 68 6f 73 65 20 58 4d 4c 20 6e 6f ad.of.supplying.all.those.XML.no
6460 64 65 73 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 74 68 65 72 65 20 61 72 65 20 6e 6f 77 des.multiple.times.there.are.now
6480 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 20 77 69 74 68 20 70 72 65 64 65 66 69 6e 65 64 20 66 .include.files.with.predefined.f
64a0 65 61 74 75 72 65 73 2e 20 42 72 69 65 66 20 6f 76 65 72 76 69 65 77 3a 00 49 6e 74 65 6c 20 4e eatures..Brief.overview:.Intel.N
64c0 49 43 00 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 00 49 6e 74 65 6c 20 51 41 54 00 49 IC.Intel.NIC.drivers.Intel.QAT.I
64e0 6e 74 65 72 20 51 41 54 00 49 6e 74 65 72 66 61 63 65 20 62 61 73 65 64 20 74 65 73 74 73 00 49 nter.QAT.Interface.based.tests.I
6500 73 73 75 65 73 20 6f 72 20 62 75 67 73 20 61 72 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 73 ssues.or.bugs.are.found.in.any.s
6520 6f 66 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e 20 56 79 4f 53 20 69 73 20 6e 6f 74 20 61 6e 20 oftware.project..VyOS.is.not.an.
6540 65 78 63 65 70 74 69 6f 6e 2e 00 49 73 73 75 65 73 2f 46 65 61 74 75 72 65 20 72 65 71 75 65 73 exception..Issues/Feature.reques
6560 74 73 00 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 65 74 20 75 70 ts.It.is.also.possible.to.set.up
6580 20 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 75 73 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 .the.debugging.using.environment
65a0 20 76 61 72 69 61 62 6c 65 73 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 65 20 6e 61 .variables..In.that.case,.the.na
65c0 6d 65 20 77 69 6c 6c 20 62 65 20 28 69 6e 20 75 70 70 65 72 63 61 73 65 29 20 56 59 4f 53 5f 46 me.will.be.(in.uppercase).VYOS_F
65e0 45 41 54 55 52 45 5f 44 45 42 55 47 2e 00 49 74 27 73 20 61 6e 20 41 64 61 20 70 72 6f 67 72 61 EATURE_DEBUG..It's.an.Ada.progra
6600 6d 20 61 6e 64 20 72 65 71 75 69 72 65 73 20 47 4e 41 54 20 61 6e 64 20 67 70 72 62 75 69 6c 64 m.and.requires.GNAT.and.gprbuild
6620 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 2c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 .for.building,.dependencies.are.
6640 70 72 6f 70 65 72 6c 79 20 73 70 65 63 69 66 69 65 64 20 73 6f 20 6a 75 73 74 20 66 6f 6c 6c 6f properly.specified.so.just.follo
6660 77 20 64 65 62 75 69 6c 64 27 73 20 73 75 67 67 65 73 74 69 6f 6e 73 2e 00 4a 65 6e 6b 69 6e 73 w.debuild's.suggestions..Jenkins
6680 20 43 49 00 4a 75 73 74 20 69 6e 73 74 61 6c 6c 20 75 73 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f .CI.Just.install.using.the.follo
66a0 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 3a 00 4b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 74 68 65 wing.commands:.Keep.track.of.the
66c0 20 70 72 6f 67 72 65 73 73 20 28 77 68 61 74 20 77 65 27 76 65 20 61 6c 72 65 61 64 79 20 64 6f .progress.(what.we've.already.do
66e0 6e 65 20 69 6e 20 74 68 69 73 20 62 72 61 6e 63 68 20 61 6e 64 20 77 68 61 74 20 77 65 20 73 74 ne.in.this.branch.and.what.we.st
6700 69 6c 6c 20 6e 65 65 64 20 74 6f 20 64 6f 29 2e 00 4b 65 65 70 61 6c 69 76 65 64 20 6e 6f 72 6d ill.need.to.do)..Keepalived.norm
6720 61 6c 6c 79 20 69 73 6e 27 74 20 75 70 64 61 74 65 64 20 74 6f 20 6e 65 77 65 72 20 66 65 61 74 ally.isn't.updated.to.newer.feat
6740 75 72 65 20 72 65 6c 65 61 73 65 73 20 62 65 74 77 65 65 6e 20 44 65 62 69 61 6e 20 76 65 72 73 ure.releases.between.Debian.vers
6760 69 6f 6e 73 2c 20 73 6f 20 77 65 20 61 72 65 20 62 75 69 6c 64 69 6e 67 20 69 74 20 66 72 6f 6d ions,.so.we.are.building.it.from
6780 20 73 6f 75 72 63 65 2e 00 4b 65 72 6e 65 6c 00 4c 61 75 6e 63 68 20 44 6f 63 6b 65 72 20 63 6f .source..Kernel.Launch.Docker.co
67a0 6e 74 61 69 6e 65 72 20 61 6e 64 20 62 75 69 6c 64 20 70 61 63 6b 61 67 65 00 4c 65 61 66 20 6e ntainer.and.build.package.Leaf.n
67c0 6f 64 65 73 20 28 6e 6f 64 65 73 20 77 69 74 68 20 76 61 6c 75 65 73 29 20 75 73 65 20 3c 6c 65 odes.(nodes.with.values).use.<le
67e0 61 66 4e 6f 64 65 3e 20 74 61 67 20 69 6e 73 74 65 61 64 00 4c 65 74 20 75 73 20 61 73 73 75 6d afNode>.tag.instead.Let.us.assum
6800 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 62 75 67 20 61 20 50 79 74 68 6f 6e 20 73 63 72 e.you.want.to.debug.a.Python.scr
6820 69 70 74 20 74 68 61 74 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 61 6e 20 6f 70 2d 6d 6f 64 65 ipt.that.is.called.by.an.op-mode
6840 20 63 6f 6d 6d 61 6e 64 2e 20 41 66 74 65 72 20 79 6f 75 20 66 6f 75 6e 64 20 74 68 65 20 73 63 .command..After.you.found.the.sc
6860 72 69 70 74 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 75 70 20 74 68 65 20 6f 70 2d 6d 6f 64 65 2d 64 ript.by.looking.up.the.op-mode-d
6880 65 66 69 74 69 6f 6e 73 20 79 6f 75 20 63 61 6e 20 65 64 69 74 20 74 68 65 20 73 63 72 69 70 74 efitions.you.can.edit.the.script
68a0 20 69 6e 20 74 68 65 20 6c 69 76 65 20 73 79 73 74 65 6d 20 75 73 69 6e 67 20 65 2e 67 2e 20 76 .in.the.live.system.using.e.g..v
68c0 69 3a 20 60 60 76 69 20 2f 75 73 72 2f 6c 69 62 65 78 65 63 2f 76 79 6f 73 2f 6f 70 5f 6d 6f 64 i:.``vi./usr/libexec/vyos/op_mod
68e0 65 2f 73 68 6f 77 5f 78 79 7a 2e 70 79 60 60 00 4c 65 74 27 73 20 66 61 63 65 20 69 74 3a 20 56 e/show_xyz.py``.Let's.face.it:.V
6900 79 4f 53 20 69 73 20 66 75 6c 6c 20 6f 66 20 73 70 61 67 68 65 74 74 69 20 63 6f 64 65 20 77 68 yOS.is.full.of.spaghetti.code.wh
6920 65 72 65 20 6c 6f 67 69 63 20 66 6f 72 20 72 65 61 64 69 6e 67 20 74 68 65 20 56 79 4f 53 20 63 ere.logic.for.reading.the.VyOS.c
6940 6f 6e 66 69 67 2c 20 67 65 6e 65 72 61 74 69 6e 67 20 64 61 65 6d 6f 6e 20 63 6f 6e 66 69 67 73 onfig,.generating.daemon.configs
6960 2c 20 61 6e 64 20 72 65 73 74 61 72 74 69 6e 67 20 70 72 6f 63 65 73 73 65 73 20 69 73 20 61 6c ,.and.restarting.processes.is.al
6980 6c 20 6d 69 78 65 64 20 75 70 2e 00 4c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 6a 65 l.mixed.up..Like.any.other.proje
69a0 63 74 20 77 65 20 68 61 76 65 20 73 6f 6d 65 20 73 6d 61 6c 6c 20 67 75 69 64 65 6c 69 6e 65 73 ct.we.have.some.small.guidelines
69c0 20 61 62 6f 75 74 20 6f 75 72 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 6f 2e 20 54 68 65 .about.our.source.code,.too..The
69e0 20 72 75 6c 65 73 20 77 65 20 68 61 76 65 20 61 72 65 20 6e 6f 74 20 74 68 65 72 65 20 74 6f 20 .rules.we.have.are.not.there.to.
6a00 70 75 6e 69 73 68 20 79 6f 75 20 2d 20 74 68 65 20 72 75 6c 65 73 20 61 72 65 20 69 6e 20 70 6c punish.you.-.the.rules.are.in.pl
6a20 61 63 65 20 74 6f 20 68 65 6c 70 20 75 73 20 61 6c 6c 2e 20 42 79 20 68 61 76 69 6e 67 20 61 20 ace.to.help.us.all..By.having.a.
6a40 63 6f 6e 73 69 73 74 65 6e 74 20 63 6f 64 69 6e 67 20 73 74 79 6c 65 20 69 74 20 62 65 63 6f 6d consistent.coding.style.it.becom
6a60 65 73 20 76 65 72 79 20 65 61 73 79 20 66 6f 72 20 6e 65 77 20 61 6e 64 20 61 6c 73 6f 20 6c 6f es.very.easy.for.new.and.also.lo
6a80 6e 67 74 69 6d 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 74 6f 20 6e 61 76 69 67 61 74 65 20 ngtime.contributors.to.navigate.
6aa0 74 68 72 6f 75 67 68 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 6e 64 20 61 6c 6c 20 74 68 65 20 through.the.sources.and.all.the.
6ac0 69 6d 70 6c 69 65 64 20 6c 6f 67 69 63 20 6f 66 20 61 6e 79 20 6f 6e 65 20 73 6f 75 72 63 65 20 implied.logic.of.any.one.source.
6ae0 66 69 6c 65 2e 2e 00 4c 69 6d 69 74 73 3a 00 4c 69 6e 75 78 20 4b 65 72 6e 65 6c 00 4c 69 76 65 file...Limits:.Linux.Kernel.Live
6b00 20 53 79 73 74 65 6d 00 4d 54 55 20 73 69 7a 65 00 4d 61 6b 65 20 79 6f 75 72 20 63 68 61 6e 67 .System.MTU.size.Make.your.chang
6b20 65 73 20 61 6e 64 20 73 61 76 65 20 74 68 65 6d 2e 20 44 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 es.and.save.them..Do.the.followi
6b40 6e 67 20 66 6f 72 20 61 6c 6c 20 63 68 61 6e 67 65 73 20 66 69 6c 65 73 20 74 6f 20 72 65 63 6f ng.for.all.changes.files.to.reco
6b60 72 64 20 74 68 65 6d 20 69 6e 20 79 6f 75 72 20 63 72 65 61 74 65 64 20 47 69 74 20 63 6f 6d 6d rd.them.in.your.created.Git.comm
6b80 69 74 3a 00 4d 61 6e 75 61 6c 20 53 6d 6f 6b 65 74 65 73 74 20 52 75 6e 00 4d 61 6e 75 61 6c 20 it:.Manual.Smoketest.Run.Manual.
6ba0 63 6f 6e 66 69 67 20 6c 6f 61 64 20 74 65 73 74 00 4d 61 6e 79 20 62 61 73 65 20 73 79 73 74 65 config.load.test.Many.base.syste
6bc0 6d 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 70 75 6c 6c 65 64 20 73 74 72 61 69 67 68 74 20 66 m.packages.are.pulled.straight.f
6be0 72 6f 6d 20 44 65 62 69 61 6e 27 73 20 6d 61 69 6e 20 61 6e 64 20 63 6f 6e 74 72 69 62 20 72 65 rom.Debian's.main.and.contrib.re
6c00 70 6f 73 69 74 6f 72 69 65 73 2c 20 62 75 74 20 74 68 65 72 65 20 61 72 65 20 65 78 63 65 70 74 positories,.but.there.are.except
6c20 69 6f 6e 73 2e 00 4d 69 67 72 61 74 69 6e 67 20 6f 6c 64 20 43 4c 49 00 4d 6f 76 65 20 64 65 66 ions..Migrating.old.CLI.Move.def
6c40 61 75 6c 74 20 76 61 6c 75 65 73 20 74 6f 20 73 63 72 69 70 74 73 00 4e 61 74 69 76 65 20 42 75 ault.values.to.scripts.Native.Bu
6c60 69 6c 64 00 4e 65 77 20 73 79 6e 74 61 78 00 4e 6f 20 63 6f 64 65 20 69 6e 63 6f 6d 70 61 74 69 ild.New.syntax.No.code.incompati
6c80 62 6c 65 20 77 69 74 68 20 50 79 74 68 6f 6e 33 00 4e 6f 20 6e 65 77 20 66 65 61 74 75 72 65 73 ble.with.Python3.No.new.features
6ca0 20 69 6e 20 50 65 72 6c 00 4e 6f 20 6f 6c 64 20 73 74 79 6c 65 20 63 6f 6d 6d 61 6e 64 20 64 65 .in.Perl.No.old.style.command.de
6cc0 66 69 6e 69 74 69 6f 6e 73 00 4e 6f 20 73 70 65 63 69 61 6c 20 62 75 69 6c 64 20 70 72 6f 63 65 finitions.No.special.build.proce
6ce0 64 75 72 65 20 69 73 20 72 65 71 75 69 72 65 64 2e 00 4e 6f 6e 65 00 4e 6f 74 65 73 00 4e 6f 77 dure.is.required..None.Notes.Now
6d00 20 61 20 66 72 65 73 68 20 62 75 69 6c 64 20 6f 66 20 74 68 65 20 56 79 4f 53 20 49 53 4f 20 63 .a.fresh.build.of.the.VyOS.ISO.c
6d20 61 6e 20 62 65 67 69 6e 2e 20 43 68 61 6e 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 an.begin..Change.directory.to.th
6d40 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 60 60 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 72 e.``vyos-build``.directory.and.r
6d60 75 6e 3a 00 4e 6f 77 20 61 73 20 79 6f 75 20 61 72 65 20 61 77 61 72 65 20 6f 66 20 74 68 65 20 un:.Now.as.you.are.aware.of.the.
6d80 70 72 65 72 65 71 75 69 73 69 74 65 73 20 77 65 20 63 61 6e 20 63 6f 6e 74 69 6e 75 65 20 61 6e prerequisites.we.can.continue.an
6da0 64 20 62 75 69 6c 64 20 6f 75 72 20 6f 77 6e 20 49 53 4f 20 66 72 6f 6d 20 73 6f 75 72 63 65 2e d.build.our.own.ISO.from.source.
6dc0 20 46 6f 72 20 74 68 69 73 20 77 65 20 68 61 76 65 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 6c .For.this.we.have.to.fetch.the.l
6de0 61 74 65 73 74 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 47 69 74 48 75 62 2e 20 50 atest.source.code.from.GitHub..P
6e00 6c 65 61 73 65 20 6e 6f 74 65 20 61 73 20 74 68 69 73 20 77 69 6c 6c 20 64 69 66 66 65 72 20 66 lease.note.as.this.will.differ.f
6e20 6f 72 20 62 6f 74 68 20 60 63 75 72 72 65 6e 74 60 20 61 6e 64 20 60 63 72 75 78 60 2e 00 4e 6f or.both.`current`.and.`crux`..No
6e40 77 20 69 74 27 73 20 74 69 6d 65 20 74 6f 20 66 69 78 20 74 68 65 20 70 61 63 6b 61 67 65 20 6d w.it's.time.to.fix.the.package.m
6e60 69 72 72 6f 72 20 61 6e 64 20 72 65 72 75 6e 20 74 68 65 20 6c 61 73 74 20 73 74 65 70 20 75 6e irror.and.rerun.the.last.step.un
6e80 74 69 6c 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 73 75 63 til.the.package.installation.suc
6ea0 63 65 65 64 73 20 61 67 61 69 6e 21 00 4e 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 74 68 65 20 ceeds.again!.Now.we.can.use.the.
6ec0 68 65 6c 70 65 72 20 73 63 72 69 70 74 20 60 60 62 75 69 6c 64 2d 6b 65 72 6e 65 6c 2e 73 68 60 helper.script.``build-kernel.sh`
6ee0 60 20 77 68 69 63 68 20 64 6f 65 73 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 76 `.which.does.all.the.necessary.v
6f00 6f 6f 64 6f 6f 20 62 79 20 61 70 70 6c 79 69 6e 67 20 72 65 71 75 69 72 65 64 20 70 61 74 63 68 oodoo.by.applying.required.patch
6f20 65 73 20 66 72 6f 6d 20 74 68 65 20 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 es.from.the.`vyos-build/packages
6f40 2f 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 70 61 74 63 68 65 73 60 20 66 6f 6c 64 65 72 2c 20 63 /linux-kernel/patches`.folder,.c
6f60 6f 70 79 69 6e 67 20 6f 75 72 20 6b 65 72 6e 65 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 opying.our.kernel.configuration.
6f80 60 60 78 38 36 5f 36 34 5f 76 79 6f 73 5f 64 65 66 63 6f 6e 66 69 67 60 60 20 74 6f 20 74 68 65 ``x86_64_vyos_defconfig``.to.the
6fa0 20 72 69 67 68 74 20 6c 6f 63 61 74 69 6f 6e 2c 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 62 75 69 .right.location,.and.finally.bui
6fc0 6c 64 69 6e 67 20 74 68 65 20 44 65 62 69 61 6e 20 70 61 63 6b 61 67 65 73 2e 00 4e 6f 77 20 79 lding.the.Debian.packages..Now.y
6fe0 6f 75 20 61 72 65 20 70 72 65 70 61 72 65 64 20 77 69 74 68 20 74 77 6f 20 6e 65 77 20 61 6c 69 ou.are.prepared.with.two.new.ali
7000 61 73 65 73 20 60 60 76 79 62 6c 64 60 60 20 61 6e 64 20 60 60 76 79 62 6c 64 5f 63 72 75 78 60 ases.``vybld``.and.``vybld_crux`
7020 60 20 74 6f 20 73 70 61 77 6e 20 79 6f 75 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 63 6f 6e 74 `.to.spawn.your.development.cont
7040 61 69 6e 65 72 73 20 69 6e 20 79 6f 75 72 20 63 75 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 20 64 ainers.in.your.current.working.d
7060 69 72 65 63 74 6f 72 79 2e 00 4f 6c 64 20 63 6f 6e 63 65 70 74 2f 73 79 6e 74 61 78 00 4f 6e 20 irectory..Old.concept/syntax.On.
7080 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 20 2d 20 61 73 20 65 61 63 68 20 74 65 73 74 20 69 73 the.other.hand.-.as.each.test.is
70a0 20 63 6f 6e 74 61 69 6e 20 69 6e 20 69 74 73 20 6f 77 6e 20 66 69 6c 65 20 2d 20 6f 6e 65 20 63 .contain.in.its.own.file.-.one.c
70c0 61 6e 20 61 6c 77 61 79 73 20 65 78 65 63 75 74 65 20 61 20 73 69 6e 67 6c 65 20 53 6d 6f 6b 65 an.always.execute.a.single.Smoke
70e0 74 65 73 74 20 62 79 20 68 61 6e 64 20 62 79 20 73 69 6d 70 6c 79 20 72 75 6e 6e 69 6e 67 20 74 test.by.hand.by.simply.running.t
7100 68 65 20 50 79 74 68 6f 6e 20 74 65 73 74 20 73 63 72 69 70 74 73 2e 00 4f 6e 63 65 20 79 6f 75 he.Python.test.scripts..Once.you
7120 20 68 61 76 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 .have.the.required.dependencies.
7140 69 6e 73 74 61 6c 6c 65 64 2c 20 79 6f 75 20 6d 61 79 20 70 72 6f 63 65 65 64 20 77 69 74 68 20 installed,.you.may.proceed.with.
7160 74 68 65 20 73 74 65 70 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 3a 72 65 66 3a 60 62 75 69 the.steps.described.in.:ref:`bui
7180 6c 64 5f 69 73 6f 60 2e 00 4f 6e 63 65 20 79 6f 75 20 72 75 6e 20 60 60 73 68 6f 77 20 78 79 7a ld_iso`..Once.you.run.``show.xyz
71a0 60 60 20 61 6e 64 20 79 6f 75 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 74 72 69 67 67 65 72 ``.and.your.condition.is.trigger
71c0 65 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 62 65 20 64 72 6f 70 70 65 64 20 69 6e 74 6f 20 74 68 ed.you.should.be.dropped.into.th
71e0 65 20 70 79 74 68 6f 6e 20 64 65 62 75 67 67 65 72 3a 00 4f 6e 65 20 69 73 20 6e 6f 74 20 62 6f e.python.debugger:.One.is.not.bo
7200 75 6e 64 20 74 6f 20 6c 6f 61 64 20 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 6f und.to.load.all.configurations.o
7220 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 62 75 74 20 63 61 6e 20 61 6c 73 6f 20 6c 6f ne.after.another.but.can.also.lo
7240 61 64 20 69 6e 64 69 76 69 64 75 61 6c 20 74 65 73 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e ad.individual.test.configuration
7260 73 20 6f 6e 20 68 69 73 20 6f 77 6e 2e 00 4f 6e 65 20 6f 66 20 74 68 65 20 6d 61 6a 6f 72 20 61 s.on.his.own..One.of.the.major.a
7280 64 76 61 6e 74 61 67 65 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 56 79 4f 53 20 31 2e 33 dvantages.introduced.in.VyOS.1.3
72a0 20 69 73 20 61 6e 20 61 75 74 6d 61 74 65 64 20 74 65 73 74 20 66 72 61 6d 65 77 6f 72 6b 2e 20 .is.an.autmated.test.framework..
72c0 57 68 65 6e 20 61 73 73 65 6d 62 6c 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 6d 75 6c When.assembling.an.ISO.image.mul
72e0 74 69 70 6c 65 20 74 68 69 6e 67 73 20 63 61 6e 20 67 6f 20 77 72 6f 6e 67 20 62 61 64 6c 79 20 tiple.things.can.go.wrong.badly.
7300 61 6e 64 20 70 75 62 6c 69 73 68 69 6e 67 20 61 20 66 61 75 6c 74 79 20 49 53 4f 20 6d 61 6b 65 and.publishing.a.faulty.ISO.make
7320 73 20 6e 6f 20 73 65 6e 73 65 2e 20 54 68 65 20 75 73 65 72 20 69 73 20 64 69 73 61 70 70 6f 69 s.no.sense..The.user.is.disappoi
7340 6e 74 65 64 20 62 79 20 74 68 65 20 71 75 61 6c 69 74 79 20 6f 66 20 74 68 65 20 69 6d 61 67 65 nted.by.the.quality.of.the.image
7360 20 61 6e 64 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 67 65 74 20 66 6c 6f 64 64 65 64 20 .and.the.developers.get.flodded.
7380 77 69 74 68 20 62 75 67 20 72 65 70 6f 72 74 73 20 6f 76 65 72 20 61 6e 64 20 6f 76 65 72 20 61 with.bug.reports.over.and.over.a
73a0 67 61 69 6e 2e 00 4f 6e 65 20 6f 66 20 74 68 65 20 6d 61 6a 6f 72 20 61 64 76 61 6e 74 61 67 65 gain..One.of.the.major.advantage
73c0 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 56 79 4f 53 20 31 2e 33 20 69 73 20 61 6e 20 61 s.introduced.in.VyOS.1.3.is.an.a
73e0 75 74 6f 6d 61 74 65 64 20 74 65 73 74 20 66 72 61 6d 65 77 6f 72 6b 2e 20 57 68 65 6e 20 61 73 utomated.test.framework..When.as
7400 73 65 6d 62 6c 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 6d 75 6c 74 69 70 6c 65 20 74 sembling.an.ISO.image.multiple.t
7420 68 69 6e 67 73 20 63 61 6e 20 67 6f 20 77 72 6f 6e 67 20 62 61 64 6c 79 20 61 6e 64 20 70 75 62 hings.can.go.wrong.badly.and.pub
7440 6c 69 73 68 69 6e 67 20 61 20 66 61 75 6c 74 79 20 49 53 4f 20 6d 61 6b 65 73 20 6e 6f 20 73 65 lishing.a.faulty.ISO.makes.no.se
7460 6e 73 65 2e 20 54 68 65 20 75 73 65 72 20 69 73 20 64 69 73 61 70 70 6f 69 6e 74 65 64 20 62 79 nse..The.user.is.disappointed.by
7480 20 74 68 65 20 71 75 61 6c 69 74 79 20 6f 66 20 74 68 65 20 69 6d 61 67 65 20 61 6e 64 20 74 68 .the.quality.of.the.image.and.th
74a0 65 20 64 65 76 65 6c 6f 70 65 72 73 20 67 65 74 20 66 6c 6f 64 64 65 64 20 77 69 74 68 20 62 75 e.developers.get.flodded.with.bu
74c0 67 20 72 65 70 6f 72 74 73 20 6f 76 65 72 20 61 6e 64 20 6f 76 65 72 20 61 67 61 69 6e 2e 00 4f g.reports.over.and.over.again..O
74e0 6e 6c 79 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 6c 65 61 66 20 6e 6f 64 65 73 00 4f 74 68 nly.applicable.to.leaf.nodes.Oth
7500 65 72 20 70 61 63 6b 61 67 65 73 20 28 65 2e 67 2e 20 76 79 6f 73 2d 31 78 29 20 61 64 64 20 64 er.packages.(e.g..vyos-1x).add.d
7520 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 20 70 72 6f ependencies.to.the.ISO.build.pro
7540 63 65 64 75 72 65 20 6f 6e 20 65 2e 67 2e 20 74 68 65 20 77 69 72 65 67 75 61 72 64 2d 6d 6f 64 cedure.on.e.g..the.wireguard-mod
7560 75 6c 65 73 20 70 61 63 6b 61 67 65 20 77 68 69 63 68 20 69 74 73 65 6c 66 20 61 64 64 73 20 61 ules.package.which.itself.adds.a
7580 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 6f .dependency.on.the.kernel.versio
75a0 6e 20 75 73 65 64 20 64 75 65 20 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 74 20 73 68 69 70 n.used.due.to.the.module.it.ship
75c0 73 2e 20 54 68 69 73 20 6d 61 79 20 63 68 61 6e 67 65 20 28 66 6f 72 20 57 69 72 65 47 75 61 72 s..This.may.change.(for.WireGuar
75e0 64 29 20 69 6e 20 66 75 74 75 72 65 20 6b 65 72 6e 65 6c 20 72 65 6c 65 61 73 65 73 20 62 75 74 d).in.future.kernel.releases.but
7600 20 61 73 20 6c 6f 6e 67 20 61 73 20 77 65 20 68 61 76 65 20 6f 75 74 2d 6f 66 2d 74 72 65 65 20 .as.long.as.we.have.out-of-tree.
7620 6d 6f 64 75 6c 65 73 2e 00 4f 75 72 20 53 74 72 6f 6e 67 53 57 41 4e 20 62 75 69 6c 64 20 64 69 modules..Our.StrongSWAN.build.di
7640 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 75 70 73 74 72 65 61 6d 3a 00 4f 75 72 20 60 56 79 ffers.from.the.upstream:.Our.`Vy
7660 4f 53 20 43 49 60 5f 20 73 79 73 74 65 6d 20 69 73 20 62 61 73 65 64 20 6f 6e 20 4a 65 6e 6b 69 OS.CI`_.system.is.based.on.Jenki
7680 6e 73 20 61 6e 64 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 75 72 20 72 65 71 75 69 72 65 64 20 70 ns.and.builds.all.our.required.p
76a0 61 63 6b 61 67 65 73 20 66 6f 72 20 56 79 4f 53 20 31 2e 32 20 74 6f 20 31 2e 34 2e 20 49 6e 20 ackages.for.VyOS.1.2.to.1.4..In.
76c0 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 61 63 6b 61 67 65 20 62 75 69 6c 64 2c 20 74 addition.to.the.package.build,.t
76e0 68 65 72 65 20 69 73 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 20 4a 6f 62 20 77 68 69 63 68 here.is.the.vyos-build.Job.which
7700 20 62 75 69 6c 64 73 20 61 6e 64 20 74 65 73 74 73 20 74 68 65 20 56 79 4f 53 20 49 53 4f 20 69 .builds.and.tests.the.VyOS.ISO.i
7720 6d 61 67 65 20 77 68 69 63 68 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 66 74 65 72 20 61 20 mage.which.is.published.after.a.
7740 73 75 63 63 65 73 73 66 75 6c 6c 20 74 65 73 74 20 64 72 69 76 65 2e 00 4f 75 72 20 63 6f 64 65 successfull.test.drive..Our.code
7760 20 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 20 6d 6f 64 75 6c 65 73 2e 20 .is.split.into.several.modules..
7780 56 79 4f 53 20 69 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 69 6e 64 VyOS.is.composed.of.multiple.ind
77a0 69 76 69 64 75 61 6c 20 70 61 63 6b 61 67 65 73 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 20 61 ividual.packages,.some.of.them.a
77c0 72 65 20 66 6f 72 6b 73 20 6f 66 20 75 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 20 61 6e re.forks.of.upstream.packages.an
77e0 64 20 61 72 65 20 70 65 72 69 6f 64 69 63 61 6c 6c 79 20 73 79 6e 63 65 64 20 77 69 74 68 20 75 d.are.periodically.synced.with.u
7800 70 73 74 72 65 61 6d 2c 20 73 6f 20 6b 65 65 70 69 6e 67 20 74 68 65 20 77 68 6f 6c 65 20 73 6f pstream,.so.keeping.the.whole.so
7820 75 72 63 65 20 75 6e 64 65 72 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 77 urce.under.a.single.repository.w
7840 6f 75 6c 64 20 62 65 20 76 65 72 79 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 73 6c ould.be.very.inconvenient.and.sl
7860 6f 77 2e 20 54 68 65 72 65 20 69 73 20 6e 6f 77 20 61 6e 20 6f 6e 67 6f 69 6e 67 20 65 66 66 6f ow..There.is.now.an.ongoing.effo
7880 72 74 20 74 6f 20 63 6f 6e 73 6f 6c 69 64 61 74 65 20 61 6c 6c 20 56 79 4f 53 2d 73 70 65 63 69 rt.to.consolidate.all.VyOS-speci
78a0 66 69 63 20 66 72 61 6d 65 77 6f 72 6b 2f 63 6f 6e 66 69 67 20 70 61 63 6b 61 67 65 73 20 69 6e fic.framework/config.packages.in
78c0 74 6f 20 76 79 6f 73 2d 31 78 20 70 61 63 6b 61 67 65 2c 20 62 75 74 20 74 68 65 20 62 61 73 69 to.vyos-1x.package,.but.the.basi
78e0 63 20 73 74 72 75 63 74 75 72 65 20 69 73 20 67 6f 69 6e 67 20 74 6f 20 73 74 61 79 20 74 68 65 c.structure.is.going.to.stay.the
7900 20 73 61 6d 65 2c 20 6a 75 73 74 20 77 69 74 68 20 66 65 77 65 72 20 61 6e 64 20 66 65 77 65 72 .same,.just.with.fewer.and.fewer
7920 20 70 61 63 6b 61 67 65 73 20 77 68 69 6c 65 20 74 68 65 20 62 61 73 65 20 63 6f 64 65 20 69 73 .packages.while.the.base.code.is
7940 20 72 65 77 72 69 74 74 65 6e 20 66 72 6f 6d 20 50 65 72 6c 2f 42 41 53 48 20 69 6e 74 6f 20 50 .rewritten.from.Perl/BASH.into.P
7960 79 74 68 6f 6e 20 75 73 69 6e 67 20 61 6e 64 20 58 4d 4c 20 62 61 73 65 64 20 69 6e 74 65 72 66 ython.using.and.XML.based.interf
7980 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 43 4c 49 2e 00 4f 75 72 20 ace.definition.for.the.CLI..Our.
79a0 6f 70 20 6d 6f 64 65 20 73 63 72 69 70 74 73 20 75 73 65 20 74 68 65 20 70 79 74 68 6f 6e 2d 76 op.mode.scripts.use.the.python-v
79c0 69 63 69 20 6d 6f 64 75 6c 65 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 ici.module,.which.is.not.include
79e0 64 20 69 6e 20 44 65 62 69 61 6e 27 73 20 62 75 69 6c 64 2c 20 61 6e 64 20 69 73 6e 27 74 20 71 d.in.Debian's.build,.and.isn't.q
7a00 75 69 74 65 20 65 61 73 79 20 74 6f 20 69 6e 74 65 67 72 61 74 65 20 69 6e 20 74 68 61 74 20 62 uite.easy.to.integrate.in.that.b
7a20 75 69 6c 64 2e 20 46 6f 72 20 74 68 69 73 20 72 65 61 73 6f 6e 20 77 65 20 64 65 62 69 61 6e 69 uild..For.this.reason.we.debiani
7a40 7a 65 20 74 68 61 74 20 6d 6f 64 75 6c 65 20 62 79 20 68 61 6e 64 20 6e 6f 77 2c 20 75 73 69 6e ze.that.module.by.hand.now,.usin
7a60 67 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 3a 00 4f 75 72 20 73 6d 6f 6b 65 74 65 73 74 73 g.this.procedure:.Our.smoketests
7a80 20 6e 6f 74 20 6f 6e 6c 79 20 74 65 73 74 20 64 61 65 6d 6f 6e 73 20 61 6e 64 20 73 65 72 69 76 .not.only.test.daemons.and.seriv
7aa0 65 73 2c 20 62 75 74 20 61 6c 73 6f 20 63 68 65 63 6b 20 69 66 20 77 68 61 74 20 77 65 20 63 6f es,.but.also.check.if.what.we.co
7ac0 6e 66 69 67 75 72 65 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 77 6f 72 6b 73 2e 20 nfigure.for.an.interface.works..
7ae0 54 68 75 73 20 74 68 65 72 65 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 62 61 73 65 20 63 6c 61 73 Thus.there.is.a.common.base.clas
7b00 73 65 64 20 6e 61 6d 65 64 3a 20 60 60 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 73 5f 74 65 73 sed.named:.``base_interfaces_tes
7b20 74 2e 70 79 60 60 20 77 68 69 63 68 20 68 6f 6c 64 73 20 61 6c 6c 20 74 68 65 20 63 6f 6d 6d 6f t.py``.which.holds.all.the.commo
7b40 6e 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 73 75 70 70 6f 72 74 n.code.that.an.interface.support
7b60 73 20 61 6e 64 20 69 73 20 74 65 73 74 65 64 2e 00 50 61 63 6b 61 67 65 73 00 50 61 74 63 68 65 s.and.is.tested..Packages.Patche
7b80 73 20 61 72 65 20 61 6c 77 61 79 73 20 6d 6f 72 65 20 74 68 61 6e 20 77 65 6c 63 6f 6d 65 2e 20 s.are.always.more.than.welcome..
7ba0 54 6f 20 68 61 76 65 20 61 20 63 6c 65 61 6e 20 61 6e 64 20 65 61 73 79 20 74 6f 20 6d 61 69 6e To.have.a.clean.and.easy.to.main
7bc0 74 61 69 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 77 65 20 68 61 76 65 20 73 6f 6d 65 20 67 75 69 tain.repository.we.have.some.gui
7be0 64 65 6c 69 6e 65 73 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 47 69 74 2e 20 41 delines.when.working.with.Git..A
7c00 20 63 6c 65 61 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 65 61 73 65 73 20 74 68 65 20 61 75 74 6f .clean.repository.eases.the.auto
7c20 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 61 20 63 68 61 6e 67 65 6c 6f 67 20 matic.generation.of.a.changelog.
7c40 66 69 6c 65 2e 00 50 61 74 63 68 65 73 20 66 6f 72 20 44 4d 56 50 4e 20 61 72 65 20 6d 65 72 67 file..Patches.for.DMVPN.are.merg
7c60 65 64 20 69 6e 00 50 6c 65 61 73 65 20 6c 65 61 76 65 20 61 20 63 6f 6d 6d 65 6e 74 20 65 78 70 ed.in.Please.leave.a.comment.exp
7c80 6c 61 69 6e 69 6e 67 20 77 68 79 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 77 61 73 20 63 68 6f laining.why.the.priority.was.cho
7ca0 73 65 6e 20 28 65 2e 67 2e 20 22 61 66 74 65 72 20 69 6e 74 65 72 66 61 63 65 73 20 61 72 65 20 sen.(e.g.."after.interfaces.are.
7cc0 63 6f 6e 66 69 67 75 72 65 64 22 29 00 50 6c 65 61 73 65 20 73 75 62 6d 69 74 20 79 6f 75 72 20 configured").Please.submit.your.
7ce0 70 61 74 63 68 65 73 20 75 73 69 6e 67 20 74 68 65 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 47 69 74 patches.using.the.well-known.Git
7d00 48 75 62 20 70 75 6c 6c 2d 72 65 71 75 65 73 74 20 61 67 61 69 6e 73 74 20 6f 75 72 20 72 65 70 Hub.pull-request.against.our.rep
7d20 6f 73 69 74 6f 72 69 65 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 56 79 4f 53 20 47 69 74 48 ositories.found.in.the.VyOS.GitH
7d40 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 ub.organisation.at.https://githu
7d60 62 2e 63 6f 6d 2f 76 79 6f 73 00 50 6c 65 61 73 65 20 75 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 b.com/vyos.Please.use.the.follow
7d80 69 6e 67 20 74 65 6d 70 6c 61 74 65 20 61 73 20 67 6f 6f 64 20 73 74 61 72 74 69 6e 67 20 70 6f ing.template.as.good.starting.po
7da0 69 6e 74 20 77 68 65 6e 20 64 65 76 65 6c 6f 70 69 6e 67 20 6e 65 77 20 6d 6f 64 75 6c 65 73 20 int.when.developing.new.modules.
7dc0 6f 72 20 65 76 65 6e 20 72 65 77 72 69 74 65 20 61 20 77 68 6f 6c 65 20 62 75 6e 63 68 20 6f 66 or.even.rewrite.a.whole.bunch.of
7de0 20 63 6f 64 65 20 69 6e 20 74 68 65 20 6e 65 77 20 73 74 79 6c 65 20 58 4d 4c 2f 50 79 68 6f 6e .code.in.the.new.style.XML/Pyhon
7e00 20 69 6e 74 65 72 66 61 63 65 2e 00 50 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 00 50 6f 72 .interface..Port.description.Por
7e20 74 20 64 69 73 61 62 6c 65 00 50 72 65 66 65 72 20 69 6e 66 69 6e 69 74 69 76 65 73 00 50 72 65 t.disable.Prefer.infinitives.Pre
7e40 70 61 72 65 20 70 61 74 63 68 2f 63 6f 6d 6d 69 74 00 50 72 65 70 61 72 65 20 72 65 6c 65 61 73 pare.patch/commit.Prepare.releas
7e60 65 20 6e 6f 74 65 73 20 66 6f 72 20 75 70 63 6f 6d 69 6e 67 20 72 65 6c 65 61 73 65 73 00 50 72 e.notes.for.upcoming.releases.Pr
7e80 65 72 65 71 75 69 73 69 74 65 73 00 50 72 69 6f 72 69 74 69 65 73 00 50 72 6f 76 69 64 65 20 61 erequisites.Priorities.Provide.a
7ea0 73 20 6d 75 63 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 73 20 79 6f 75 20 63 61 6e 00 50 79 s.much.information.as.you.can.Py
7ec0 74 68 6f 6e 00 50 79 74 68 6f 6e 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 thon.Python.(or.any.other.langua
7ee0 67 65 2c 20 66 6f 72 20 74 68 61 74 20 6d 61 74 74 65 72 29 20 64 6f 65 73 20 6e 6f 74 20 70 72 ge,.for.that.matter).does.not.pr
7f00 6f 76 69 64 65 20 61 75 74 6f 6d 61 74 69 63 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 72 6f 6d 20 ovide.automatic.protection.from.
7f20 62 61 64 20 64 65 73 69 67 6e 2c 20 73 6f 20 77 65 20 6e 65 65 64 20 74 6f 20 61 6c 73 6f 20 64 bad.design,.so.we.need.to.also.d
7f40 65 76 69 73 65 20 64 65 73 69 67 6e 20 67 75 69 64 65 6c 69 6e 65 73 20 61 6e 64 20 66 6f 6c 6c evise.design.guidelines.and.foll
7f60 6f 77 20 74 68 65 6d 20 74 6f 20 6b 65 65 70 20 74 68 65 20 73 79 73 74 65 6d 20 65 78 74 65 6e ow.them.to.keep.the.system.exten
7f80 73 69 62 6c 65 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 61 62 6c 65 2e 00 50 79 74 68 6f 6e 20 33 sible.and.maintainable..Python.3
7fa0 20 2a 2a 73 68 61 6c 6c 2a 2a 20 62 65 20 75 73 65 64 2e 20 48 6f 77 20 6c 6f 6e 67 20 63 61 6e .**shall**.be.used..How.long.can
7fc0 20 77 65 20 6b 65 65 70 20 50 79 74 68 6f 6e 20 32 20 61 6c 69 76 65 20 61 6e 79 77 61 79 3f 20 .we.keep.Python.2.alive.anyway?.
7fe0 4e 6f 20 63 6f 6e 73 69 64 65 72 61 74 69 6f 6e 73 20 66 6f 72 20 50 79 74 68 6f 6e 20 32 20 63 No.considerations.for.Python.2.c
8000 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 74 61 6b 65 6e ompatibility.**should**.be.taken
8020 20 61 74 20 61 6e 79 20 74 69 6d 65 2e 00 50 79 74 68 6f 6e 3a 20 54 61 62 73 20 2a 2a 73 68 61 .at.any.time..Python:.Tabs.**sha
8040 6c 6c 20 6e 6f 74 2a 2a 20 62 65 20 75 73 65 64 2e 20 45 76 65 72 79 20 69 6e 64 65 6e 74 61 74 ll.not**.be.used..Every.indentat
8060 69 6f 6e 20 6c 65 76 65 6c 20 73 68 6f 75 6c 64 20 62 65 20 34 20 73 70 61 63 65 73 00 51 45 4d ion.level.should.be.4.spaces.QEM
8080 55 00 52 61 74 69 6f 6e 61 6c 65 3a 20 74 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20 74 68 U.Rationale:.this.seems.to.be.th
80a0 65 20 75 6e 77 72 69 74 74 65 6e 20 73 74 61 6e 64 61 72 64 20 69 6e 20 6e 65 74 77 6f 72 6b 20 e.unwritten.standard.in.network.
80c0 64 65 76 69 63 65 20 43 4c 49 73 2c 20 61 6e 64 20 61 20 67 6f 6f 64 20 61 65 73 74 68 65 74 69 device.CLIs,.and.a.good.aestheti
80e0 63 20 63 6f 6d 70 72 6f 6d 69 73 65 2e 00 52 65 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 75 73 c.compromise..Recent.versions.us
8100 65 20 74 68 65 20 60 60 76 79 6f 73 2e 66 72 72 60 60 20 66 72 61 6d 65 77 6f 72 6b 2e 20 54 68 e.the.``vyos.frr``.framework..Th
8120 65 20 50 79 74 68 6f 6e 20 63 6c 61 73 73 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 73 69 64 65 e.Python.class.is.located.inside
8140 20 6f 75 72 20 60 60 76 79 6f 73 2d 31 78 3a 70 79 74 68 6f 6e 2f 76 79 6f 73 2f 66 72 72 2e 70 .our.``vyos-1x:python/vyos/frr.p
8160 79 60 60 2e 20 49 74 20 63 6f 6d 65 73 20 77 69 74 68 20 61 6e 20 65 6d 62 65 64 64 65 64 20 64 y``..It.comes.with.an.embedded.d
8180 65 62 75 67 67 69 6e 67 2f 20 28 70 72 69 6e 74 20 73 74 79 6c 65 29 20 64 65 62 75 67 67 65 72 ebugging/.(print.style).debugger
81a0 20 61 73 20 76 79 6f 73 2e 69 66 63 6f 6e 66 69 67 20 64 6f 65 73 2e 00 52 65 70 6f 72 74 20 61 .as.vyos.ifconfig.does..Report.a
81c0 20 42 75 67 00 52 75 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 61 .Bug.Run.the.following.command.a
81e0 66 74 65 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 49 53 4f 20 69 6d 61 67 65 2e 00 52 75 6e fter.building.the.ISO.image..Run
8200 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 61 66 74 65 72 20 62 75 69 .the.following.command.after.bui
8220 6c 64 69 6e 67 20 74 68 65 20 51 45 4d 55 20 69 6d 61 67 65 2e 00 53 69 6d 70 6c 79 20 75 73 65 lding.the.QEMU.image..Simply.use
8240 20 6f 75 72 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 74 6f 20 62 75 69 6c 64 20 61 6c 6c .our.wrapper.script.to.build.all
8260 20 6f 66 20 74 68 65 20 64 72 69 76 65 72 20 6d 6f 64 75 6c 65 73 2e 00 53 69 6e 63 65 20 56 79 .of.the.driver.modules..Since.Vy
8280 4f 53 20 68 61 73 20 73 77 69 74 63 68 65 64 20 74 6f 20 44 65 62 69 61 6e 20 28 31 31 29 20 42 OS.has.switched.to.Debian.(11).B
82a0 75 6c 6c 73 65 79 65 20 69 6e 20 69 74 73 20 60 60 63 75 72 72 65 6e 74 60 60 20 62 72 61 6e 63 ullseye.in.its.``current``.branc
82c0 68 2c 20 79 6f 75 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 h,.you.will.require.individual.c
82e0 6f 6e 74 61 69 6e 65 72 20 66 6f 72 20 60 63 75 72 72 65 6e 74 60 2c 20 60 65 71 75 75 6c 65 75 ontainer.for.`current`,.`equuleu
8300 73 60 20 61 6e 64 20 60 63 72 75 78 60 20 62 75 69 6c 64 73 2e 00 53 6d 6f 6b 65 74 65 73 74 73 s`.and.`crux`.builds..Smoketests
8320 00 53 6d 6f 6b 65 74 65 73 74 73 20 65 78 65 63 75 74 65 73 20 70 72 65 64 65 66 69 6e 65 64 20 .Smoketests.executes.predefined.
8340 56 79 4f 53 20 43 4c 49 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 63 68 65 63 6b 73 20 69 66 20 VyOS.CLI.commands.and.checks.if.
8360 74 68 65 20 64 65 73 69 72 65 64 20 64 61 65 6d 6f 6e 2f 73 65 72 76 69 63 65 20 63 6f 6e 66 69 the.desired.daemon/service.confi
8380 67 75 72 61 74 69 6f 6e 20 69 73 20 72 65 6e 64 65 72 74 20 2d 20 74 68 61 74 20 69 73 20 68 6f guration.is.rendert.-.that.is.ho
83a0 77 20 74 6f 20 70 75 74 20 69 74 20 22 73 68 6f 72 74 22 2e 00 53 6f 20 69 66 20 79 6f 75 20 70 w.to.put.it."short"..So.if.you.p
83c0 6c 61 6e 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 49 53 4f lan.to.build.your.own.custom.ISO
83e0 20 69 6d 61 67 65 20 61 6e 64 20 77 61 6e 27 74 20 74 6f 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 .image.and.wan't.to.make.use.of.
8400 6f 75 72 20 73 6d 6f 6b 65 74 65 73 74 73 2c 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 our.smoketests,.ensure.that.you.
8420 68 61 76 65 20 74 68 65 20 60 76 79 6f 73 2d 31 78 2d 73 6d 6f 6b 65 74 65 73 74 60 20 70 61 63 have.the.`vyos-1x-smoketest`.pac
8440 6b 61 67 65 20 69 6e 73 74 61 6c 6c 65 64 2e 00 53 6f 6d 65 20 56 79 4f 53 20 70 61 63 6b 61 67 kage.installed..Some.VyOS.packag
8460 65 73 20 28 6e 61 6d 65 6c 79 20 76 79 6f 73 2d 31 78 29 20 63 6f 6d 65 20 77 69 74 68 20 62 75 es.(namely.vyos-1x).come.with.bu
8480 69 6c 64 2d 74 69 6d 65 20 74 65 73 74 73 20 77 68 69 63 68 20 76 65 72 69 66 79 20 73 6f 6d 65 ild-time.tests.which.verify.some
84a0 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 79 20 63 61 6c 6c 73 20 74 .of.the.internal.library.calls.t
84c0 68 61 74 20 74 68 65 79 20 77 6f 72 6b 20 61 73 20 65 78 70 65 63 74 65 64 2e 20 54 68 6f 73 65 hat.they.work.as.expected..Those
84e0 20 74 65 73 74 73 20 61 72 65 20 63 61 72 72 69 65 64 20 6f 75 74 20 74 68 72 6f 75 67 68 20 74 .tests.are.carried.out.through.t
8500 68 65 20 50 79 74 68 6f 6e 20 55 6e 69 74 74 65 73 74 20 6d 6f 64 75 6c 65 2e 20 49 66 20 79 6f he.Python.Unittest.module..If.yo
8520 75 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 60 60 76 79 6f 73 2d 31 78 60 60 20 u.want.to.build.the.``vyos-1x``.
8540 70 61 63 6b 61 67 65 20 28 77 68 69 63 68 20 69 73 20 6f 75 72 20 6d 61 69 6e 20 64 65 76 65 6c package.(which.is.our.main.devel
8560 6f 70 6d 65 6e 74 20 70 61 63 6b 61 67 65 29 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 74 61 72 opment.package).you.need.to.star
8580 74 20 79 6f 75 72 20 44 6f 63 6b 65 72 20 63 6f 6e 74 61 69 6e 65 72 20 75 73 69 6e 67 20 74 68 t.your.Docker.container.using.th
85a0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 3a 20 60 60 2d 2d 73 79 73 63 74 6c e.following.argument:.``--sysctl
85c0 20 6e 65 74 2e 69 70 76 36 2e 63 6f 6e 66 2e 6c 6f 2e 64 69 73 61 62 6c 65 5f 69 70 76 36 3d 30 .net.ipv6.conf.lo.disable_ipv6=0
85e0 60 60 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 6f 73 65 20 74 65 73 74 73 20 77 69 6c 6c 20 66 ``,.otherwise.those.tests.will.f
8600 61 69 6c 2e 00 53 6f 6d 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 61 72 65 20 74 72 61 64 ail..Some.abbreviations.are.trad
8620 69 74 69 6f 6e 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 69 6e 20 6d 69 78 65 64 20 63 61 73 65 2e itionally.written.in.mixed.case.
8640 20 47 65 6e 65 72 61 6c 6c 79 2c 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 77 6f 72 64 73 .Generally,.if.it.contains.words
8660 20 22 6f 76 65 72 22 20 6f 72 20 22 76 65 72 73 69 6f 6e 22 2c 20 74 68 65 20 6c 65 74 74 65 72 ."over".or."version",.the.letter
8680 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 6c 6f 77 65 72 63 61 73 65 2e 20 49 66 20 74 68 65 .**should**.be.lowercase..If.the
86a0 72 65 27 73 20 61 6e 20 61 63 63 65 70 74 65 64 20 73 70 65 6c 6c 69 6e 67 20 28 65 73 70 65 63 re's.an.accepted.spelling.(espec
86c0 69 61 6c 6c 79 20 69 66 20 64 65 66 69 6e 65 64 20 62 79 20 61 6e 20 52 46 43 20 6f 72 20 61 6e ially.if.defined.by.an.RFC.or.an
86e0 6f 74 68 65 72 20 73 74 61 6e 64 61 72 64 29 2c 20 69 74 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 20 other.standard),.it.**must**.be.
8700 66 6f 6c 6c 6f 77 65 64 2e 00 53 6f 6d 65 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 followed..Some.of.the.configurat
8720 69 6f 6e 73 20 68 61 76 65 20 70 72 65 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 ions.have.preconditions.which.ne
8740 65 64 20 74 6f 20 62 65 20 6d 65 74 2e 20 54 68 6f 73 65 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 ed.to.be.met..Those.most.likely.
8760 69 6e 63 6c 75 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 63 72 79 70 6f 67 72 61 70 68 include.generation.of.crypograph
8780 69 63 20 6b 65 79 73 20 62 65 66 6f 72 65 20 74 68 65 20 63 6f 6e 66 69 67 20 63 61 6e 20 62 65 ic.keys.before.the.config.can.be
87a0 20 61 70 70 6c 69 65 64 20 2d 20 79 6f 75 20 77 69 6c 6c 20 67 65 74 20 61 20 63 6f 6d 6d 69 74 .applied.-.you.will.get.a.commit
87c0 20 65 72 72 6f 72 20 6f 74 68 65 72 77 69 73 65 2e 20 49 66 20 79 6f 75 20 61 72 65 20 69 6e 74 .error.otherwise..If.you.are.int
87e0 65 72 65 73 74 65 64 20 68 6f 77 20 74 68 6f 73 65 20 70 72 65 63 6f 6e 64 69 74 69 6f 6e 73 20 erested.how.those.preconditions.
8800 61 72 65 20 66 75 6c 66 69 6c 6c 65 64 20 63 68 65 63 6b 20 74 68 65 20 76 79 6f 73 2d 62 75 69 are.fulfilled.check.the.vyos-bui
8820 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 74 68 65 20 60 60 73 63 72 69 70 74 73 ld_.repository.and.the.``scripts
8840 2f 63 68 65 63 6b 2d 71 65 6d 75 2d 69 6e 73 74 61 6c 6c 60 60 20 66 69 6c 65 2e 00 53 6f 6d 65 /check-qemu-install``.file..Some
8860 74 69 6d 65 73 20 69 74 20 6d 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 64 65 62 75 times.it.might.be.useful.to.debu
8880 67 20 50 79 74 68 6f 6e 20 63 6f 64 65 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 6e 20 74 g.Python.code.interactively.on.t
88a0 68 65 20 6c 69 76 65 20 73 79 73 74 65 6d 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 49 44 45 he.live.system.rather.than.a.IDE
88c0 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 61 63 68 69 65 76 65 64 20 75 73 69 6e 67 20 70 64 62 ..This.can.be.achieved.using.pdb
88e0 2e 00 53 74 61 72 74 20 74 68 65 20 62 75 69 6c 64 3a 00 53 74 61 72 74 69 6e 67 20 77 69 74 68 ..Start.the.build:.Starting.with
8900 20 56 79 4f 53 20 31 2e 32 20 74 68 65 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 6c 20 6f 66 20 56 .VyOS.1.2.the.release.model.of.V
8920 79 4f 53 20 68 61 73 20 63 68 61 6e 67 65 64 2e 20 56 79 4f 53 20 69 73 20 6e 6f 77 20 2a 2a 66 yOS.has.changed..VyOS.is.now.**f
8940 72 65 65 20 61 73 20 69 6e 20 73 70 65 65 63 68 2c 20 62 75 74 20 6e 6f 74 20 61 73 20 69 6e 20 ree.as.in.speech,.but.not.as.in.
8960 62 65 65 72 2a 2a 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 68 69 6c 65 20 56 79 beer**..This.means.that.while.Vy
8980 4f 53 20 69 73 20 73 74 69 6c 6c 20 61 6e 20 6f 70 65 6e 20 73 6f 75 72 63 65 20 70 72 6f 6a 65 OS.is.still.an.open.source.proje
89a0 63 74 2c 20 74 68 65 20 72 65 6c 65 61 73 65 20 49 53 4f 73 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 ct,.the.release.ISOs.are.no.long
89c0 65 72 20 66 72 65 65 20 61 6e 64 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 6f 62 74 61 69 6e 65 64 er.free.and.can.only.be.obtained
89e0 20 76 69 61 20 73 75 62 73 63 72 69 70 74 69 6f 6e 2c 20 6f 72 20 62 79 20 63 6f 6e 74 72 69 62 .via.subscription,.or.by.contrib
8a00 75 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 6d 75 6e 69 74 79 2e 00 53 75 62 6d 69 74 20 61 uting.to.the.community..Submit.a
8a20 20 50 61 74 63 68 00 53 75 62 6d 69 74 20 74 68 65 20 70 61 74 63 68 20 60 60 67 69 74 20 70 75 .Patch.Submit.the.patch.``git.pu
8a40 73 68 60 60 20 61 6e 64 20 63 72 65 61 74 65 20 74 68 65 20 47 69 74 48 75 62 20 70 75 6c 6c 2d sh``.and.create.the.GitHub.pull-
8a60 72 65 71 75 65 73 74 2e 00 53 75 6d 6d 61 72 79 00 53 75 70 70 6f 73 65 20 79 6f 75 20 77 61 6e request..Summary.Suppose.you.wan
8a80 74 20 74 6f 20 6d 61 6b 65 20 61 20 63 68 61 6e 67 65 20 69 6e 20 74 68 65 20 77 65 62 70 72 6f t.to.make.a.change.in.the.webpro
8aa0 78 79 20 73 63 72 69 70 74 20 62 75 74 20 79 65 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20 6b 6e 6f xy.script.but.yet.you.do.not.kno
8ac0 77 20 77 68 69 63 68 20 6f 66 20 74 68 65 20 6d 61 6e 79 20 56 79 4f 53 20 70 61 63 6b 61 67 65 w.which.of.the.many.VyOS.package
8ae0 73 20 73 68 69 70 20 74 68 69 73 20 66 69 6c 65 2e 20 59 6f 75 20 63 61 6e 20 64 65 74 65 72 6d s.ship.this.file..You.can.determ
8b00 69 6e 65 20 74 68 65 20 56 79 4f 53 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 6e 20 71 75 65 ine.the.VyOS.package.name.in.que
8b20 73 74 69 6f 6e 20 62 79 20 75 73 69 6e 67 20 44 65 62 69 61 6e 27 73 20 60 60 64 70 6b 67 20 2d stion.by.using.Debian's.``dpkg.-
8b40 53 60 60 20 63 6f 6d 6d 61 6e 64 20 6f 66 20 79 6f 75 72 20 72 75 6e 6e 69 6e 67 20 56 79 4f 53 S``.command.of.your.running.VyOS
8b60 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 00 53 79 73 74 65 6d 20 53 74 61 72 74 75 70 00 54 65 .installation..System.Startup.Te
8b80 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 75 mplate.processor.**should**.be.u
8ba0 73 65 64 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 73 2e sed.for.generating.config.files.
8bc0 20 42 75 69 6c 74 2d 69 6e 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 2a 2a 6d 61 .Built-in.string.formatting.**ma
8be0 79 2a 2a 20 62 65 20 75 73 65 64 20 66 6f 72 20 73 69 6d 70 6c 65 20 6c 69 6e 65 2d 6f 72 69 65 y**.be.used.for.simple.line-orie
8c00 6e 74 65 64 20 66 6f 72 6d 61 74 73 20 77 68 65 72 65 20 65 76 65 72 79 20 6c 69 6e 65 20 69 73 nted.formats.where.every.line.is
8c20 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 2c 20 73 75 63 68 20 61 73 20 69 70 74 61 62 6c 65 .self-contained,.such.as.iptable
8c40 73 20 72 75 6c 65 73 2e 20 54 65 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 2a 2a 6d 75 s.rules..Template.processor.**mu
8c60 73 74 2a 2a 20 62 65 20 75 73 65 64 20 66 6f 72 20 73 74 72 75 63 74 75 72 65 64 2c 20 6d 75 6c st**.be.used.for.structured,.mul
8c80 74 69 2d 6c 69 6e 65 20 66 6f 72 6d 61 74 73 20 73 75 63 68 20 61 73 20 74 68 6f 73 65 20 75 73 ti-line.formats.such.as.those.us
8ca0 65 64 20 62 79 20 49 53 43 20 44 48 43 50 64 2e 00 54 65 73 74 69 6e 67 00 54 65 78 74 20 67 65 ed.by.ISC.DHCPd..Testing.Text.ge
8cc0 6e 65 72 61 74 69 6f 6e 00 54 68 65 20 43 4c 49 20 70 61 72 73 65 72 20 75 73 65 64 20 69 6e 20 neration.The.CLI.parser.used.in.
8ce0 56 79 4f 53 20 69 73 20 61 20 6d 69 78 20 6f 66 20 62 61 73 68 2c 20 62 61 73 68 2d 63 6f 6d 70 VyOS.is.a.mix.of.bash,.bash-comp
8d00 6c 65 74 69 6f 6e 20 68 65 6c 70 65 72 20 61 6e 64 20 74 68 65 20 43 2b 2b 20 62 61 63 6b 65 6e letion.helper.and.the.C++.backen
8d20 64 20 6c 69 62 72 61 72 79 20 5b 76 79 61 74 74 61 2d 63 66 67 5d 28 68 74 74 70 73 3a 2f 2f 67 d.library.[vyatta-cfg](https://g
8d40 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 61 2d 63 66 67 29 2e 20 54 68 69 73 ithub.com/vyos/vyatta-cfg)..This
8d60 20 73 65 63 74 69 6f 6e 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 6f 66 20 63 6f 6d 6d 6f .section.is.a.reference.of.commo
8d80 6e 20 43 4c 49 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 74 68 65 20 72 65 73 70 65 63 74 69 76 n.CLI.commands.and.the.respectiv
8da0 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 43 2f 43 2b 2b 20 63 6f 64 65 2e e.entry.point.in.the.C/C++.code.
8dc0 00 54 68 65 20 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f .The.Intel.NIC.drivers.do.not.co
8de0 6d 65 20 66 72 6f 6d 20 61 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 69 6e 73 74 65 61 me.from.a.Git.repository,.instea
8e00 64 20 77 65 20 6a 75 73 74 20 66 65 74 63 68 20 74 68 65 20 74 61 72 62 61 6c 6c 73 20 66 72 6f d.we.just.fetch.the.tarballs.fro
8e20 6d 20 6f 75 72 20 6d 69 72 72 6f 72 20 61 6e 64 20 63 6f 6d 70 69 6c 65 20 74 68 65 6d 2e 00 54 m.our.mirror.and.compile.them..T
8e40 68 65 20 49 6e 74 65 6c 20 51 41 54 20 28 51 75 69 63 6b 20 41 73 73 69 73 74 20 54 65 63 68 6e he.Intel.QAT.(Quick.Assist.Techn
8e60 6f 6c 6f 67 79 29 20 64 72 69 76 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6d 65 20 66 72 6f 6d 20 ology).drivers.do.not.come.from.
8e80 61 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 69 6e 73 74 65 61 64 20 77 65 20 6a 75 73 a.Git.repository,.instead.we.jus
8ea0 74 20 66 65 74 63 68 20 74 68 65 20 74 61 72 62 61 6c 6c 73 20 66 72 6f 6d 20 30 31 2e 6f 72 67 t.fetch.the.tarballs.from.01.org
8ec0 2c 20 49 6e 74 65 6c 27 73 20 6f 70 65 6e 2d 73 6f 75 72 63 65 20 77 65 62 73 69 74 65 2e 00 54 ,.Intel's.open-source.website..T
8ee0 68 65 20 4c 69 6e 75 78 20 6b 65 72 6e 65 6c 20 75 73 65 64 20 62 79 20 56 79 4f 53 20 69 73 20 he.Linux.kernel.used.by.VyOS.is.
8f00 68 65 61 76 69 6c 79 20 74 69 65 64 20 74 6f 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 20 70 72 heavily.tied.to.the.ISO.build.pr
8f20 6f 63 65 73 73 2e 20 54 68 65 20 66 69 6c 65 20 60 60 64 61 74 61 2f 64 65 66 61 75 6c 74 73 2e ocess..The.file.``data/defaults.
8f40 6a 73 6f 6e 60 60 20 68 6f 73 74 73 20 61 20 4a 53 4f 4e 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f json``.hosts.a.JSON.definition.o
8f60 66 20 74 68 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 6f 6e 20 75 73 65 64 20 60 60 6b 65 72 6e f.the.kernel.version.used.``kern
8f80 65 6c 5f 76 65 72 73 69 6f 6e 60 60 20 61 6e 64 20 74 68 65 20 60 60 6b 65 72 6e 65 6c 5f 66 6c el_version``.and.the.``kernel_fl
8fa0 61 76 6f 72 60 60 20 6f 66 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 68 69 63 68 20 72 65 70 72 65 avor``.of.the.kernel.which.repre
8fc0 73 65 6e 74 73 20 74 68 65 20 6b 65 72 6e 65 6c 27 73 20 4c 4f 43 41 4c 5f 56 45 52 53 49 4f 4e sents.the.kernel's.LOCAL_VERSION
8fe0 2e 20 42 6f 74 68 20 74 6f 67 65 74 68 65 72 20 66 6f 72 6d 20 74 68 65 20 6b 65 72 6e 65 6c 20 ..Both.together.form.the.kernel.
9000 76 65 72 73 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 3a 00 version.variable.in.the.system:.
9020 54 68 65 20 52 45 41 44 4d 45 2e 6d 64 20 66 69 6c 65 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f The.README.md.file.will.guide.yo
9040 75 20 74 6f 20 75 73 65 20 74 68 65 20 74 68 69 73 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 70 6f u.to.use.the.this.top.level.repo
9060 73 69 74 6f 72 79 2e 00 54 68 65 20 60 60 61 70 70 6c 79 28 29 60 60 20 61 6e 64 20 60 60 67 65 sitory..The.``apply()``.and.``ge
9080 6e 65 72 61 74 65 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 73 20 6d 61 79 20 60 60 72 61 69 73 65 nerate()``.functions.may.``raise
90a0 20 43 6f 6e 66 69 67 45 72 72 6f 72 60 60 20 69 66 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 .ConfigError``.if,.for.example,.
90c0 74 68 65 20 64 61 65 6d 6f 6e 20 66 61 69 6c 65 64 20 74 6f 20 73 74 61 72 74 20 77 69 74 68 20 the.daemon.failed.to.start.with.
90e0 74 68 65 20 75 70 64 61 74 65 64 20 63 6f 6e 66 69 67 2e 20 49 74 20 73 68 6f 75 6c 64 6e 27 74 the.updated.config..It.shouldn't
9100 20 62 65 20 61 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 70 72 6f 70 65 72 20 63 6f 6e 66 .be.a.substitute.for.proper.conf
9120 69 67 20 63 68 65 63 6b 69 6e 67 20 69 6e 20 74 68 65 20 60 60 76 65 72 69 66 79 28 29 60 60 20 ig.checking.in.the.``verify()``.
9140 66 75 6e 63 74 69 6f 6e 2e 20 41 6c 6c 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 20 function..All.reasonable.effort.
9160 73 68 6f 75 6c 64 20 62 65 20 6d 61 64 65 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 67 65 should.be.made.to.verify.that.ge
9180 6e 65 72 61 74 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 76 61 6c 69 64 20 61 nerated.configuration.is.valid.a
91a0 6e 64 20 77 69 6c 6c 20 62 65 20 61 63 63 65 70 74 65 64 20 62 79 20 74 68 65 20 64 61 65 6d 6f nd.will.be.accepted.by.the.daemo
91c0 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 2c 20 77 68 65 6e 20 6e 65 63 65 73 73 61 72 79 2c 20 63 72 n,.including,.when.necessary,.cr
91e0 6f 73 73 2d 20 63 68 65 63 6b 73 20 77 69 74 68 20 6f 74 68 65 72 20 56 79 4f 53 20 63 6f 6e 66 oss-.checks.with.other.VyOS.conf
9200 69 67 75 72 61 74 69 6f 6e 20 73 75 62 74 72 65 65 73 2e 00 54 68 65 20 60 60 61 70 70 6c 79 28 iguration.subtrees..The.``apply(
9220 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 69 65 73 20 74 68 65 20 67 65 6e 65 72 61 74 )``.function.applies.the.generat
9240 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 6c 69 76 65 20 73 79 73 ed.configuration.to.the.live.sys
9260 74 65 6d 2e 20 49 74 20 73 68 6f 75 6c 64 20 75 73 65 20 6e 6f 6e 2d 64 69 73 72 75 70 74 69 76 tem..It.should.use.non-disruptiv
9280 65 20 72 65 6c 6f 61 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 49 74 20 6d e.reload.whenever.possible..It.m
92a0 61 79 20 65 78 65 63 75 74 65 20 64 69 73 72 75 70 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 ay.execute.disruptive.operations
92c0 20 73 75 63 68 20 61 73 20 64 61 65 6d 6f 6e 20 70 72 6f 63 65 73 73 20 72 65 73 74 61 72 74 20 .such.as.daemon.process.restart.
92e0 69 66 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 64 6f 65 73 20 6e if.a.particular.component.does.n
9300 6f 74 20 73 75 70 70 6f 72 74 20 6e 6f 6e 2d 64 69 73 72 75 70 74 69 76 65 20 72 65 6c 6f 61 64 ot.support.non-disruptive.reload
9320 2c 20 6f 72 20 77 68 65 6e 20 74 68 65 20 65 78 70 65 63 74 65 64 20 73 65 72 76 69 63 65 20 64 ,.or.when.the.expected.service.d
9340 65 67 72 61 64 61 74 69 6f 6e 20 69 73 20 6d 69 6e 69 6d 61 6c 20 28 66 6f 72 20 65 78 61 6d 70 egradation.is.minimal.(for.examp
9360 6c 65 2c 20 69 6e 20 63 61 73 65 20 6f 66 20 61 75 78 69 6c 69 61 72 79 20 73 65 72 76 69 63 65 le,.in.case.of.auxiliary.service
9380 73 20 73 75 63 68 20 61 73 20 4c 4c 44 50 64 29 2e 20 49 6e 20 63 61 73 65 20 6f 66 20 68 69 67 s.such.as.LLDPd)..In.case.of.hig
93a0 68 20 69 6d 70 61 63 74 20 73 65 72 76 69 63 65 73 20 73 75 63 68 20 61 73 20 56 50 4e 20 64 61 h.impact.services.such.as.VPN.da
93c0 65 6d 6f 6e 20 61 6e 64 20 72 6f 75 74 69 6e 67 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 77 68 65 6e emon.and.routing.protocols,.when
93e0 20 6e 6f 6e 2d 20 64 69 73 72 75 70 74 69 76 65 20 72 65 6c 6f 61 64 20 69 73 20 73 75 70 70 6f .non-.disruptive.reload.is.suppo
9400 72 74 65 64 20 66 6f 72 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 74 79 70 65 73 20 rted.for.some.but.not.all.types.
9420 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 61 6e 67 65 73 2c 20 73 63 72 69 70 74 of.configuration.changes,.script
9440 73 20 61 75 74 68 6f 72 73 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 65 66 66 6f 72 74 20 74 6f 20 s.authors.should.make.effort.to.
9460 64 65 74 65 72 6d 69 6e 65 20 69 66 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 61 determine.if.a.configuration.cha
9480 6e 67 65 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 69 6e 20 61 20 6e 6f 6e 2d 64 69 73 72 75 70 74 nge.can.be.done.in.a.non-disrupt
94a0 69 76 65 20 77 61 79 20 61 6e 64 20 6f 6e 6c 79 20 72 65 73 6f 72 74 20 74 6f 20 64 69 73 72 75 ive.way.and.only.resort.to.disru
94c0 70 74 69 76 65 20 72 65 73 74 61 72 74 20 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 61 76 ptive.restart.if.it.cannot.be.av
94e0 6f 69 64 65 64 2e 00 54 68 65 20 60 60 67 65 6e 65 72 61 74 65 28 29 60 60 20 66 75 6e 63 74 69 oided..The.``generate()``.functi
9500 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 63 6f 6e 66 69 67 20 66 69 6c 65 73 20 66 6f 72 20 73 79 on.generates.config.files.for.sy
9520 73 74 65 6d 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 00 54 68 65 20 60 60 67 65 74 5f 63 6f 6e 66 69 stem.components..The.``get_confi
9540 67 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 63 6f 6e 76 65 72 74 20 74 68 65 20 g()``.function.must.convert.the.
9560 56 79 4f 53 20 63 6f 6e 66 69 67 20 74 6f 20 61 6e 20 61 62 73 74 72 61 63 74 2c 20 69 6e 74 65 VyOS.config.to.an.abstract,.inte
9580 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 4e 6f 20 6f 74 68 65 72 20 66 75 rnal.representation..No.other.fu
95a0 6e 63 74 69 6f 6e 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 63 61 6c 6c 20 74 68 65 20 60 60 nction.is.allowed.to.call.the.``
95c0 76 79 6f 73 2e 63 6f 6e 66 69 67 2e 20 43 6f 6e 66 69 67 60 60 20 6f 62 6a 65 63 74 20 6d 65 74 vyos.config..Config``.object.met
95e0 68 6f 64 20 64 69 72 65 63 74 6c 79 2e 20 54 68 65 20 72 61 74 69 6f 6e 61 6c 65 20 66 6f 72 20 hod.directly..The.rationale.for.
9600 69 74 20 69 73 20 74 68 61 74 20 77 68 65 6e 20 63 6f 6e 66 69 67 20 72 65 61 64 73 20 61 72 65 it.is.that.when.config.reads.are
9620 20 6d 69 78 65 64 20 77 69 74 68 20 6f 74 68 65 72 20 6c 6f 67 69 63 2c 20 69 74 27 73 20 76 65 .mixed.with.other.logic,.it's.ve
9640 72 79 20 68 61 72 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 63 6f 6e 66 69 67 20 73 79 6e ry.hard.to.change.the.config.syn
9660 74 61 78 20 73 69 6e 63 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 65 65 64 20 6f 75 74 20 65 tax.since.you.need.to.weed.out.e
9680 76 65 72 79 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 73 79 6e 74 61 very.occurrence.of.the.old.synta
96a0 78 2e 20 49 66 20 73 79 6e 74 61 78 2d 73 70 65 63 69 66 69 63 20 63 6f 64 65 20 69 73 20 63 6f x..If.syntax-specific.code.is.co
96c0 6e 66 69 6e 65 64 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 nfined.to.a.single.function,.the
96e0 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 6f 64 65 20 63 61 6e 20 62 65 20 6c 65 66 74 20 75 6e .rest.of.the.code.can.be.left.un
9700 74 6f 75 63 68 65 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 touched.as.long.as.the.internal.
9720 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 72 65 6d 61 69 6e 73 20 63 6f 6d 70 61 74 69 62 6c representation.remains.compatibl
9740 65 2e 00 54 68 65 20 60 60 6d 61 6b 65 20 74 65 73 74 60 60 20 63 6f 6d 6d 61 6e 64 20 66 72 6f e..The.``make.test``.command.fro
9760 6d 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 20 77 69 6c m.the.vyos-build_.repository.wil
9780 6c 20 6c 61 75 6e 63 68 20 61 20 6e 65 77 20 51 45 6d 75 20 69 6e 73 74 61 6e 63 65 20 61 6e 64 l.launch.a.new.QEmu.instance.and
97a0 20 74 68 65 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 66 69 72 73 74 20 69 6e 73 74 61 6c 6c 65 .the.ISO.image.is.first.installe
97c0 64 20 74 6f 20 74 68 65 20 76 69 72 74 75 61 6c 20 68 61 72 64 64 69 73 6b 2e 00 54 68 65 20 60 d.to.the.virtual.harddisk..The.`
97e0 60 76 65 72 69 66 79 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 79 6f 75 72 20 `verify()``.function.takes.your.
9800 69 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 internal.representation.of.the.c
9820 6f 6e 66 69 67 20 61 6e 64 20 63 68 65 63 6b 73 20 69 66 20 69 74 27 73 20 76 61 6c 69 64 2c 20 onfig.and.checks.if.it's.valid,.
9840 6f 74 68 65 72 77 69 73 65 20 69 74 20 6d 75 73 74 20 72 61 69 73 65 20 60 60 43 6f 6e 66 69 67 otherwise.it.must.raise.``Config
9860 45 72 72 6f 72 60 60 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 68 Error``.with.an.error.message.th
9880 61 74 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 61 6e 64 20 70 6f 73 at.describes.the.problem.and.pos
98a0 73 69 62 6c 79 20 73 75 67 67 65 73 74 73 20 68 6f 77 20 74 6f 20 66 69 78 20 69 74 2e 20 49 74 sibly.suggests.how.to.fix.it..It
98c0 20 6d 75 73 74 20 6e 6f 74 20 6d 61 6b 65 20 61 6e 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 .must.not.make.any.changes.to.th
98e0 65 20 73 79 73 74 65 6d 2e 20 54 68 65 20 72 61 74 69 6f 6e 61 6c 65 20 66 6f 72 20 69 74 20 69 e.system..The.rationale.for.it.i
9900 73 20 61 67 61 69 6e 20 74 65 73 74 61 62 69 6c 69 74 79 20 61 6e 64 2c 20 69 6e 20 74 68 65 20 s.again.testability.and,.in.the.
9920 66 75 74 75 72 65 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 66 69 67 20 62 61 63 6b 65 6e 64 20 69 future.when.the.config.backend.i
9940 73 20 72 65 61 64 79 20 61 6e 64 20 65 76 65 72 79 20 73 63 72 69 70 74 20 69 73 20 72 65 77 72 s.ready.and.every.script.is.rewr
9960 69 74 74 65 6e 20 69 6e 20 74 68 69 73 20 66 61 73 68 69 6f 6e 2c 20 61 62 69 6c 69 74 79 20 74 itten.in.this.fashion,.ability.t
9980 6f 20 65 78 65 63 75 74 65 20 63 6f 6d 6d 69 74 20 64 72 79 20 72 75 6e 20 28 22 63 6f 6d 6d 69 o.execute.commit.dry.run.("commi
99a0 74 20 74 65 73 74 22 20 6c 69 6b 65 20 69 6e 20 4a 75 6e 4f 53 29 20 61 6e 64 20 61 62 6f 72 74 t.test".like.in.JunOS).and.abort
99c0 20 63 6f 6d 6d 69 74 20 62 65 66 6f 72 65 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 .commit.before.making.any.change
99e0 73 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 69 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 66 s.to.the.system.if.an.error.is.f
9a00 6f 75 6e 64 20 69 6e 20 61 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 2e 00 54 68 65 20 62 61 73 68 20 ound.in.any.component..The.bash.
9a20 28 6f 72 20 62 65 74 74 65 72 20 76 62 61 73 68 29 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e 20 (or.better.vbash).completion.in.
9a40 56 79 4f 53 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 2a 74 65 6d 70 6c 61 74 65 73 2a 2e 20 VyOS.is.defined.in.*templates*..
9a60 54 65 6d 70 6c 61 74 65 73 20 61 72 65 20 74 65 78 74 20 66 69 6c 65 73 20 28 63 61 6c 6c 65 64 Templates.are.text.files.(called
9a80 20 60 60 6e 6f 64 65 2e 64 65 66 60 60 29 20 73 74 6f 72 65 64 20 69 6e 20 61 20 64 69 72 65 63 .``node.def``).stored.in.a.direc
9aa0 74 6f 72 79 20 74 72 65 65 2e 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 64 tory.tree..The.directory.names.d
9ac0 65 66 69 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 74 65 6d efine.the.command.names,.and.tem
9ae0 70 6c 61 74 65 20 66 69 6c 65 73 20 64 65 66 69 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 62 plate.files.define.the.command.b
9b00 65 68 61 76 69 6f 75 72 2e 20 42 65 66 6f 72 65 20 56 79 4f 53 20 31 2e 32 20 28 63 72 75 78 29 ehaviour..Before.VyOS.1.2.(crux)
9b20 20 74 68 69 73 20 66 69 6c 65 73 20 77 65 72 65 20 63 72 65 61 74 65 64 20 62 79 20 68 61 6e 64 .this.files.were.created.by.hand
9b40 2e 20 41 66 74 65 72 20 61 20 63 6f 6d 70 6c 65 78 20 72 65 64 65 73 69 67 6e 20 70 72 6f 63 65 ..After.a.complex.redesign.proce
9b60 73 73 5f 20 74 68 65 20 6e 65 77 20 73 74 79 6c 65 20 74 65 6d 70 6c 61 74 65 20 61 72 65 20 61 ss_.the.new.style.template.are.a
9b80 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 61 20 58 4d utomatically.generated.from.a.XM
9ba0 4c 20 69 6e 70 75 74 20 66 69 6c 65 2e 00 54 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 L.input.file..The.build.process.
9bc0 6e 65 65 64 73 20 74 6f 20 62 65 20 62 75 69 6c 74 20 6f 6e 20 61 20 6c 6f 63 61 6c 20 66 69 6c needs.to.be.built.on.a.local.fil
9be0 65 20 73 79 73 74 65 6d 2c 20 62 75 69 6c 64 69 6e 67 20 6f 6e 20 53 4d 42 20 6f 72 20 4e 46 53 e.system,.building.on.SMB.or.NFS
9c00 20 73 68 61 72 65 73 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 63 6f 6e 74 61 .shares.will.result.in.the.conta
9c20 69 6e 65 72 20 66 61 69 6c 69 6e 67 20 74 6f 20 62 75 69 6c 64 20 70 72 6f 70 65 72 6c 79 21 20 iner.failing.to.build.properly!.
9c40 56 69 72 74 75 61 6c 42 6f 78 20 44 72 69 76 65 20 53 68 61 72 65 20 69 73 20 61 6c 73 6f 20 6e VirtualBox.Drive.Share.is.also.n
9c60 6f 74 20 61 6e 20 6f 70 74 69 6f 6e 20 61 73 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 20 6f 70 65 ot.an.option.as.block.device.ope
9c80 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 6e 64 20 rations.are.not.implemented.and.
9ca0 74 68 65 20 64 72 69 76 65 20 69 73 20 61 6c 77 61 79 73 20 6d 6f 75 6e 74 65 64 20 61 73 20 22 the.drive.is.always.mounted.as."
9cc0 6e 6f 64 65 76 22 00 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 61 72 65 20 61 6c nodev".The.configurations.are.al
9ce0 6c 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 70 72 6f 64 75 63 74 69 6f 6e 20 73 79 73 74 65 6d l.derived.from.production.system
9d00 73 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 6f 6e 6c 79 20 61 63 74 20 61 73 20 61 20 74 65 73 74 s.and.can.not.only.act.as.a.test
9d20 63 61 73 65 20 62 75 74 20 61 6c 73 6f 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 69 66 20 6f 6e case.but.also.as.reference.if.on
9d40 65 20 77 61 6e 74 73 20 74 6f 20 65 6e 61 62 6c 65 20 61 20 63 65 72 74 61 69 6e 20 66 65 61 74 e.wants.to.enable.a.certain.feat
9d60 75 72 65 2e 20 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 66 ure..The.configurations.can.be.f
9d80 6f 75 6e 64 20 68 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 ound.here:.https://github.com/vy
9da0 6f 73 2f 76 79 6f 73 2d 31 78 2f 74 72 65 65 2f 63 75 72 72 65 6e 74 2f 73 6d 6f 6b 65 74 65 73 os/vyos-1x/tree/current/smoketes
9dc0 74 2f 63 6f 6e 66 69 67 73 00 54 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 61 6e 20 61 6c 73 6f t/configs.The.container.can.also
9de0 20 62 65 20 62 75 69 6c 74 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 73 6f 75 72 63 65 3a 00 .be.built.directly.from.source:.
9e00 54 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 61 6e 20 62 65 20 62 75 69 6c 74 20 62 79 20 68 61 The.container.can.be.built.by.ha
9e20 6e 64 20 6f 72 20 62 79 20 66 65 74 63 68 69 6e 67 20 74 68 65 20 70 72 65 2d 62 75 69 6c 74 20 nd.or.by.fetching.the.pre-built.
9e40 6f 6e 65 20 66 72 6f 6d 20 44 6f 63 6b 65 72 48 75 62 2e 20 55 73 69 6e 67 20 74 68 65 20 70 72 one.from.DockerHub..Using.the.pr
9e60 65 2d 62 75 69 6c 74 20 63 6f 6e 74 61 69 6e 65 72 73 20 66 72 6f 6d 20 74 68 65 20 60 56 79 4f e-built.containers.from.the.`VyO
9e80 53 20 44 6f 63 6b 65 72 48 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 60 5f 20 77 69 6c 6c 20 S.DockerHub.organisation`_.will.
9ea0 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 61 6c 77 ensure.that.the.container.is.alw
9ec0 61 79 73 20 75 70 2d 74 6f 2d 64 61 74 65 2e 20 41 20 72 65 62 75 69 6c 64 20 69 73 20 74 72 69 ays.up-to-date..A.rebuild.is.tri
9ee0 67 67 65 72 65 64 20 6f 6e 63 65 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 68 61 6e 67 65 ggered.once.the.container.change
9f00 73 20 28 70 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 69 73 20 77 69 6c 6c 20 74 61 6b 65 20 32 2d s.(please.note.this.will.take.2-
9f20 33 20 68 6f 75 72 73 20 61 66 74 65 72 20 70 75 73 68 69 6e 67 20 74 6f 20 74 68 65 20 76 79 6f 3.hours.after.pushing.to.the.vyo
9f40 73 2d 62 75 69 6c 64 20 72 65 70 6f 73 69 74 6f 72 79 29 2e 00 54 68 65 20 64 65 66 61 75 6c 74 s-build.repository)..The.default
9f60 20 74 65 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 66 6f 72 20 56 79 4f 53 20 63 6f 64 .template.processor.for.VyOS.cod
9f80 65 20 69 73 20 4a 69 6e 6a 61 32 5f 2e 00 54 68 65 20 65 61 73 69 65 73 74 20 77 61 79 20 74 6f e.is.Jinja2_..The.easiest.way.to
9fa0 20 63 6f 6d 70 69 6c 65 20 79 6f 75 72 20 70 61 63 6b 61 67 65 20 69 73 20 77 69 74 68 20 74 68 .compile.your.package.is.with.th
9fc0 65 20 61 62 6f 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 64 6f e.above.mentioned.:ref:`build_do
9fe0 63 6b 65 72 60 20 63 6f 6e 74 61 69 6e 65 72 2c 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 6c 6c cker`.container,.it.includes.all
a000 20 72 65 71 75 69 72 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 61 6c 6c 20 56 .required.dependencies.for.all.V
a020 79 4f 53 20 72 65 6c 61 74 65 64 20 70 61 63 6b 61 67 65 73 2e 00 54 68 65 20 65 6e 74 69 72 65 yOS.related.packages..The.entire
a040 20 74 65 73 74 20 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 6d 61 69 6e 20 .test.is.controlled.by.the.main.
a060 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 60 60 2f 75 73 72 2f 62 69 6e 2f 76 79 6f 73 2d 63 wrapper.script.``/usr/bin/vyos-c
a080 6f 6e 66 69 67 74 65 73 74 60 60 20 77 68 69 63 68 20 62 65 68 61 76 65 73 20 69 6e 20 74 68 65 onfigtest``.which.behaves.in.the
a0a0 20 73 61 6d 65 20 77 61 79 20 61 73 20 74 68 65 20 6d 61 69 6e 20 73 6d 6f 6b 65 74 65 73 74 20 .same.way.as.the.main.smoketest.
a0c0 73 63 72 69 70 74 2e 20 49 74 20 73 63 61 6e 73 20 74 68 65 20 66 6f 6c 64 65 72 20 66 6f 72 20 script..It.scans.the.folder.for.
a0e0 70 6f 74 65 6e 74 69 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 73 20 61 6e potential.configuration.files.an
a100 64 20 69 73 73 75 65 73 20 61 20 60 60 6c 6f 61 64 60 60 20 63 6f 6d 6d 61 6e 64 20 6f 6e 65 20 d.issues.a.``load``.command.one.
a120 61 66 74 65 72 20 61 6e 6f 74 68 65 72 2e 00 54 68 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 70 after.another..The.file.can.be.p
a140 6c 61 63 65 64 20 69 6e 20 60 60 2f 74 6d 70 60 60 20 66 6f 72 20 6f 6e 65 20 74 69 6d 65 20 64 laced.in.``/tmp``.for.one.time.d
a160 65 62 75 67 67 69 6e 67 20 28 61 73 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 72 65 ebugging.(as.the.file.will.be.re
a180 6d 6f 76 65 64 20 6f 6e 20 72 65 62 6f 6f 74 29 20 6f 72 20 70 6c 61 63 65 64 20 69 6e 20 27 2f moved.on.reboot).or.placed.in.'/
a1a0 63 6f 6e 66 69 67 27 20 74 6f 20 73 74 61 79 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2e 00 54 68 65 config'.to.stay.permanently..The
a1c0 20 66 69 72 73 74 20 77 6f 72 64 20 6f 66 20 65 76 65 72 79 20 68 65 6c 70 20 73 74 72 69 6e 67 .first.word.of.every.help.string
a1e0 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 20 54 68 65 72 65 20 .**must**.be.capitalized..There.
a200 2a 2a 6d 75 73 74 20 6e 6f 74 2a 2a 20 62 65 20 61 20 70 65 72 69 6f 64 20 61 74 20 74 68 65 20 **must.not**.be.a.period.at.the.
a220 65 6e 64 20 6f 66 20 68 65 6c 70 20 73 74 72 69 6e 67 73 2e 00 54 68 65 20 66 6f 6c 6c 6f 77 69 end.of.help.strings..The.followi
a240 6e 67 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 66 6f ng.includes.the.build.process.fo
a260 72 20 56 79 4f 53 20 31 2e 32 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e r.VyOS.1.2.to.the.latest.version
a280 2e 00 54 68 65 20 66 6f 72 6d 61 74 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 64 20 69 73 20 69 6e ..The.format.should.be.and.is.in
a2a0 73 70 69 72 65 64 20 62 79 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 2d 73 63 6d 2e 63 6f 6d 2f 62 spired.by:.https://git-scm.com/b
a2c0 6f 6f 6b 2f 63 68 35 2d 32 2e 68 74 6d 6c 20 49 74 20 69 73 20 61 6c 73 6f 20 77 6f 72 74 68 20 ook/ch5-2.html.It.is.also.worth.
a2e0 72 65 61 64 69 6e 67 20 68 74 74 70 73 3a 2f 2f 63 68 72 69 73 2e 62 65 61 6d 73 2e 69 6f 2f 70 reading.https://chris.beams.io/p
a300 6f 73 74 73 2f 67 69 74 2d 63 6f 6d 6d 69 74 2f 00 54 68 65 20 67 72 65 61 74 20 74 68 69 6e 67 osts/git-commit/.The.great.thing
a320 20 61 62 6f 75 74 20 73 63 68 65 6d 61 73 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 61 74 20 .about.schemas.is.not.only.that.
a340 70 65 6f 70 6c 65 20 63 61 6e 20 6b 6e 6f 77 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 67 72 61 people.can.know.the.complete.gra
a360 6d 6d 61 72 20 66 6f 72 20 63 65 72 74 61 69 6e 2c 20 62 75 74 20 61 6c 73 6f 20 74 68 61 74 20 mmar.for.certain,.but.also.that.
a380 69 74 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 76 65 72 69 66 69 65 64 it.can.be.automatically.verified
a3a0 2e 20 54 68 65 20 60 73 63 72 69 70 74 73 2f 62 75 69 6c 64 2d 63 6f 6d 6d 61 6e 64 2d 74 65 6d ..The.`scripts/build-command-tem
a3c0 70 6c 61 74 65 73 60 20 73 63 72 69 70 74 20 74 68 61 74 20 63 6f 6e 76 65 72 74 73 20 74 68 65 plates`.script.that.converts.the
a3e0 20 58 4d 4c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 6f 6c 64 20 73 74 79 6c 65 20 74 65 .XML.definitions.to.old.style.te
a400 6d 70 6c 61 74 65 73 20 61 6c 73 6f 20 76 65 72 69 66 69 65 73 20 74 68 65 6d 20 61 67 61 69 6e mplates.also.verifies.them.again
a420 73 74 20 74 68 65 20 73 63 68 65 6d 61 2c 20 73 6f 20 61 20 62 61 64 20 64 65 66 69 6e 69 74 69 st.the.schema,.so.a.bad.definiti
a440 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 62 75 69 6c 64 20 on.will.cause.the.package.build.
a460 74 6f 20 66 61 69 6c 2e 20 49 20 64 6f 20 61 67 72 65 65 20 74 68 61 74 20 74 68 65 20 66 6f 72 to.fail..I.do.agree.that.the.for
a480 6d 61 74 20 69 73 20 76 65 72 62 6f 73 65 2c 20 62 75 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 mat.is.verbose,.but.there.is.no.
a4a0 6f 74 68 65 72 20 66 6f 72 6d 61 74 20 6e 6f 77 20 74 68 61 74 20 77 6f 75 6c 64 20 61 6c 6c 6f other.format.now.that.would.allo
a4c0 77 20 74 68 69 73 2e 20 42 65 73 69 64 65 73 2c 20 61 20 73 70 65 63 69 61 6c 69 7a 65 64 20 58 w.this..Besides,.a.specialized.X
a4e0 4d 4c 20 65 64 69 74 6f 72 20 63 61 6e 20 61 6c 6c 65 76 69 61 74 65 20 74 68 65 20 69 73 73 75 ML.editor.can.alleviate.the.issu
a500 65 20 77 69 74 68 20 76 65 72 62 6f 73 69 74 79 2e 00 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f e.with.verbosity..The.informatio
a520 6e 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 72 65 65 20 77 61 79 73 3a 00 54 68 65 20 6b 65 72 n.is.used.in.three.ways:.The.ker
a540 6e 65 6c 20 62 75 69 6c 64 20 69 73 20 71 75 69 74 65 20 65 61 73 79 2c 20 6d 6f 73 74 20 6f 66 nel.build.is.quite.easy,.most.of
a560 20 74 68 65 20 72 65 71 75 69 72 65 64 20 73 74 65 70 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 .the.required.steps.can.be.found
a580 20 69 6e 20 74 68 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c 69 .in.the.``vyos-build/packages/li
a5a0 6e 75 78 2d 6b 65 72 6e 65 6c 2f 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 62 75 74 20 77 65 20 nux-kernel/Jenkinsfile``.but.we.
a5c0 77 69 6c 6c 20 77 61 6c 6b 20 79 6f 75 20 74 68 72 6f 75 67 68 20 69 74 2e 00 54 68 65 20 6d 6f will.walk.you.through.it..The.mo
a5e0 73 74 20 6f 62 76 69 6f 75 73 20 72 65 61 73 6f 6e 73 20 63 6f 75 6c 64 20 62 65 3a 00 54 68 65 st.obvious.reasons.could.be:.The
a600 20 6f 72 69 67 69 6e 61 6c 20 72 65 70 6f 20 69 73 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 .original.repo.is.at.https://git
a620 68 75 62 2e 63 6f 6d 2f 64 6d 62 61 74 75 72 69 6e 2f 68 76 69 6e 66 6f 00 54 68 65 20 6f 74 68 hub.com/dmbaturin/hvinfo.The.oth
a640 65 72 20 70 61 72 74 20 6f 66 20 6f 75 72 20 74 65 73 74 73 20 61 72 65 20 63 61 6c 6c 65 64 20 er.part.of.our.tests.are.called.
a660 22 63 6f 6e 66 69 67 20 6c 6f 61 64 20 74 65 73 74 73 22 2e 20 54 68 65 20 63 6f 6e 66 69 67 20 "config.load.tests"..The.config.
a680 6c 6f 61 64 20 74 65 73 74 73 20 77 69 6c 6c 20 6c 6f 61 64 20 2d 20 6f 6e 65 20 61 66 74 65 72 load.tests.will.load.-.one.after
a6a0 20 61 6e 6f 74 68 65 72 20 2d 20 61 72 62 69 74 72 61 72 79 20 63 6f 6e 66 69 67 75 72 61 74 69 .another.-.arbitrary.configurati
a6c0 6f 6e 20 66 69 6c 65 73 20 74 6f 20 74 65 73 74 20 69 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 on.files.to.test.if.the.configur
a6e0 61 74 69 6f 6e 20 6d 69 67 72 61 74 69 6f 6e 20 73 63 72 69 70 74 73 20 77 6f 72 6b 20 61 73 20 ation.migration.scripts.work.as.
a700 64 65 73 69 67 6e 65 64 20 61 6e 64 20 74 68 61 74 20 61 20 67 69 76 65 6e 20 73 65 74 20 6f 66 designed.and.that.a.given.set.of
a720 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 73 74 69 6c 6c 20 63 61 6e 20 62 65 20 6c 6f 61 64 .functionality.still.can.be.load
a740 65 64 20 77 69 74 68 20 61 20 66 72 65 73 68 20 56 79 4f 53 20 49 53 4f 20 69 6d 61 67 65 2e 00 ed.with.a.fresh.VyOS.ISO.image..
a760 54 68 65 20 6f 75 74 70 75 74 20 79 6f 75 20 67 65 74 20 77 68 65 6e 20 79 6f 75 20 66 69 6e 64 The.output.you.get.when.you.find
a780 20 61 20 62 75 67 20 63 61 6e 20 70 72 6f 76 69 64 65 20 6c 6f 74 73 20 6f 66 20 69 6e 66 6f 72 .a.bug.can.provide.lots.of.infor
a7a0 6d 61 74 69 6f 6e 2e 20 49 66 20 79 6f 75 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 mation..If.you.get.an.error.mess
a7c0 61 67 65 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c 20 63 6f 70 79 20 69 74 20 65 78 61 63 74 age.on.the.screen,.copy.it.exact
a7e0 6c 79 2e 20 48 61 76 69 6e 67 20 74 68 65 20 65 78 61 63 74 20 6d 65 73 73 61 67 65 20 63 61 6e ly..Having.the.exact.message.can
a800 20 70 72 6f 76 69 64 65 20 64 65 74 61 69 6c 20 74 68 61 74 20 74 68 65 20 64 65 76 65 6c 6f 70 .provide.detail.that.the.develop
a820 65 72 73 20 63 61 6e 20 75 73 65 2e 20 4c 69 6b 65 20 77 69 73 65 20 69 66 20 79 6f 75 20 68 61 ers.can.use..Like.wise.if.you.ha
a840 76 65 20 61 6e 79 20 6c 6f 67 20 6d 65 73 73 61 67 65 73 20 74 68 61 74 20 61 6c 73 6f 20 61 72 ve.any.log.messages.that.also.ar
a860 65 20 66 72 6f 6d 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 69 73 73 75 65 2c 20 69 6e e.from.the.time.of.the.issue,.in
a880 63 6c 75 64 65 20 74 68 6f 73 65 2e 20 54 68 65 79 20 6d 61 79 20 61 6c 73 6f 20 63 6f 6e 74 61 clude.those..They.may.also.conta
a8a0 69 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 68 65 6c 70 66 75 6c 20 66 in.information.that.is.helpful.f
a8c0 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 74 65 61 6d 2e 00 54 68 65 20 70 61 63 or.the.development.team..The.pac
a8e0 6b 61 67 65 20 65 6e 64 73 20 75 70 20 69 6e 20 64 65 62 5f 64 69 73 74 20 64 69 72 2e 00 54 68 kage.ends.up.in.deb_dist.dir..Th
a900 65 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 e.reason.is.that.the.configurati
a920 6f 6e 20 6d 69 67 72 61 74 69 6f 6e 20 62 61 63 6b 65 6e 64 20 69 73 20 72 65 77 72 69 74 74 65 on.migration.backend.is.rewritte
a940 6e 20 61 6e 64 20 75 73 65 73 20 61 20 6e 65 77 20 66 6f 72 6d 20 6f 66 20 22 6d 61 67 69 63 20 n.and.uses.a.new.form.of."magic.
a960 73 74 72 69 6e 67 22 20 77 68 69 63 68 20 69 73 20 61 70 70 6c 69 65 64 20 6f 6e 20 64 65 6d 61 string".which.is.applied.on.dema
a980 6e 64 20 77 68 65 6e 20 72 65 61 6c 20 63 6f 6e 66 69 67 20 6d 69 67 72 61 74 69 6f 6e 20 69 73 nd.when.real.config.migration.is
a9a0 20 72 75 6e 20 6f 6e 20 62 6f 6f 74 2e 20 57 68 65 6e 20 72 75 6e 6e 69 6e 74 20 69 6e 64 69 76 .run.on.boot..When.runnint.indiv
a9c0 69 64 75 61 6c 20 6d 69 67 72 61 74 6f 72 73 20 66 6f 72 20 74 65 73 74 69 6e 67 2c 20 79 6f 75 idual.migrators.for.testing,.you
a9e0 20 6e 65 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 22 6d 61 67 69 63 20 73 74 72 69 .need.to.convert.the."magic.stri
aa00 6e 67 22 20 6f 6e 20 79 6f 75 72 20 6f 77 6e 20 62 79 3a 00 54 68 65 20 72 65 70 6f 73 69 74 6f ng".on.your.own.by:.The.reposito
aa20 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 74 68 65 20 49 53 4f 20 62 75 69 ry.that.contains.all.the.ISO.bui
aa40 6c 64 20 73 63 72 69 70 74 73 20 69 73 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ld.scripts.is:.https://github.co
aa60 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 62 75 69 6c 64 00 54 68 65 20 73 63 72 69 70 74 20 6f 6e 6c m/vyos/vyos-build.The.script.onl
aa80 79 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 22 74 65 73 74 2d y.searches.for.executable."test-
aaa0 63 61 73 65 73 22 20 75 6e 64 65 72 20 60 60 2f 75 73 72 2f 6c 69 62 65 78 65 63 2f 76 79 6f 73 cases".under.``/usr/libexec/vyos
aac0 2f 74 65 73 74 73 2f 73 6d 6f 6b 65 2f 63 6c 69 2f 60 60 20 61 6e 64 20 65 78 65 63 75 74 65 73 /tests/smoke/cli/``.and.executes
aae0 20 74 68 65 6d 20 6f 6e 65 20 62 79 20 6f 6e 65 2e 00 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 .them.one.by.one..The.source.cod
ab00 65 20 72 65 6d 61 69 6e 73 20 70 75 62 6c 69 63 20 61 6e 64 20 61 6e 20 49 53 4f 20 63 61 6e 20 e.remains.public.and.an.ISO.can.
ab20 62 65 20 62 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 75 74 6c 69 be.built.using.the.process.outli
ab40 6e 65 64 20 69 6e 20 74 68 69 73 20 63 68 61 70 74 65 72 2e 00 54 68 65 20 73 6f 75 72 63 65 20 ned.in.this.chapter..The.source.
ab60 69 73 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 is.at.https://github.com/vyos/vy
ab80 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 00 54 68 65 20 73 6f 75 72 63 65 20 69 73 20 6c 6f 63 61 os-strongswan.The.source.is.loca
aba0 74 65 64 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 ted.at.https://github.com/vyos/v
abc0 79 6f 73 2d 6e 65 74 70 6c 75 67 00 54 68 65 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 50 79 yos-netplug.The.switch.to.the.Py
abe0 74 68 6f 6e 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 66 6f 72 20 6e 65 thon.programming.language.for.ne
ac00 77 20 63 6f 64 65 20 69 73 20 6e 6f 74 20 6d 65 72 65 6c 79 20 61 20 63 68 61 6e 67 65 20 6f 66 w.code.is.not.merely.a.change.of
ac20 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 62 75 74 20 61 20 63 68 61 6e 63 65 20 74 6f 20 72 .the.language,.but.a.chance.to.r
ac40 65 74 68 69 6e 6b 20 61 6e 64 20 69 6d 70 72 6f 76 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 69 ethink.and.improve.the.programmi
ac60 6e 67 20 61 70 70 72 6f 61 63 68 2e 00 54 68 65 20 73 79 73 74 65 6d 20 73 74 61 72 74 75 70 20 ng.approach..The.system.startup.
ac80 63 61 6e 20 62 65 20 64 65 62 75 67 67 65 64 20 28 6c 69 6b 65 20 6c 6f 61 64 69 6e 67 20 69 6e can.be.debugged.(like.loading.in
aca0 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 66 72 6f 6d 20 60 60 2f .the.configuration.file.from.``/
acc0 63 6f 6e 66 69 67 2f 63 6f 6e 66 69 67 2e 62 6f 6f 74 60 60 2e 20 54 68 69 73 20 63 61 6e 20 62 config/config.boot``..This.can.b
ace0 65 20 61 63 68 69 65 76 65 20 62 79 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 4b 65 72 6e 65 e.achieve.by.extending.the.Kerne
ad00 6c 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 69 6e 20 74 68 65 20 62 6f 6f 74 6c 6f 61 64 65 72 l.command-line.in.the.bootloader
ad20 2e 00 54 68 65 72 65 20 61 72 65 20 28 72 61 72 65 29 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 ..There.are.(rare).situations.wh
ad40 65 72 65 20 62 75 69 6c 64 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 6e 6f 74 ere.building.an.ISO.image.is.not
ad60 20 70 6f 73 73 69 62 6c 65 20 61 74 20 61 6c 6c 20 64 75 65 20 74 6f 20 61 20 62 72 6f 6b 65 6e .possible.at.all.due.to.a.broken
ad80 20 70 61 63 6b 61 67 65 20 66 65 65 64 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 2e .package.feed.in.the.background.
ada0 20 41 50 54 20 69 73 20 6e 6f 74 20 76 65 72 79 20 67 6f 6f 64 20 61 74 20 72 65 70 6f 72 74 69 .APT.is.not.very.good.at.reporti
adc0 6e 67 20 74 68 65 20 72 6f 6f 74 20 63 61 75 73 65 20 6f 66 20 74 68 65 20 69 73 73 75 65 2e 20 ng.the.root.cause.of.the.issue..
ade0 59 6f 75 72 20 49 53 4f 20 62 75 69 6c 64 20 77 69 6c 6c 20 6c 69 6b 65 6c 79 20 66 61 69 6c 20 Your.ISO.build.will.likely.fail.
ae00 77 69 74 68 20 61 20 6d 6f 72 65 20 6f 72 20 6c 65 73 73 20 73 69 6d 69 6c 61 72 20 6c 6f 6f 6b with.a.more.or.less.similar.look
ae20 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 00 54 68 65 72 65 20 61 72 65 20 64 69 66 ing.error.message:.There.are.dif
ae40 66 65 72 65 6e 74 20 77 61 79 73 20 79 6f 75 20 63 61 6e 20 62 75 69 6c 64 20 56 79 4f 53 2e 00 ferent.ways.you.can.build.VyOS..
ae60 54 68 65 72 65 20 61 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 65 2e 67 2e 20 56 49 4d There.are.extensions.to.e.g..VIM
ae80 20 28 78 6d 6c 6c 69 6e 74 29 20 77 68 69 63 68 20 77 69 6c 6c 20 68 65 6c 70 20 79 6f 75 20 74 .(xmllint).which.will.help.you.t
aea0 6f 20 67 65 74 20 79 6f 75 72 20 69 6e 64 65 6e 74 69 6f 6e 20 6c 65 76 65 6c 73 20 63 6f 72 72 o.get.your.indention.levels.corr
aec0 65 63 74 2e 20 41 64 64 20 74 6f 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 79 6f 75 72 20 2e 76 ect..Add.to.following.to.your..v
aee0 69 6d 72 63 20 66 69 6c 65 3a 20 60 60 61 75 20 46 69 6c 65 54 79 70 65 20 78 6d 6c 20 73 65 74 imrc.file:.``au.FileType.xml.set
af00 6c 6f 63 61 6c 20 65 71 75 61 6c 70 72 67 3d 78 6d 6c 6c 69 6e 74 5c 20 2d 2d 66 6f 72 6d 61 74 local.equalprg=xmllint\.--format
af20 5c 20 2d 2d 72 65 63 6f 76 65 72 5c 20 2d 5c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 60 20 6e 6f \.--recover\.-\.2>/dev/null``.no
af40 77 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 74 68 65 20 6c 69 6e 74 65 72 20 75 73 69 6e 67 20 w.you.can.call.the.linter.using.
af60 60 60 67 67 3d 47 60 60 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 6d 6f 64 65 2e 00 54 68 65 72 65 20 ``gg=G``.in.command.mode..There.
af80 61 72 65 20 74 77 6f 20 66 6c 61 67 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 61 69 64 20 69 are.two.flags.available.to.aid.i
afa0 6e 20 64 65 62 75 67 67 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70 74 n.debugging.configuration.script
afc0 73 2e 20 53 69 6e 63 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6c 6f 61 64 69 6e 67 20 69 s..Since.configuration.loading.i
afe0 73 73 75 65 73 20 77 69 6c 6c 20 6d 61 6e 69 66 65 73 74 20 64 75 72 69 6e 67 20 62 6f 6f 74 2c ssues.will.manifest.during.boot,
b000 20 74 68 65 20 66 6c 61 67 73 20 61 72 65 20 70 61 73 73 65 64 20 61 73 20 6b 65 72 6e 65 6c 20 .the.flags.are.passed.as.kernel.
b020 62 6f 6f 74 20 70 61 72 61 6d 65 74 65 72 73 2e 00 54 68 69 73 20 49 53 4f 20 63 61 6e 20 62 65 boot.parameters..This.ISO.can.be
b040 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c .customized.with.the.following.l
b060 69 73 74 20 6f 66 20 63 6f 6e 66 69 67 75 72 65 20 6f 70 74 69 6f 6e 73 2e 20 54 68 65 20 66 75 ist.of.configure.options..The.fu
b080 6c 6c 20 61 6e 64 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 63 61 6e 20 62 65 20 67 65 6e 65 72 ll.and.current.list.can.be.gener
b0a0 61 74 65 64 20 77 69 74 68 20 60 60 2e 2f 62 75 69 6c 64 2d 76 79 6f 73 2d 69 6d 61 67 65 20 2d ated.with.``./build-vyos-image.-
b0c0 2d 68 65 6c 70 60 60 3a 00 54 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 64 6f 6e 65 20 70 -help``:.This.can.also.be.done.p
b0e0 65 72 6d 61 6e 65 6e 74 6c 79 20 62 79 20 63 68 61 6e 67 69 6e 67 20 60 60 2f 62 6f 6f 74 2f 67 ermanently.by.changing.``/boot/g
b100 72 75 62 2f 67 72 75 62 2e 63 66 67 60 60 2e 00 54 68 69 73 20 63 68 61 70 74 65 72 20 6c 69 73 rub/grub.cfg``..This.chapter.lis
b120 74 73 20 74 68 6f 73 65 20 65 78 63 65 70 74 69 6f 6e 73 20 61 6e 64 20 67 69 76 65 73 20 79 6f ts.those.exceptions.and.gives.yo
b140 75 20 61 20 62 72 69 65 66 20 6f 76 65 72 76 69 65 77 20 77 68 61 74 20 77 65 20 68 61 76 65 20 u.a.brief.overview.what.we.have.
b160 64 6f 6e 65 20 6f 6e 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 20 49 66 20 79 6f 75 20 6f done.on.those.packages..If.you.o
b180 6e 6c 79 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 73 65 6c 66 20 61 20 66 72 65 nly.want.to.build.yourself.a.fre
b1a0 73 68 20 49 53 4f 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 6b 69 70 20 74 sh.ISO.you.can.completely.skip.t
b1c0 68 69 73 20 63 68 61 70 74 65 72 2e 20 49 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 69 6e 74 65 72 his.chapter..It.may.become.inter
b1e0 65 73 74 69 6e 67 20 6f 6e 63 65 20 79 6f 75 20 68 61 76 65 20 61 20 56 79 4f 53 20 64 65 65 70 esting.once.you.have.a.VyOS.deep
b200 20 64 69 76 65 2e 00 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 75 74 69 6c 69 7a 69 6e 67 .dive..This.is.done.by.utilizing
b220 20 74 68 65 20 60 60 73 79 73 74 65 6d 64 2d 62 6f 6f 74 63 68 61 72 74 60 60 20 70 61 63 6b 61 .the.``systemd-bootchart``.packa
b240 67 65 20 77 68 69 63 68 20 69 73 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 ge.which.is.now.installed.by.def
b260 61 75 6c 74 20 6f 6e 20 74 68 65 20 56 79 4f 53 20 31 2e 33 20 28 65 71 75 75 6c 65 75 73 29 20 ault.on.the.VyOS.1.3.(equuleus).
b280 62 72 61 6e 63 68 2e 20 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 61 6c 73 branch..The.configuration.is.als
b2a0 6f 20 76 65 72 73 69 6f 6e 65 64 20 73 6f 20 77 65 20 67 65 74 20 63 6f 6d 70 61 72 61 62 6c 65 o.versioned.so.we.get.comparable
b2c0 20 72 65 73 75 6c 74 73 2e 20 60 60 73 79 73 74 65 6d 64 2d 62 6f 6f 74 63 68 61 72 74 60 60 20 .results..``systemd-bootchart``.
b2e0 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 75 73 69 6e 67 20 74 68 69 73 20 66 69 6c 65 3a 20 62 is.configured.using.this.file:.b
b300 6f 6f 74 63 68 61 72 74 2e 63 6f 6e 66 5f 00 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 66 69 ootchart.conf_.This.means.the.fi
b320 6c 65 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 28 60 60 2f 6f 70 74 2f 76 79 61 74 74 61 2f 73 62 le.in.question.(``/opt/vyatta/sb
b340 69 6e 2f 76 79 61 74 74 61 2d 75 70 64 61 74 65 2d 77 65 62 70 72 6f 78 79 2e 70 6c 60 60 29 20 in/vyatta-update-webproxy.pl``).
b360 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 60 60 76 79 61 74 74 61 2d 77 65 62 70 72 is.located.in.the.``vyatta-webpr
b380 6f 78 79 60 60 20 70 61 63 6b 61 67 65 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 oxy``.package.which.can.be.found
b3a0 20 68 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 .here:.https://github.com/vyos/v
b3c0 79 61 74 74 61 2d 77 65 62 70 72 6f 78 79 00 54 68 69 73 20 70 61 63 6b 61 67 65 20 64 6f 65 73 yatta-webproxy.This.package.does
b3e0 6e 27 74 20 65 78 69 73 74 20 69 6e 20 44 65 62 69 61 6e 2e 20 41 20 64 65 62 69 61 6e 69 7a 65 n't.exist.in.Debian..A.debianize
b400 64 20 66 6f 72 6b 20 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 d.fork.is.kept.at.https://github
b420 2e 63 6f 6d 2f 76 79 6f 73 2f 6d 64 6e 73 2d 72 65 70 65 61 74 65 72 00 54 68 69 73 20 70 61 63 .com/vyos/mdns-repeater.This.pac
b440 6b 61 67 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 44 65 62 69 61 6e 2e 20 41 20 kage.doesn't.exist.in.Debian..A.
b460 64 65 62 69 61 6e 69 7a 65 64 20 66 6f 72 6b 20 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 73 debianized.fork.is.kept.at.https
b480 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 75 64 70 2d 62 72 6f 61 64 63 61 73 74 ://github.com/vyos/udp-broadcast
b4a0 2d 72 65 6c 61 79 00 54 68 69 73 20 74 72 69 65 73 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c -relay.This.tries.to.automatical
b4c0 6c 79 20 64 65 74 65 63 74 20 77 68 69 63 68 20 62 6c 6f 62 73 20 61 72 65 20 6e 65 65 64 65 64 ly.detect.which.blobs.are.needed
b4e0 20 62 61 73 65 64 20 6f 6e 20 77 68 69 63 68 20 64 72 69 76 65 72 73 20 77 65 72 65 20 62 75 69 .based.on.which.drivers.were.bui
b500 6c 74 2e 20 49 66 20 69 74 20 66 61 69 6c 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 63 6f 72 72 lt..If.it.fails.to.find.the.corr
b520 65 63 74 20 66 69 6c 65 73 20 79 6f 75 20 63 61 6e 20 61 64 64 20 74 68 65 6d 20 6d 61 6e 75 61 ect.files.you.can.add.them.manua
b540 6c 6c 79 20 74 6f 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c 69 6e lly.to.``vyos-build/packages/lin
b560 75 78 2d 6b 65 72 6e 65 6c 2f 62 75 69 6c 64 2d 6c 69 6e 75 78 2d 66 69 72 6d 77 61 72 65 2e 73 ux-kernel/build-linux-firmware.s
b580 68 60 60 3a 00 54 68 69 73 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 68 h``:.This.will.guide.you.through
b5a0 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 61 20 56 79 4f 53 20 .the.process.of.building.a.VyOS.
b5c0 49 53 4f 20 75 73 69 6e 67 20 44 6f 63 6b 65 72 2e 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 68 ISO.using.Docker..This.process.h
b5e0 61 73 20 62 65 65 6e 20 74 65 73 74 65 64 20 6f 6e 20 63 6c 65 61 6e 20 69 6e 73 74 61 6c 6c 73 as.been.tested.on.clean.installs
b600 20 6f 66 20 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 28 31 31 29 20 61 6e 64 20 42 6f 6f .of.Debian.Bullseye.(11).and.Boo
b620 6b 77 6f 72 6d 20 28 31 32 29 2e 00 54 68 69 73 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 kworm.(12)..This.will.guide.you.
b640 74 68 72 6f 75 67 68 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 through.the.process.of.building.
b660 61 20 56 79 4f 53 20 49 53 4f 20 75 73 69 6e 67 20 44 6f 63 6b 65 72 5f 2e 20 54 68 69 73 20 70 a.VyOS.ISO.using.Docker_..This.p
b680 72 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 74 65 73 74 65 64 20 6f 6e 20 63 6c 65 61 6e 20 rocess.has.been.tested.on.clean.
b6a0 69 6e 73 74 61 6c 6c 73 20 6f 66 20 44 65 62 69 61 6e 20 4a 65 73 73 69 65 2c 20 53 74 72 65 74 installs.of.Debian.Jessie,.Stret
b6c0 63 68 2c 20 61 6e 64 20 42 75 73 74 65 72 2e 00 54 68 69 73 20 77 69 6c 6c 20 6c 69 6d 69 74 20 ch,.and.Buster..This.will.limit.
b6e0 74 68 65 20 60 62 6f 6e 64 60 20 69 6e 74 65 72 66 61 63 65 20 74 65 73 74 20 74 6f 20 6f 6e 6c the.`bond`.interface.test.to.onl
b700 79 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 60 65 74 68 31 60 20 61 6e 64 20 60 65 74 68 32 60 20 y.make.use.of.`eth1`.and.`eth2`.
b720 61 73 20 6d 65 6d 62 65 72 20 70 6f 72 74 73 2e 00 54 68 6f 73 65 20 63 6f 6d 6d 6f 6e 20 74 65 as.member.ports..Those.common.te
b740 73 74 73 20 63 6f 6e 73 69 73 74 73 20 6f 75 74 20 6f 66 3a 00 54 69 70 73 20 61 6e 64 20 54 72 sts.consists.out.of:.Tips.and.Tr
b760 69 63 6b 73 00 54 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 75 73 65 20 44 6f 63 6b 65 72 5f 20 77 icks.To.be.able.to.use.Docker_.w
b780 69 74 68 6f 75 74 20 60 60 73 75 64 6f 60 60 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 6f 6e ithout.``sudo``,.the.current.non
b7a0 2d 72 6f 6f 74 20 75 73 65 72 20 6d 75 73 74 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 -root.user.must.be.added.to.the.
b7c0 60 60 64 6f 63 6b 65 72 60 60 20 67 72 6f 75 70 20 62 79 20 63 61 6c 6c 69 6e 67 3a 20 60 60 73 ``docker``.group.by.calling:.``s
b7e0 75 64 6f 20 75 73 65 72 6d 6f 64 20 2d 61 47 20 64 6f 63 6b 65 72 20 79 6f 75 72 75 73 65 72 6e udo.usermod.-aG.docker.yourusern
b800 61 6d 65 60 60 2e 00 54 6f 20 62 75 69 6c 64 20 56 79 4f 53 20 6e 61 74 69 76 65 6c 79 20 79 6f ame``..To.build.VyOS.natively.yo
b820 75 20 72 65 71 75 69 72 65 20 61 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 20 u.require.a.properly.configured.
b840 62 75 69 6c 64 20 68 6f 73 74 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 65 build.host.with.the.following.De
b860 62 69 61 6e 20 76 65 72 73 69 6f 6e 73 20 69 6e 73 74 61 6c 6c 65 64 3a 00 54 6f 20 62 75 69 6c bian.versions.installed:.To.buil
b880 64 20 6f 75 72 20 6d 6f 64 75 6c 65 73 20 77 65 20 75 74 69 6c 69 7a 65 20 61 20 43 49 2f 43 44 d.our.modules.we.utilize.a.CI/CD
b8a0 20 50 69 70 65 6c 69 6e 65 20 73 63 72 69 70 74 2e 20 45 61 63 68 20 61 6e 64 20 65 76 65 72 79 .Pipeline.script..Each.and.every
b8c0 20 56 79 4f 53 20 63 6f 6d 70 6f 6e 65 6e 74 20 63 6f 6d 65 73 20 77 69 74 68 20 69 74 27 73 20 .VyOS.component.comes.with.it's.
b8e0 6f 77 6e 20 60 60 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 77 68 69 63 68 20 69 73 20 28 6d 6f own.``Jenkinsfile``.which.is.(mo
b900 72 65 20 6f 72 20 6c 65 73 73 29 20 61 20 63 6f 70 79 2e 20 54 68 65 20 50 69 70 65 6c 69 6e 65 re.or.less).a.copy..The.Pipeline
b920 20 75 74 69 6c 69 7a 65 73 20 74 68 65 20 44 6f 63 6b 65 72 20 63 6f 6e 74 61 69 6e 65 72 20 66 .utilizes.the.Docker.container.f
b940 72 6f 6d 20 74 68 65 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 69 73 6f 60 20 73 65 63 74 69 6f 6e rom.the.:ref:`build_iso`.section
b960 20 2d 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 69 74 20 66 72 .-.but.instead.of.building.it.fr
b980 6f 6d 20 73 6f 75 72 63 65 20 6f 6e 20 65 76 65 72 79 20 72 75 6e 2c 20 77 65 20 72 61 74 68 65 om.source.on.every.run,.we.rathe
b9a0 72 20 61 6c 77 61 79 73 20 66 65 74 63 68 20 61 20 66 72 65 73 68 20 63 6f 70 79 20 28 69 66 20 r.always.fetch.a.fresh.copy.(if.
b9c0 6e 65 65 64 65 64 29 20 66 72 6f 6d 20 44 6f 63 6b 65 72 68 75 62 5f 2e 00 54 6f 20 64 65 62 75 needed).from.Dockerhub_..To.debu
b9e0 67 20 69 73 73 75 65 73 20 69 6e 20 70 72 69 6f 72 69 74 69 65 73 20 6f 72 20 74 6f 20 73 65 65 g.issues.in.priorities.or.to.see
ba00 20 77 68 61 74 27 73 20 67 6f 69 6e 67 20 6f 6e 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f 75 .what's.going.on.in.the.backgrou
ba20 6e 64 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 60 60 2f 6f 70 74 2f 76 79 61 74 74 61 nd.you.can.use.the.``/opt/vyatta
ba40 2f 73 62 69 6e 2f 70 72 69 6f 72 69 74 79 2e 70 6c 60 60 20 73 63 72 69 70 74 20 77 68 69 63 68 /sbin/priority.pl``.script.which
ba60 20 6c 69 73 74 73 20 74 6f 20 79 6f 75 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 72 64 65 .lists.to.you.the.execution.orde
ba80 72 20 6f 66 20 74 68 65 20 73 63 72 69 70 74 73 2e 00 54 6f 20 64 65 62 75 67 20 74 68 65 20 62 r.of.the.scripts..To.debug.the.b
baa0 75 69 6c 64 20 70 72 6f 63 65 73 73 20 61 6e 64 20 67 61 69 6e 20 61 64 64 69 74 69 6f 6e 61 6c uild.process.and.gain.additional
bac0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 77 68 61 74 20 63 6f 75 6c 64 20 62 65 20 74 68 .information.of.what.could.be.th
bae0 65 20 72 6f 6f 74 20 63 61 75 73 65 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 60 63 e.root.cause,.you.need.to.use.`c
bb00 68 72 6f 6f 74 60 20 74 6f 20 63 68 61 6e 67 65 20 69 6e 74 6f 20 74 68 65 20 62 75 69 6c 64 20 hroot`.to.change.into.the.build.
bb20 64 69 72 65 63 74 72 79 2e 20 54 68 69 73 20 69 73 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 74 directry..This.is.explained.in.t
bb40 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 65 70 20 62 79 20 73 74 65 70 20 70 72 6f 63 65 64 he.following.step.by.step.proced
bb60 75 72 65 3a 00 54 6f 20 65 6e 61 62 6c 65 20 62 6f 6f 74 20 74 69 6d 65 20 67 72 61 70 68 69 6e ure:.To.enable.boot.time.graphin
bb80 67 20 63 68 61 6e 67 65 20 74 68 65 20 4b 65 72 6e 65 6c 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 g.change.the.Kernel.commandline.
bba0 61 6e 64 20 61 64 64 20 74 68 65 20 66 6f 6c 6f 77 69 6e 67 20 73 74 72 69 6e 67 3a 20 60 60 69 and.add.the.folowing.string:.``i
bbc0 6e 69 74 3d 2f 75 73 72 2f 6c 69 62 2f 73 79 73 74 65 6d 64 2f 73 79 73 74 65 6d 64 2d 62 6f 6f nit=/usr/lib/systemd/systemd-boo
bbe0 74 63 68 61 72 74 60 60 00 54 6f 20 65 6e 61 62 6c 65 20 64 65 62 75 67 67 69 6e 67 20 6a 75 73 tchart``.To.enable.debugging.jus
bc00 74 20 72 75 6e 3a 20 60 60 24 20 74 6f 75 63 68 20 2f 74 6d 70 2f 76 79 6f 73 2e 66 72 72 2e 64 t.run:.``$.touch./tmp/vyos.frr.d
bc20 65 62 75 67 60 60 00 54 6f 20 65 6e 73 75 72 65 20 75 6e 69 66 6f 72 6d 20 6c 6f 6f 6b 20 61 6e ebug``.To.ensure.uniform.look.an
bc40 64 20 66 65 65 6c 2c 20 61 6e 64 20 69 6d 70 72 6f 76 65 20 72 65 61 64 61 62 69 6c 69 74 79 2c d.feel,.and.improve.readability,
bc60 20 77 65 20 73 68 6f 75 6c 64 20 66 6f 6c 6c 6f 77 20 61 20 73 65 74 20 6f 66 20 67 75 69 64 65 .we.should.follow.a.set.of.guide
bc80 6c 69 6e 65 73 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 2e 00 54 6f 20 6d 61 6b 65 20 74 68 69 73 lines.consistently..To.make.this
bca0 20 61 70 70 72 6f 61 63 68 20 77 6f 72 6b 2c 20 65 76 65 72 79 20 63 68 61 6e 67 65 20 6d 75 73 .approach.work,.every.change.mus
bcc0 74 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 61 73 6b 20 6e 75 6d 62 t.be.associated.with.a.task.numb
bce0 65 72 20 28 70 72 65 66 69 78 65 64 20 77 69 74 68 20 2a 2a 54 2a 2a 29 20 61 6e 64 20 61 20 63 er.(prefixed.with.**T**).and.a.c
bd00 6f 6d 70 6f 6e 65 6e 74 2e 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 62 75 67 20 72 65 70 omponent..If.there.is.no.bug.rep
bd20 6f 72 74 2f 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 20 66 6f 72 20 74 68 65 20 63 68 61 6e ort/feature.request.for.the.chan
bd40 67 65 73 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 6d 61 6b 65 2c 20 79 6f 75 20 68 ges.you.are.going.to.make,.you.h
bd60 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 61 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 74 61 73 ave.to.create.a.Phabricator_.tas
bd80 6b 20 66 69 72 73 74 2e 20 4f 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 6e 74 72 79 20 k.first..Once.there.is.an.entry.
bda0 69 6e 20 50 68 61 62 72 69 63 61 74 6f 72 5f 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 72 65 66 65 in.Phabricator_,.you.should.refe
bdc0 72 65 6e 63 65 20 69 74 73 20 69 64 20 69 6e 20 79 6f 75 72 20 63 6f 6d 6d 69 74 20 6d 65 73 73 rence.its.id.in.your.commit.mess
bde0 61 67 65 2c 20 61 73 20 73 68 6f 77 6e 20 62 65 6c 6f 77 3a 00 54 6f 20 6d 61 6e 75 61 6c 6c 79 age,.as.shown.below:.To.manually
be00 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 66 72 6f 6d 20 44 6f 63 .download.the.container.from.Doc
be20 6b 65 72 48 75 62 2c 20 72 75 6e 3a 00 54 6f 20 73 74 61 72 74 2c 20 63 6c 6f 6e 65 20 74 68 65 kerHub,.run:.To.start,.clone.the
be40 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 6d 61 63 68 69 6e .repository.to.your.local.machin
be60 65 3a 00 54 6f 20 74 61 6b 65 20 79 6f 75 72 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 70 61 e:.To.take.your.newly.created.pa
be80 63 6b 61 67 65 20 6f 6e 20 61 20 74 65 73 74 20 64 72 69 76 65 20 79 6f 75 20 63 61 6e 20 73 69 ckage.on.a.test.drive.you.can.si
bea0 6d 70 6c 79 20 53 43 50 20 69 74 20 74 6f 20 61 20 72 75 6e 6e 69 6e 67 20 56 79 4f 53 20 69 6e mply.SCP.it.to.a.running.VyOS.in
bec0 73 74 61 6e 63 65 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6e 65 77 20 60 2a 2e 64 65 stance.and.install.the.new.`*.de
bee0 62 60 20 70 61 63 6b 61 67 65 20 6f 76 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 75 6e 6e b`.package.over.the.current.runn
bf00 69 6e 67 20 6f 6e 65 2e 00 54 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 00 55 6e 6c 65 73 73 20 ing.one..Troubleshooting.Unless.
bf20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 65 63 65 73 73 61 72 79 2c 20 63 6f 6e 66 69 67 75 72 61 74 absolutely.necessary,.configurat
bf40 69 6f 6e 20 73 63 72 69 70 74 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 ion.scripts.should.not.modify.th
bf60 65 20 61 63 74 69 76 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 73 79 73 74 65 6d e.active.configuration.of.system
bf80 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 64 69 72 65 63 74 6c 79 2e 20 57 68 65 6e 65 76 65 72 20 61 .components.directly..Whenever.a
bfa0 74 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 2c 20 73 63 72 69 70 74 73 20 73 68 6f 75 6c 64 20 67 t.all.possible,.scripts.should.g
bfc0 65 6e 65 72 61 74 65 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 6f 72 20 enerate.a.configuration.file.or.
bfe0 66 69 6c 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 61 70 70 6c 69 65 64 20 77 69 74 68 20 61 files.that.can.be.applied.with.a
c000 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 61 6e 64 20 73 75 63 68 20 61 73 20 72 65 6c 6f 61 64 69 6e .single.command.such.as.reloadin
c020 67 20 61 20 73 65 72 76 69 63 65 20 74 68 72 6f 75 67 68 20 73 79 73 74 65 6d 64 20 69 6e 69 74 g.a.service.through.systemd.init
c040 2e 20 49 6e 73 65 72 74 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 6e 65 20 62 79 20 6f 6e ..Inserting.statements.one.by.on
c060 65 20 69 73 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 64 69 73 63 6f 75 72 61 67 65 64 2c 20 66 e.is.particularly.discouraged,.f
c080 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 6e 65 74 or.example,.when.configuring.net
c0a0 66 69 6c 74 65 72 20 72 75 6c 65 73 2c 20 73 61 76 69 6e 67 20 74 68 65 6d 20 74 6f 20 61 20 66 filter.rules,.saving.them.to.a.f
c0c0 69 6c 65 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 69 74 20 77 69 74 68 20 69 70 74 61 62 6c 65 73 ile.and.loading.it.with.iptables
c0e0 2d 72 65 73 74 6f 72 65 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 70 72 65 66 65 72 -restore.should.always.be.prefer
c100 72 65 64 20 74 6f 20 65 78 65 63 75 74 69 6e 67 20 69 70 74 61 62 6c 65 73 20 64 69 72 65 63 74 red.to.executing.iptables.direct
c120 6c 79 2e 00 55 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 00 55 73 65 20 6f 66 20 61 62 62 ly..Upstream.packages.Use.of.abb
c140 72 65 76 69 61 74 69 6f 6e 73 20 61 6e 64 20 61 63 72 6f 6e 79 6d 73 00 55 73 65 20 6f 66 20 6e reviations.and.acronyms.Use.of.n
c160 75 6d 62 65 72 73 00 55 73 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 69 6e 20 63 6f 6d 6d 61 6e 64 umbers.Use.of.numbers.in.command
c180 20 6e 61 6d 65 73 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 61 76 6f 69 64 65 64 20 75 6e 6c .names.**should**.be.avoided.unl
c1a0 65 73 73 20 61 20 6e 75 6d 62 65 72 20 69 73 20 61 20 70 61 72 74 20 6f 66 20 61 20 70 72 6f 74 ess.a.number.is.a.part.of.a.prot
c1c0 6f 63 6f 6c 20 6e 61 6d 65 20 6f 72 20 73 69 6d 69 6c 61 72 2e 20 54 68 75 73 2c 20 60 60 70 72 ocol.name.or.similar..Thus,.``pr
c1e0 6f 74 6f 63 6f 6c 73 20 6f 73 70 66 76 33 60 60 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 66 69 otocols.ospfv3``.is.perfectly.fi
c200 6e 65 2c 20 62 75 74 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 60 73 65 72 76 65 72 2d ne,.but.something.like.``server-
c220 31 60 60 20 69 73 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 61 74 20 62 65 73 74 2e 00 55 73 65 1``.is.questionable.at.best..Use
c240 20 6f 66 20 76 65 72 62 73 00 55 73 65 20 72 65 67 65 78 00 55 73 65 66 75 6c 20 63 6f 6d 6d 61 .of.verbs.Use.regex.Useful.comma
c260 6e 64 73 20 61 72 65 3a 00 56 49 46 20 28 69 6e 63 6c 2e 20 56 49 46 2d 53 2f 56 49 46 2d 43 29 nds.are:.VIF.(incl..VIF-S/VIF-C)
c280 00 56 4c 41 4e 73 20 28 51 69 6e 51 20 61 6e 64 20 72 65 67 75 6c 61 72 20 38 30 32 2e 31 71 29 .VLANs.(QinQ.and.regular.802.1q)
c2a0 00 56 4d 77 61 72 65 00 56 65 72 62 73 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 61 76 6f 69 .VMware.Verbs.**should**.be.avoi
c2c0 64 65 64 2e 20 49 66 20 61 20 76 65 72 62 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 2c 20 6f ded..If.a.verb.can.be.omitted,.o
c2e0 6d 69 74 20 69 74 2e 00 56 65 72 62 73 2c 20 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 6e 65 63 mit.it..Verbs,.when.they.are.nec
c300 65 73 73 61 72 79 2c 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 69 6e 20 74 68 65 69 72 20 69 essary,.**should**.be.in.their.i
c320 6e 66 69 6e 69 74 69 76 65 20 66 6f 72 6d 2e 00 56 69 72 74 75 61 6c 69 7a 61 74 69 6f 6e 20 50 nfinitive.form..Virtualization.P
c340 6c 61 74 66 6f 72 6d 73 00 56 79 4f 53 20 43 4c 49 20 69 73 20 61 6c 6c 20 61 62 6f 75 74 20 70 latforms.VyOS.CLI.is.all.about.p
c360 72 69 6f 72 69 74 69 65 73 2e 20 45 76 65 72 79 20 43 4c 49 20 6e 6f 64 65 20 68 61 73 20 61 20 riorities..Every.CLI.node.has.a.
c380 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 60 60 6e 6f 64 65 2e 64 65 66 60 60 20 66 69 6c 65 20 corresponding.``node.def``.file.
c3a0 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 61 6e 20 61 74 74 61 63 68 65 64 20 73 63 72 69 70 74 20 and.possibly.an.attached.script.
c3c0 74 68 61 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6e 6f 64 65 20 69 that.is.executed.when.the.node.i
c3e0 73 20 70 72 65 73 65 6e 74 2e 20 4e 6f 64 65 73 20 63 61 6e 20 68 61 76 65 20 61 20 70 72 69 6f s.present..Nodes.can.have.a.prio
c400 72 69 74 79 2c 20 61 6e 64 20 6f 6e 20 73 79 73 74 65 6d 20 62 6f 6f 74 75 70 20 2d 20 6f 72 20 rity,.and.on.system.bootup.-.or.
c420 61 6e 79 20 6f 74 68 65 72 20 60 60 63 6f 6d 6d 69 74 60 60 20 74 6f 20 74 68 65 20 63 6f 6e 66 any.other.``commit``.to.the.conf
c440 69 67 20 61 6c 6c 20 73 63 72 69 70 74 73 20 61 72 65 20 65 78 65 63 75 74 65 64 20 66 72 6f 6d ig.all.scripts.are.executed.from
c460 20 6c 6f 77 65 73 74 20 74 6f 20 68 69 67 65 73 74 20 70 72 69 6f 72 69 74 79 2e 20 54 68 69 73 .lowest.to.higest.priority..This
c480 20 69 73 20 67 6f 6f 64 20 61 73 20 74 68 69 73 20 67 69 76 65 73 20 61 20 64 65 74 65 72 6d 69 .is.good.as.this.gives.a.determi
c4a0 6e 69 73 74 69 63 20 62 65 68 61 76 69 6f 72 2e 00 56 79 4f 53 20 68 61 73 20 73 77 69 74 63 68 nistic.behavior..VyOS.has.switch
c4c0 65 64 20 74 6f 20 44 65 62 69 61 6e 20 28 31 32 29 20 42 6f 6f 6b 77 6f 72 6d 20 69 6e 20 69 74 ed.to.Debian.(12).Bookworm.in.it
c4e0 73 20 60 60 63 75 72 72 65 6e 74 60 60 20 62 72 61 6e 63 68 2c 20 44 75 65 20 74 6f 20 73 6f 66 s.``current``.branch,.Due.to.sof
c500 74 77 61 72 65 20 76 65 72 73 69 6f 6e 20 75 70 64 61 74 65 73 2c 20 69 74 20 69 73 20 72 65 63 tware.version.updates,.it.is.rec
c520 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 66 66 69 63 69 61 6c 20 44 6f 63 ommended.to.use.the.official.Doc
c540 6b 65 72 20 48 75 62 20 69 6d 61 67 65 20 74 6f 20 62 75 69 6c 64 20 56 79 4f 53 20 49 53 4f 2e ker.Hub.image.to.build.VyOS.ISO.
c560 00 56 79 4f 53 20 69 74 73 65 6c 66 20 63 6f 6d 65 73 20 77 69 74 68 20 61 20 62 75 6e 63 68 20 .VyOS.itself.comes.with.a.bunch.
c580 6f 66 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20 74 6f of.packages.that.are.specific.to
c5a0 20 6f 75 72 20 73 79 73 74 65 6d 20 61 6e 64 20 74 68 75 73 20 63 61 6e 6e 6f 74 20 62 65 20 66 .our.system.and.thus.cannot.be.f
c5c0 6f 75 6e 64 20 69 6e 20 61 6e 79 20 44 65 62 69 61 6e 20 6d 69 72 72 6f 72 2e 20 54 68 6f 73 65 ound.in.any.Debian.mirror..Those
c5e0 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 61 74 20 74 68 65 20 60 56 .packages.can.be.found.at.the.`V
c600 79 4f 53 20 47 69 74 48 75 62 20 70 72 6f 6a 65 63 74 60 5f 20 69 6e 20 74 68 65 69 72 20 73 6f yOS.GitHub.project`_.in.their.so
c620 75 72 63 65 20 66 6f 72 6d 61 74 20 63 61 6e 20 65 61 73 69 6c 79 20 62 65 20 63 6f 6d 70 69 6c urce.format.can.easily.be.compil
c640 65 64 20 69 6e 74 6f 20 61 20 63 75 73 74 6f 6d 20 44 65 62 69 61 6e 20 28 60 2a 2e 64 65 62 60 ed.into.a.custom.Debian.(`*.deb`
c660 29 20 70 61 63 6b 61 67 65 2e 00 56 79 4f 53 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 4a 65 6e ).package..VyOS.makes.use.of.Jen
c680 6b 69 6e 73 5f 20 61 73 20 6f 75 72 20 43 6f 6e 74 69 6e 75 6f 75 73 20 49 6e 74 65 67 72 61 74 kins_.as.our.Continuous.Integrat
c6a0 69 6f 6e 20 28 43 49 29 20 73 65 72 76 69 63 65 2e 20 4f 75 72 20 60 56 79 4f 53 20 43 49 60 5f ion.(CI).service..Our.`VyOS.CI`_
c6c0 20 73 65 72 76 65 72 20 69 73 20 70 75 62 6c 69 63 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 68 .server.is.publicly.accessible.h
c6e0 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 63 69 2e 76 79 6f 73 2e 6e 65 74 2e 20 59 6f 75 20 63 61 ere:.https://ci.vyos.net..You.ca
c700 6e 20 67 65 74 20 61 20 62 72 69 65 66 20 6f 76 65 72 76 69 65 77 20 6f 66 20 61 6c 6c 20 72 65 n.get.a.brief.overview.of.all.re
c720 71 75 69 72 65 64 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 73 68 69 70 70 65 64 20 69 6e 20 61 20 56 quired.components.shipped.in.a.V
c740 79 4f 53 20 49 53 4f 2e 00 57 65 20 61 67 61 69 6e 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 61 20 yOS.ISO..We.again.make.use.of.a.
c760 68 65 6c 70 65 72 20 73 63 72 69 70 74 20 61 6e 64 20 73 6f 6d 65 20 70 61 74 63 68 65 73 20 74 helper.script.and.some.patches.t
c780 6f 20 6d 61 6b 65 20 74 68 65 20 62 75 69 6c 64 20 77 6f 72 6b 2e 20 4a 75 73 74 20 72 75 6e 20 o.make.the.build.work..Just.run.
c7a0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 3a 00 57 65 20 64 69 66 66 65 72 the.following.command:.We.differ
c7c0 65 6e 74 69 61 74 65 20 69 6e 20 74 77 6f 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 74 65 73 74 73 entiate.in.two.independent.tests
c7e0 2c 20 77 68 69 63 68 20 61 72 65 20 62 6f 74 68 20 72 75 6e 20 69 6e 20 70 61 72 61 6c 6c 65 6c ,.which.are.both.run.in.parallel
c800 20 62 79 20 74 77 6f 20 73 65 70 61 72 61 74 65 20 51 45 6d 75 20 69 6e 73 74 61 6e 63 65 73 20 .by.two.separate.QEmu.instances.
c820 77 68 69 63 68 20 61 72 65 20 6c 61 75 6e 63 68 65 64 20 76 69 61 20 60 60 6d 61 6b 65 20 74 65 which.are.launched.via.``make.te
c840 73 74 60 60 20 61 6e 64 20 60 60 6d 61 6b 65 20 74 65 73 74 63 60 60 20 66 72 6f 6d 20 77 69 74 st``.and.``make.testc``.from.wit
c860 68 69 6e 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 2e 00 hin.the.vyos-build_.repository..
c880 57 65 20 6e 6f 77 20 61 72 65 20 66 72 65 65 20 74 6f 20 72 75 6e 20 61 6e 79 20 63 6f 6d 6d 61 We.now.are.free.to.run.any.comma
c8a0 6e 64 20 77 65 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 66 6f 72 20 64 65 62 75 nd.we.would.like.to.use.for.debu
c8c0 67 67 69 6e 67 2c 20 65 2e 67 2e 20 72 65 2d 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 66 61 gging,.e.g..re-installing.the.fa
c8e0 69 6c 65 64 20 70 61 63 6b 61 67 65 20 61 66 74 65 72 20 75 70 64 61 74 69 6e 67 20 74 68 65 20 iled.package.after.updating.the.
c900 72 65 70 6f 73 69 74 6f 72 79 2e 00 57 65 20 6e 6f 77 20 6e 65 65 64 20 74 6f 20 6d 6f 75 6e 74 repository..We.now.need.to.mount
c920 20 73 6f 6d 65 20 72 65 71 75 69 72 65 64 2c 20 76 6f 6c 61 74 69 6c 65 20 66 69 6c 65 73 79 73 .some.required,.volatile.filesys
c940 74 65 6d 73 00 57 65 20 6f 6e 6c 79 20 61 63 63 65 70 74 20 62 75 67 66 69 78 65 73 20 69 6e 20 tems.We.only.accept.bugfixes.in.
c960 70 61 63 6b 61 67 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 packages.other.than.https://gith
c980 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 31 78 20 61 73 20 6e 6f 20 6e 65 77 20 66 75 ub.com/vyos/vyos-1x.as.no.new.fu
c9a0 6e 63 74 69 6f 6e 61 6c 69 74 79 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 6f 6c 64 20 73 nctionality.should.use.the.old.s
c9c0 74 79 6c 65 20 74 65 6d 70 6c 61 74 65 73 20 28 60 60 6e 6f 64 65 2e 64 65 66 60 60 20 61 6e 64 tyle.templates.(``node.def``.and
c9e0 20 50 65 72 6c 2f 42 41 53 48 20 63 6f 64 65 2e 20 55 73 65 20 74 68 65 20 6e 65 77 20 73 74 79 .Perl/BASH.code..Use.the.new.sty
ca00 6c 65 20 58 4d 4c 2f 50 79 74 68 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 69 6e 73 74 65 61 64 2e le.XML/Python.interface.instead.
ca20 00 57 68 61 74 20 63 6f 6d 6d 61 6e 64 73 20 64 69 64 20 79 6f 75 20 75 73 65 3f 20 55 73 65 20 .What.commands.did.you.use?.Use.
ca40 65 2e 67 2e 20 60 60 72 75 6e 20 73 68 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 6f e.g..``run.show.configuration.co
ca60 6d 6d 61 6e 64 73 60 60 00 57 68 61 74 20 77 61 73 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 mmands``.What.was.the.configurat
ca80 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 74 68 65 20 63 68 61 6e 67 65 3f 00 57 68 61 74 20 77 65 ion.prior.to.the.change?.What.we
caa0 72 65 20 79 6f 75 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 61 63 68 69 65 76 65 3f 00 57 68 re.you.attempting.to.achieve?.Wh
cac0 61 74 2f 77 68 79 2f 68 6f 77 20 73 6f 6d 65 74 68 69 6e 67 20 68 61 73 20 62 65 65 6e 20 63 68 at/why/how.something.has.been.ch
cae0 61 6e 67 65 64 2c 20 6d 61 6b 65 73 20 65 76 65 72 79 6f 6e 65 27 73 20 6c 69 66 65 20 65 61 73 anged,.makes.everyone's.life.eas
cb00 69 65 72 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 60 67 69 74 20 62 69 73 65 63 ier.when.working.with.`git.bisec
cb20 74 60 00 57 68 65 6e 20 61 6e 64 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 61 73 73 65 6d 62 6c t`.When.and.ISO.image.is.assembl
cb40 65 64 20 62 79 20 74 68 65 20 60 56 79 4f 53 20 43 49 60 5f 2c 20 74 68 65 20 60 60 42 55 49 4c ed.by.the.`VyOS.CI`_,.the.``BUIL
cb60 44 5f 53 4d 4f 4b 45 54 45 53 54 60 60 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 65 6e 61 62 6c D_SMOKETEST``.parameter.is.enabl
cb80 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 65 78 74 65 6e 64 ed.by.default,.which.will.extend
cba0 20 74 68 65 20 49 53 4f 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6c 69 6e 65 20 77 69 74 68 .the.ISO.configuration.line.with
cbc0 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 6b 61 67 65 73 3a 00 57 68 65 6e 20 68 61 .the.following.packages:.When.ha
cbe0 76 69 6e 67 20 74 72 6f 75 62 6c 65 20 63 6f 6d 70 69 6c 69 6e 67 20 79 6f 75 72 20 6f 77 6e 20 ving.trouble.compiling.your.own.
cc00 49 53 4f 20 69 6d 61 67 65 20 6f 72 20 64 65 62 75 67 67 69 6e 67 20 4a 65 6e 6b 69 6e 73 20 69 ISO.image.or.debugging.Jenkins.i
cc20 73 73 75 65 73 20 79 6f 75 20 63 61 6e 20 66 6f 6c 6c 6f 77 20 74 68 65 20 73 74 65 70 73 20 61 ssues.you.can.follow.the.steps.a
cc40 74 20 3a 72 65 66 3a 60 69 73 6f 5f 62 75 69 6c 64 5f 69 73 73 75 65 73 60 2e 00 57 68 65 6e 20 t.:ref:`iso_build_issues`..When.
cc60 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 72 65 6d 65 6d modifying.the.source.code,.remem
cc80 62 65 72 20 74 68 65 73 65 20 72 75 6c 65 73 20 6f 66 20 74 68 65 20 6c 65 67 61 63 79 20 65 6c ber.these.rules.of.the.legacy.el
cca0 69 6d 69 6e 61 74 69 6f 6e 20 63 61 6d 70 61 69 67 6e 3a 00 57 68 65 6e 20 74 68 65 20 62 75 69 imination.campaign:.When.the.bui
ccc0 6c 64 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 ld.is.successful,.the.resulting.
cce0 69 73 6f 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 73 69 64 65 20 74 68 65 20 60 60 62 75 iso.can.be.found.inside.the.``bu
cd00 69 6c 64 60 60 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 60 60 6c 69 76 65 2d 69 6d 61 67 65 2d ild``.directory.as.``live-image-
cd20 5b 61 72 63 68 69 74 65 63 74 75 72 65 5d 2e 68 79 62 72 69 64 2e 69 73 6f 60 60 2e 00 57 68 65 [architecture].hybrid.iso``..Whe
cd40 6e 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 69 n.writing.a.new.configuration.mi
cd60 67 72 61 74 6f 72 20 69 74 20 6d 61 79 20 68 61 70 70 65 6e 20 74 68 61 74 20 79 6f 75 20 73 65 grator.it.may.happen.that.you.se
cd80 65 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 79 6f 75 20 74 72 79 20 74 6f 20 69 6e 76 6f 6b e.an.error.when.you.try.to.invok
cda0 65 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6f 6e 20 61 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 73 e.it.manually.on.a.development.s
cdc0 79 73 74 65 6d 2e 20 54 68 69 73 20 65 72 72 6f 72 20 77 69 6c 6c 20 6c 6f 6f 6b 20 6c 69 6b 65 ystem..This.error.will.look.like
cde0 3a 00 57 68 65 6e 20 79 6f 75 20 61 72 65 20 61 62 6c 65 20 74 6f 20 76 65 72 69 66 79 20 74 68 :.When.you.are.able.to.verify.th
ce00 61 74 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 62 75 67 2c 20 73 70 65 6e 64 20 73 at.it.is.actually.a.bug,.spend.s
ce20 6f 6d 65 20 74 69 6d 65 20 74 6f 20 64 6f 63 75 6d 65 6e 74 20 68 6f 77 20 74 6f 20 72 65 70 72 ome.time.to.document.how.to.repr
ce40 6f 64 75 63 65 20 74 68 65 20 69 73 73 75 65 2e 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 oduce.the.issue..This.documentat
ce60 69 6f 6e 20 63 61 6e 20 62 65 20 69 6e 76 61 6c 75 61 62 6c 65 2e 00 57 68 65 6e 20 79 6f 75 20 ion.can.be.invaluable..When.you.
ce80 61 72 65 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 63 6f 6e 66 69 67 75 are.working.on.interface.configu
cea0 72 61 74 69 6f 6e 20 61 6e 64 20 79 6f 75 20 61 6c 73 6f 20 77 61 6e 27 74 20 74 6f 20 74 65 73 ration.and.you.also.wan't.to.tes
cec0 74 20 69 66 20 74 68 65 20 53 6d 6f 6b 65 74 65 73 74 73 20 70 61 73 73 20 79 6f 75 20 77 6f 75 t.if.the.Smoketests.pass.you.wou
cee0 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 6c 6f 6f 73 65 20 74 68 65 20 72 65 6d 6f 74 65 20 53 53 48 ld.normally.loose.the.remote.SSH
cf00 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 79 6f 75 72 20 3a 61 62 62 72 3a 60 44 55 54 20 28 .connection.to.your.:abbr:`DUT.(
cf20 44 65 76 69 63 65 20 55 6e 64 65 72 20 54 65 73 74 29 60 2e 20 54 6f 20 68 61 6e 64 6c 65 20 74 Device.Under.Test)`..To.handle.t
cf40 68 69 73 20 69 73 73 75 65 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 his.issue,.some.of.the.interface
cf60 20 62 61 73 65 64 20 74 65 73 74 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 .based.tests.can.be.called.with.
cf80 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 62 65 66 6f 72 65 68 61 an.environment.variable.beforeha
cfa0 6e 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 74 65 72 66 nd.to.limit.the.number.of.interf
cfc0 61 63 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 74 65 73 74 2e 20 42 79 20 64 65 66 61 75 6c aces.used.in.the.test..By.defaul
cfe0 74 20 61 6c 6c 20 69 6e 74 65 72 66 61 63 65 20 65 2e 67 2e 20 61 6c 6c 20 45 74 68 65 72 6e 65 t.all.interface.e.g..all.Etherne
d000 74 20 69 6e 74 65 72 66 61 63 65 73 20 61 72 65 20 75 73 65 64 2e 00 57 68 65 6e 20 79 6f 75 20 t.interfaces.are.used..When.you.
d020 62 65 6c 69 65 76 65 20 79 6f 75 20 68 61 76 65 20 66 6f 75 6e 64 20 61 20 62 75 67 2c 20 69 74 believe.you.have.found.a.bug,.it
d040 20 69 73 20 61 6c 77 61 79 73 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 76 65 72 69 66 79 .is.always.a.good.idea.to.verify
d060 20 74 68 65 20 69 73 73 75 65 20 70 72 69 6f 72 20 74 6f 20 6f 70 65 6e 69 6e 67 20 61 20 62 75 .the.issue.prior.to.opening.a.bu
d080 67 20 72 65 71 75 65 73 74 2e 00 57 68 65 6e 20 79 6f 75 20 77 69 73 68 20 74 6f 20 68 61 76 65 g.request..When.you.wish.to.have
d0a0 20 61 20 64 65 76 65 6c 6f 70 65 72 20 66 69 78 20 61 20 62 75 67 20 74 68 61 74 20 79 6f 75 20 .a.developer.fix.a.bug.that.you.
d0c0 66 6f 75 6e 64 2c 20 68 65 6c 70 69 6e 67 20 74 68 65 6d 20 72 65 70 72 6f 64 75 63 65 20 74 68 found,.helping.them.reproduce.th
d0e0 65 20 69 73 73 75 65 20 69 73 20 62 65 6e 65 66 69 63 69 61 6c 20 74 6f 20 65 76 65 72 79 6f 6e e.issue.is.beneficial.to.everyon
d100 65 2e 20 42 65 20 73 75 72 65 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e 66 6f 72 6d 61 74 69 6f e..Be.sure.to.include.informatio
d120 6e 20 61 62 6f 75 74 20 74 68 65 20 68 61 72 64 77 61 72 65 20 79 6f 75 20 61 72 65 20 75 73 69 n.about.the.hardware.you.are.usi
d140 6e 67 2c 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 79 6f 75 20 77 65 72 65 20 72 75 6e 6e 69 ng,.commands.that.you.were.runni
d160 6e 67 2c 20 61 6e 79 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 74 68 61 74 20 79 6f ng,.any.other.activities.that.yo
d180 75 20 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 64 6f 69 6e 67 20 61 74 20 74 68 65 20 74 69 6d u.may.have.been.doing.at.the.tim
d1a0 65 2e 20 54 68 69 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 63 e..This.additional.information.c
d1c0 61 6e 20 62 65 20 76 65 72 79 20 75 73 65 66 75 6c 2e 00 57 68 69 63 68 20 76 65 72 73 69 6f 6e an.be.very.useful..Which.version
d1e0 20 6f 66 20 56 79 4f 53 20 61 72 65 20 79 6f 75 20 75 73 69 6e 67 3f 20 60 60 72 75 6e 20 73 68 .of.VyOS.are.you.using?.``run.sh
d200 6f 77 20 76 65 72 73 69 6f 6e 60 60 00 57 69 72 65 47 75 61 72 64 00 57 72 69 74 69 6e 67 20 67 ow.version``.WireGuard.Writing.g
d220 6f 6f 64 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 00 58 4d 4c 20 28 75 73 65 64 20 66 6f ood.commit.messages.XML.(used.fo
d240 72 20 43 4c 49 20 64 65 66 69 6e 69 74 69 6f 6e 73 29 00 58 4d 4c 20 69 6e 74 65 72 66 61 63 65 r.CLI.definitions).XML.interface
d260 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 75 73 65 20 74 68 65 20 60 78 6d 6c 2e 69 .definition.files.use.the.`xml.i
d280 6e 60 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 77 68 69 63 68 20 77 61 73 20 69 6d 70 6c n`.file.extension.which.was.impl
d2a0 65 6d 65 6e 74 65 64 20 69 6e 20 3a 76 79 74 61 73 6b 3a 60 54 31 38 34 33 60 2e 20 58 4d 4c 20 emented.in.:vytask:`T1843`..XML.
d2c0 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 65 6e 64 20 74 6f 20 68 61 interface.definitions.tend.to.ha
d2e0 76 65 20 61 20 6c 6f 74 20 6f 66 20 64 75 70 6c 69 63 61 74 65 64 20 63 6f 64 65 20 69 6e 20 61 ve.a.lot.of.duplicated.code.in.a
d300 72 65 61 73 20 73 75 63 68 20 61 73 3a 00 58 4d 4c 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 reas.such.as:.XML.interface.defi
d320 6e 69 74 69 6f 6e 73 20 66 6f 72 20 56 79 4f 53 20 63 6f 6d 65 20 77 69 74 68 20 61 20 52 65 6c nitions.for.VyOS.come.with.a.Rel
d340 61 78 4e 47 20 73 63 68 65 6d 61 20 61 6e 64 20 61 72 65 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 axNG.schema.and.are.located.in.t
d360 68 65 20 76 79 6f 73 2d 31 78 5f 20 6d 6f 64 75 6c 65 2e 20 54 68 69 73 20 73 63 68 65 6d 61 20 he.vyos-1x_.module..This.schema.
d380 69 73 20 61 20 73 6c 69 67 68 74 6c 79 20 6d 6f 64 69 66 69 65 64 20 73 63 68 65 6d 61 20 66 72 is.a.slightly.modified.schema.fr
d3a0 6f 6d 20 56 79 43 6f 6e 66 5f 20 61 6c 69 61 73 20 56 79 4f 53 20 32 2e 30 20 53 6f 20 56 79 4f om.VyConf_.alias.VyOS.2.0.So.VyO
d3c0 53 20 31 2e 32 2e 78 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 69 S.1.2.x.interface.definitions.wi
d3e0 6c 6c 20 62 65 20 72 65 75 73 61 62 6c 65 20 69 6e 20 4e 65 78 74 67 65 6e 20 56 79 4f 53 20 56 ll.be.reusable.in.Nextgen.VyOS.V
d400 65 72 73 69 6f 6e 73 20 77 69 74 68 20 76 65 72 79 20 6d 69 6e 69 6d 61 6c 20 63 68 61 6e 67 65 ersions.with.very.minimal.change
d420 73 2e 00 58 4d 4c 3a 20 54 61 62 73 20 2a 2a 73 68 61 6c 6c 20 6e 6f 74 2a 2a 20 62 65 20 75 73 s..XML:.Tabs.**shall.not**.be.us
d440 65 64 2e 20 45 76 65 72 79 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6c 65 76 65 6c 20 73 68 6f 75 ed..Every.indentation.level.shou
d460 6c 64 20 62 65 20 32 20 73 70 61 63 65 73 00 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 70 6c 61 63 ld.be.2.spaces.You.can.also.plac
d480 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 60 2a 2e 64 65 62 60 20 69 6e 74 6f 20 79 6f 75 e.the.generated.`*.deb`.into.you
d4a0 72 20 49 53 4f 20 62 75 69 6c 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 74 6f 20 69 6e 63 6c 75 r.ISO.build.environment.to.inclu
d4c0 64 65 20 69 74 20 69 6e 20 61 20 63 75 73 74 6f 6d 20 69 73 6f 2c 20 73 65 65 20 3a 72 65 66 3a de.it.in.a.custom.iso,.see.:ref:
d4e0 60 62 75 69 6c 64 5f 63 75 73 74 6f 6d 5f 70 61 63 6b 61 67 65 73 60 20 66 6f 72 20 6d 6f 72 65 `build_custom_packages`.for.more
d500 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 00 59 6f 75 20 63 61 6e 20 63 72 65 61 74 65 20 79 6f 75 .information..You.can.create.you
d520 72 73 65 6c 66 20 73 6f 6d 65 20 68 61 6e 64 79 20 42 61 73 68 20 61 6c 69 61 73 65 73 20 74 6f rself.some.handy.Bash.aliases.to
d540 20 61 6c 77 61 79 73 20 6c 61 75 6e 63 68 20 74 68 65 20 6c 61 74 65 73 74 20 2d 20 70 65 72 20 .always.launch.the.latest.-.per.
d560 72 65 6c 65 61 73 65 20 74 72 61 69 6e 20 28 60 63 75 72 72 65 6e 74 60 20 6f 72 20 60 63 72 75 release.train.(`current`.or.`cru
d580 78 60 29 20 2d 20 63 6f 6e 74 61 69 6e 65 72 2e 20 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 x`).-.container..Add.the.followi
d5a0 6e 67 20 74 6f 20 79 6f 75 72 20 60 60 2e 62 61 73 68 5f 61 6c 69 61 73 65 73 60 60 20 66 69 6c ng.to.your.``.bash_aliases``.fil
d5c0 65 3a 00 59 6f 75 20 63 61 6e 20 74 79 70 65 20 60 60 68 65 6c 70 60 60 20 74 6f 20 67 65 74 20 e:.You.can.type.``help``.to.get.
d5e0 61 6e 20 6f 76 65 72 76 69 65 77 20 6f 66 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d an.overview.of.the.available.com
d600 6d 61 6e 64 73 2c 20 61 6e 64 20 60 60 68 65 6c 70 20 63 6f 6d 6d 61 6e 64 60 60 20 74 6f 20 67 mands,.and.``help.command``.to.g
d620 65 74 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 65 61 63 68 20 63 6f 6d 6d et.more.information.on.each.comm
d640 61 6e 64 2e 00 59 6f 75 20 68 61 76 65 20 61 6e 20 69 64 65 61 20 6f 66 20 68 6f 77 20 74 6f 20 and..You.have.an.idea.of.how.to.
d660 6d 61 6b 65 20 56 79 4f 53 20 62 65 74 74 65 72 20 6f 72 20 79 6f 75 20 61 72 65 20 69 6e 20 6e make.VyOS.better.or.you.are.in.n
d680 65 65 64 20 6f 66 20 61 20 73 70 65 63 69 66 69 63 20 66 65 61 74 75 72 65 20 77 68 69 63 68 20 eed.of.a.specific.feature.which.
d6a0 61 6c 6c 20 75 73 65 72 73 20 6f 66 20 56 79 4f 53 20 77 6f 75 6c 64 20 62 65 6e 65 66 69 74 20 all.users.of.VyOS.would.benefit.
d6c0 66 72 6f 6d 3f 20 54 6f 20 73 65 6e 64 20 61 20 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 20 from?.To.send.a.feature.request.
d6e0 70 6c 65 61 73 65 20 73 65 61 72 63 68 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 69 66 20 74 68 please.search.Phabricator_.if.th
d700 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 72 65 71 75 65 73 74 20 70 65 6e 64 69 6e 67 ere.is.already.a.request.pending
d720 2e 20 59 6f 75 20 63 61 6e 20 65 6e 68 61 6e 63 65 20 69 74 20 6f 72 20 69 66 20 79 6f 75 20 64 ..You.can.enhance.it.or.if.you.d
d740 6f 6e 27 74 20 66 69 6e 64 20 6f 6e 65 2c 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 6f 6e 65 20 on't.find.one,.create.a.new.one.
d760 62 79 20 75 73 65 20 74 68 65 20 71 75 69 63 6b 20 6c 69 6e 6b 20 69 6e 20 74 68 65 20 6c 65 66 by.use.the.quick.link.in.the.lef
d780 74 20 73 69 64 65 20 75 6e 64 65 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 70 72 6f 6a 65 63 t.side.under.the.specific.projec
d7a0 74 2e 00 59 6f 75 20 68 61 76 65 20 79 6f 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 6b 65 72 6e t..You.have.your.own.custom.kern
d7c0 65 6c 20 60 2a 2e 64 65 62 60 20 70 61 63 6b 61 67 65 73 20 69 6e 20 74 68 65 20 60 70 61 63 6b el.`*.deb`.packages.in.the.`pack
d7e0 61 67 65 73 60 20 66 6f 6c 64 65 72 20 62 75 74 20 6e 65 67 6c 65 63 74 65 64 20 74 6f 20 63 72 ages`.folder.but.neglected.to.cr
d800 65 61 74 65 20 61 6c 6c 20 72 65 71 75 69 72 65 64 20 6f 75 74 2d 6f 66 20 74 72 65 65 20 6d 6f eate.all.required.out-of.tree.mo
d820 64 75 6c 65 73 20 6c 69 6b 65 20 41 63 63 65 6c 2d 50 50 50 2c 20 49 6e 74 65 6c 20 51 41 54 20 dules.like.Accel-PPP,.Intel.QAT.
d840 6f 72 20 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 00 59 6f 75 20 68 61 76 65 20 79 6f or.Intel.NIC.drivers.You.have.yo
d860 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 6b 65 72 6e 65 6c 20 60 2a 2e 64 65 62 60 20 70 61 63 ur.own.custom.kernel.`*.deb`.pac
d880 6b 61 67 65 73 20 69 6e 20 74 68 65 20 60 70 61 63 6b 61 67 65 73 60 20 66 6f 6c 64 65 72 20 62 kages.in.the.`packages`.folder.b
d8a0 75 74 20 6e 65 67 6c 65 63 74 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 6c 6c 20 72 65 71 75 69 ut.neglected.to.create.all.requi
d8c0 72 65 64 20 6f 75 74 2d 6f 66 20 74 72 65 65 20 6d 6f 64 75 6c 65 73 20 6c 69 6b 65 20 41 63 63 red.out-of.tree.modules.like.Acc
d8e0 65 6c 2d 50 50 50 2c 20 57 69 72 65 47 75 61 72 64 2c 20 49 6e 74 65 6c 20 51 41 54 2c 20 49 6e el-PPP,.WireGuard,.Intel.QAT,.In
d900 74 65 6c 20 4e 49 43 00 59 6f 75 20 73 68 6f 75 64 6c 20 6e 6f 77 20 73 65 65 20 61 20 50 79 74 tel.NIC.You.shoudl.now.see.a.Pyt
d920 68 6f 6e 20 62 61 63 6b 74 72 61 63 65 20 77 68 69 63 68 20 77 69 6c 6c 20 68 65 6c 70 20 75 73 hon.backtrace.which.will.help.us
d940 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 69 73 73 75 65 2c 20 70 6c 65 61 73 65 20 61 74 74 .to.handle.the.issue,.please.att
d960 61 63 68 20 69 74 20 74 6f 20 74 68 65 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 74 61 73 6b 2e ach.it.to.the.Phabricator_.task.
d980 00 59 6f 75 20 74 68 65 6e 20 63 61 6e 20 70 72 6f 63 65 65 64 20 77 69 74 68 20 63 6c 6f 6e 69 .You.then.can.proceed.with.cloni
d9a0 6e 67 20 79 6f 75 72 20 66 6f 72 6b 20 6f 72 20 61 64 64 20 61 20 6e 65 77 20 72 65 6d 6f 74 65 ng.your.fork.or.add.a.new.remote
d9c0 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 3a 00 59 6f 75 72 20 .to.your.local.repository:.Your.
d9e0 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70 74 20 6f 72 20 6f 70 65 72 61 74 69 6f configuration.script.or.operatio
da00 6e 20 6d 6f 64 65 20 73 63 72 69 70 74 20 77 68 69 63 68 20 69 73 20 61 6c 73 6f 20 77 72 69 74 n.mode.script.which.is.also.writ
da20 74 65 6e 20 69 6e 20 50 79 74 68 6f 6e 33 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 6c 69 6e ten.in.Python3.should.have.a.lin
da40 65 20 62 72 65 61 6b 20 6f 6e 20 38 30 20 63 68 61 72 61 63 74 65 72 73 2e 20 54 68 69 73 20 73 e.break.on.80.characters..This.s
da60 65 65 6d 73 20 74 6f 20 62 65 20 61 20 62 69 74 20 6f 64 64 20 6e 6f 77 61 64 61 79 73 20 62 75 eems.to.be.a.bit.odd.nowadays.bu
da80 74 20 61 73 20 73 6f 6d 65 20 70 65 6f 70 6c 65 20 61 6c 73 6f 20 77 6f 72 6b 20 72 65 6d 6f 74 t.as.some.people.also.work.remot
daa0 65 6c 79 20 6f 72 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20 76 69 28 6d 29 20 74 68 69 73 20 ely.or.program.using.vi(m).this.
dac0 69 73 20 61 20 66 61 69 72 20 67 6f 6f 64 20 73 74 61 6e 64 61 72 64 20 77 68 69 63 68 20 49 20 is.a.fair.good.standard.which.I.
dae0 68 6f 70 65 20 77 65 20 63 61 6e 20 72 65 6c 79 20 6f 6e 2e 00 60 2e 2f 63 6f 6e 66 69 67 75 72 hope.we.can.rely.on..`./configur
db00 65 20 2d 2d 65 6e 61 62 6c 65 2d 70 79 74 68 6f 6e 2d 65 67 67 73 60 00 60 49 50 76 34 2c 20 49 e.--enable-python-eggs`.`IPv4,.I
db20 50 76 36 20 61 6e 64 20 44 48 43 50 28 76 36 29 60 5f 20 61 64 64 72 65 73 73 20 61 73 73 69 67 Pv6.and.DHCP(v6)`_.address.assig
db40 6e 6d 65 6e 74 00 60 49 50 76 34 2c 20 49 50 76 36 60 5f 20 61 64 64 72 65 73 73 20 61 73 73 69 nment.`IPv4,.IPv6`_.address.assi
db60 67 6e 6d 65 6e 74 00 60 4d 41 43 20 61 64 64 72 65 73 73 60 5f 20 61 73 73 69 67 6e 6d 65 6e 74 gnment.`MAC.address`_.assignment
db80 00 60 56 4c 41 4e 20 28 56 49 46 29 60 5f 20 64 65 66 69 6e 69 74 69 6f 6e 00 60 60 4a 65 6e 6b .`VLAN.(VIF)`_.definition.``Jenk
dba0 69 6e 73 3a 20 61 64 64 20 63 75 72 72 65 6e 74 20 47 69 74 20 63 6f 6d 6d 69 74 20 49 44 20 74 ins:.add.current.Git.commit.ID.t
dbc0 6f 20 62 75 69 6c 64 20 64 65 73 63 72 69 70 74 69 6f 6e 60 60 00 60 60 63 6f 6d 6d 61 6e 64 60 o.build.description``.``command`
dbe0 60 20 2d 20 4f 6e 63 65 20 73 65 74 2c 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 2c `.-.Once.set,.all.commands.used,
dc00 20 61 6e 64 20 74 68 65 69 72 20 72 65 73 70 6f 6e 73 65 73 20 72 65 63 65 69 76 65 64 20 66 72 .and.their.responses.received.fr
dc20 6f 6d 20 74 68 65 20 4f 53 2c 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 6f 6e 20 om.the.OS,.will.be.presented.on.
dc40 74 68 65 20 73 63 72 65 65 6e 20 66 6f 72 20 69 6e 73 70 65 63 74 69 6f 6e 2e 00 60 60 63 6f 6d the.screen.for.inspection..``com
dc60 6d 69 74 60 60 00 60 60 64 64 63 6c 69 65 6e 74 3a 20 54 31 30 33 30 3a 20 61 75 74 6f 20 63 72 mit``.``ddclient:.T1030:.auto.cr
dc80 65 61 74 65 20 72 75 6e 74 69 6d 65 20 64 69 72 65 63 74 6f 72 69 65 73 60 60 00 60 60 64 65 76 eate.runtime.directories``.``dev
dca0 65 6c 6f 70 65 72 60 60 20 2d 20 53 68 6f 75 6c 64 20 61 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c eloper``.-.Should.a.command.fail
dcc0 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 61 20 6d 65 73 73 61 67 65 20 ,.instead.of.printing.a.message.
dce0 74 6f 20 74 68 65 20 75 73 65 72 20 65 78 70 6c 61 69 6e 69 6e 67 20 68 6f 77 20 74 6f 20 72 65 to.the.user.explaining.how.to.re
dd00 70 6f 72 74 20 69 73 73 75 65 73 2c 20 74 68 65 20 70 79 74 68 6f 6e 20 69 6e 74 65 72 70 72 65 port.issues,.the.python.interpre
dd20 74 65 72 20 77 69 6c 6c 20 73 74 61 72 74 20 61 20 50 42 44 20 70 6f 73 74 2d 6d 6f 72 74 65 6d ter.will.start.a.PBD.post-mortem
dd40 20 73 65 73 73 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 20 .session.to.allow.the.developer.
dd60 74 6f 20 64 65 62 75 67 20 74 68 65 20 69 73 73 75 65 2e 20 41 73 20 74 68 65 20 64 65 62 75 67 to.debug.the.issue..As.the.debug
dd80 67 65 72 20 77 69 6c 6c 20 77 61 69 74 20 66 72 6f 6d 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 68 ger.will.wait.from.input.from.th
dda0 65 20 64 65 76 65 6c 6f 70 65 72 2c 20 69 74 20 68 61 73 20 74 68 65 20 63 61 70 61 63 69 74 79 e.developer,.it.has.the.capacity
ddc0 20 74 6f 20 70 72 65 76 65 6e 74 20 61 20 72 6f 75 74 65 72 20 74 6f 20 62 6f 6f 74 20 61 6e 64 .to.prevent.a.router.to.boot.and
dde0 20 74 68 65 72 65 66 6f 72 65 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 70 65 72 6d 61 6e .therefore.should.only.be.perman
de00 65 6e 74 6c 79 20 73 65 74 20 75 70 20 6f 6e 20 70 72 6f 64 75 63 74 69 6f 6e 20 69 66 20 79 6f ently.set.up.on.production.if.yo
de20 75 20 61 72 65 20 72 65 61 64 79 20 74 6f 20 73 65 65 20 74 68 65 20 4f 53 20 66 61 69 6c 20 74 u.are.ready.to.see.the.OS.fail.t
de40 6f 20 62 6f 6f 74 2e 00 60 60 69 66 63 6f 6e 66 69 67 60 60 20 2d 20 4f 6e 63 65 20 73 65 74 2c o.boot..``ifconfig``.-.Once.set,
de60 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 69 72 20 72 65 .all.commands.used,.and.their.re
de80 73 70 6f 6e 73 65 73 20 72 65 63 65 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 4f 53 2c 20 77 69 sponses.received.from.the.OS,.wi
dea0 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 20 66 6f ll.be.presented.on.the.screen.fo
dec0 72 20 69 6e 73 70 65 63 74 69 6f 6e 2e 00 60 60 6c 6f 67 60 60 20 2d 20 49 6e 20 73 6f 6d 65 20 r.inspection..``log``.-.In.some.
dee0 72 61 72 65 20 63 61 73 65 73 2c 20 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 rare.cases,.it.may.be.useful.to.
df00 73 65 65 20 77 68 61 74 20 74 68 65 20 4f 53 20 69 73 20 64 6f 69 6e 67 2c 20 69 6e 63 6c 75 64 see.what.the.OS.is.doing,.includ
df20 69 6e 67 20 64 75 72 69 6e 67 20 62 6f 6f 74 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 73 65 6e ing.during.boot..This.option.sen
df40 64 73 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20 62 79 20 56 79 4f 53 20 74 6f 20 ds.all.commands.used.by.VyOS.to.
df60 61 20 66 69 6c 65 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 66 69 6c 65 20 69 73 20 60 60 2f 74 a.file..The.default.file.is.``/t
df80 6d 70 2f 66 75 6c 6c 2d 6c 6f 67 60 60 20 62 75 74 20 69 74 20 63 61 6e 20 62 65 20 63 68 61 6e mp/full-log``.but.it.can.be.chan
dfa0 67 65 64 2e 00 60 60 73 65 74 60 60 00 60 60 76 79 6f 73 2d 62 75 69 6c 64 60 60 20 72 65 70 6f ged..``set``.``vyos-build``.repo
dfc0 20 69 73 20 6f 75 74 64 61 74 65 64 2c 20 70 6c 65 61 73 65 20 60 60 67 69 74 20 70 75 6c 6c 60 .is.outdated,.please.``git.pull`
dfe0 60 20 74 6f 20 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 72 65 6c 65 61 73 `.to.update.to.the.latest.releas
e000 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 75 73 2e 00 60 60 76 79 6f 73 e.kernel.version.from.us..``vyos
e020 2d 63 6f 6e 66 69 67 2d 64 65 62 75 67 60 60 20 2d 20 44 75 72 69 6e 67 20 64 65 76 65 6c 6f 70 -config-debug``.-.During.develop
e040 6d 65 6e 74 2c 20 63 6f 64 69 6e 67 20 65 72 72 6f 72 73 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 ment,.coding.errors.can.lead.to.
e060 61 20 63 6f 6d 6d 69 74 20 66 61 69 6c 75 72 65 20 6f 6e 20 62 6f 6f 74 2c 20 70 6f 73 73 69 62 a.commit.failure.on.boot,.possib
e080 6c 79 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 66 61 69 6c 65 64 20 69 6e 69 74 69 61 6c ly.resulting.in.a.failed.initial
e0a0 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 43 4c 49 2e 20 49 6e 20 74 68 69 73 20 63 69 72 63 ization.of.the.CLI..In.this.circ
e0c0 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 6b 65 72 6e 65 6c 20 62 6f 6f 74 20 70 61 72 61 6d 65 umstance,.the.kernel.boot.parame
e0e0 74 65 72 20 60 60 76 79 6f 73 2d 63 6f 6e 66 69 67 2d 64 65 62 75 67 60 60 20 77 69 6c 6c 20 65 ter.``vyos-config-debug``.will.e
e100 6e 73 75 72 65 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 61 73 20 75 73 nsure.access.to.the.system.as.us
e120 65 72 20 60 60 76 79 6f 73 60 60 2c 20 61 6e 64 20 77 69 6c 6c 20 6c 6f 67 20 61 20 50 79 74 68 er.``vyos``,.and.will.log.a.Pyth
e140 6f 6e 20 73 74 61 63 6b 20 74 72 61 63 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 60 60 2f 74 6d on.stack.trace.to.the.file.``/tm
e160 70 2f 62 6f 6f 74 2d 63 6f 6e 66 69 67 2d 74 72 61 63 65 60 60 2e 20 46 69 6c 65 20 60 60 62 6f p/boot-config-trace``..File.``bo
e180 6f 74 2d 63 6f 6e 66 69 67 2d 74 72 61 63 65 60 60 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 ot-config-trace``.will.generate.
e1a0 6f 6e 6c 79 20 69 66 20 63 6f 6e 66 69 67 20 6c 6f 61 64 65 64 20 77 69 74 68 20 61 20 66 61 69 only.if.config.loaded.with.a.fai
e1c0 6c 75 72 65 20 73 74 61 74 75 73 2e 00 60 60 76 79 6f 73 2d 64 65 62 75 67 60 60 20 2d 20 41 64 lure.status..``vyos-debug``.-.Ad
e1e0 64 69 6e 67 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 74 68 65 20 6c 69 6e 75 78 20 ding.the.parameter.to.the.linux.
e200 62 6f 6f 74 20 6c 69 6e 65 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 74 69 6d 69 6e 67 20 72 65 boot.line.will.produce.timing.re
e220 73 75 6c 74 73 20 66 6f 72 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 73 63 72 69 70 sults.for.the.execution.of.scrip
e240 74 73 20 64 75 72 69 6e 67 20 63 6f 6d 6d 69 74 2e 20 49 66 20 6f 6e 65 20 69 73 20 73 65 65 69 ts.during.commit..If.one.is.seei
e260 6e 67 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 64 65 6c 61 79 20 64 75 72 69 6e 67 20 6d 61 ng.an.unexpected.delay.during.ma
e280 6e 75 61 6c 20 6f 72 20 62 6f 6f 74 20 63 6f 6d 6d 69 74 2c 20 74 68 69 73 20 6d 61 79 20 62 65 nual.or.boot.commit,.this.may.be
e2a0 20 75 73 65 66 75 6c 20 69 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 62 6f 74 74 6c 65 6e 65 63 .useful.in.identifying.bottlenec
e2c0 6b 73 2e 20 54 68 65 20 69 6e 74 65 72 6e 61 6c 20 66 6c 61 67 20 69 73 20 60 60 56 59 4f 53 5f ks..The.internal.flag.is.``VYOS_
e2e0 44 45 42 55 47 60 60 2c 20 61 6e 64 20 69 73 20 66 6f 75 6e 64 20 69 6e 20 76 79 61 74 74 61 2d DEBUG``,.and.is.found.in.vyatta-
e300 63 66 67 5f 2e 20 4f 75 74 70 75 74 20 69 73 20 64 69 72 65 63 74 65 64 20 74 6f 20 60 60 2f 76 cfg_..Output.is.directed.to.``/v
e320 61 72 2f 6c 6f 67 2f 76 79 61 74 74 61 2f 63 66 67 2d 73 74 64 6f 75 74 2e 6c 6f 67 60 60 2e 00 ar/log/vyatta/cfg-stdout.log``..
e340 60 63 64 20 73 72 63 2f 6c 69 62 63 68 61 72 6f 6e 2f 70 6c 75 67 69 6e 73 2f 76 69 63 69 2f 70 `cd.src/libcharon/plugins/vici/p
e360 79 74 68 6f 6e 60 00 60 63 64 20 76 79 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 60 00 60 6d 61 6b ython`.`cd.vyos-strongswan`.`mak
e380 65 60 00 60 70 79 74 68 6f 6e 33 20 73 65 74 75 70 2e 70 79 20 2d 2d 63 6f 6d 6d 61 6e 64 2d 70 e`.`python3.setup.py.--command-p
e3a0 61 63 6b 61 67 65 73 3d 73 74 64 65 62 2e 63 6f 6d 6d 61 6e 64 20 62 64 69 73 74 5f 64 65 62 60 ackages=stdeb.command.bdist_deb`
e3c0 00 61 6c 6c 6f 77 65 64 3a 20 2f 70 61 74 68 2f 74 6f 2f 73 63 72 69 70 74 00 61 6c 6c 6f 77 65 .allowed:./path/to/script.allowe
e3e0 64 3a 20 63 6c 69 2d 73 68 65 6c 6c 2d 61 70 69 20 6c 69 73 74 4e 6f 64 65 73 20 76 70 6e 20 69 d:.cli-shell-api.listNodes.vpn.i
e400 70 73 65 63 20 65 73 70 2d 67 72 6f 75 70 00 61 6c 6c 6f 77 65 64 3a 20 65 63 68 6f 20 66 6f 6f psec.esp-group.allowed:.echo.foo
e420 20 62 61 72 00 62 65 67 69 6e 3a 2f 63 72 65 61 74 65 3a 2f 64 65 6c 65 74 65 3a 00 63 6f 6d 6d .bar.begin:/create:/delete:.comm
e440 69 74 3a 65 78 70 72 65 73 73 69 6f 6e 3a 00 63 6f 6e 74 69 6e 65 20 65 78 65 63 75 74 69 6f 6e it:expression:.contine.execution
e460 20 75 73 69 6e 67 20 60 60 63 6f 6e 74 60 60 00 64 65 66 61 75 6c 74 3a 00 65 78 61 6d 69 6e 65 .using.``cont``.default:.examine
e480 20 76 61 72 69 61 62 6c 65 73 20 75 73 69 6e 67 20 60 60 70 70 28 76 61 72 29 60 60 00 67 65 74 .variables.using.``pp(var)``.get
e4a0 20 61 20 62 61 63 6b 74 72 61 63 65 20 75 73 69 6e 67 20 60 60 62 74 60 60 00 68 65 6c 70 3a 20 .a.backtrace.using.``bt``.help:.
e4c0 4d 79 20 6e 6f 64 65 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f My.node.https://github.com/vyos/
e4e0 76 79 61 74 74 61 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 38 36 61 30 62 33 2f 73 72 63 2f vyatta-cfg/blob/0f42786a0b3/src/
e500 63 6f 6d 6d 69 74 2f 63 6f 6d 6d 69 74 2d 61 6c 67 6f 72 69 74 68 6d 2e 63 70 70 23 4c 31 32 35 commit/commit-algorithm.cpp#L125
e520 32 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 61 2.https://github.com/vyos/vyatta
e540 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 38 36 61 30 62 33 2f 73 72 63 2f 63 73 74 6f 72 65 -cfg/blob/0f42786a0b3/src/cstore
e560 2f 63 73 74 6f 72 65 2e 63 70 70 23 4c 32 35 34 39 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 /cstore.cpp#L2549.https://github
e580 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 61 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 38 .com/vyos/vyatta-cfg/blob/0f4278
e5a0 36 61 30 62 33 2f 73 72 63 2f 63 73 74 6f 72 65 2f 63 73 74 6f 72 65 2e 63 70 70 23 4c 33 35 32 6a0b3/src/cstore/cstore.cpp#L352
e5c0 00 68 76 69 6e 66 6f 00 6b 65 65 70 61 6c 69 76 65 64 00 6d 64 6e 73 2d 72 65 70 65 61 74 65 72 .hvinfo.keepalived.mdns-repeater
e5e0 00 6d 75 6c 74 69 3a 00 6d 79 6e 6f 64 65 2f 6e 6f 64 65 2e 64 65 66 00 6d 79 6e 6f 64 65 2f 6e .multi:.mynode/node.def.mynode/n
e600 6f 64 65 2e 74 61 67 20 2c 20 74 61 67 3a 00 70 72 69 6f 72 69 74 79 3a 20 39 39 39 00 73 74 72 ode.tag.,.tag:.priority:.999.str
e620 6f 6e 67 73 77 61 6e 00 73 74 72 6f 6e 67 73 77 61 6e 2d 6e 6d 20 70 61 63 6b 61 67 65 20 62 75 ongswan.strongswan-nm.package.bu
e640 69 6c 64 20 69 73 20 64 69 73 61 62 6c 65 64 20 73 69 6e 63 65 20 77 65 20 64 6f 6e 27 74 20 75 ild.is.disabled.since.we.don't.u
e660 73 65 20 4e 65 74 77 6f 72 6b 4d 61 6e 61 67 65 72 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 se.NetworkManager.syntax:express
e680 69 6f 6e 3a 20 24 56 41 52 28 40 29 20 69 6e 20 22 66 6f 6f 22 2c 20 22 62 61 72 22 2c 20 22 62 ion:.$VAR(@).in."foo",."bar",."b
e6a0 61 7a 22 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f 6e 3a 20 28 61 72 69 74 68 6d 65 74 az".syntax:expression:.(arithmet
e6c0 69 63 20 65 78 70 72 65 73 73 69 6f 6e 29 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f 6e ic.expression).syntax:expression
e6e0 3a 20 65 78 65 63 20 2e 2e 2e 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f 6e 3a 20 70 61 :.exec.....syntax:expression:.pa
e700 74 74 65 72 6e 00 75 64 70 2d 62 72 6f 61 64 63 61 73 74 2d 72 65 6c 61 79 00 76 61 6c 5f 68 65 ttern.udp-broadcast-relay.val_he
e720 6c 70 3a 20 3c 66 6f 72 6d 61 74 3e 3b 20 73 6f 6d 65 20 73 74 72 69 6e 67 00 76 79 6f 73 2d 6e lp:.<format>;.some.string.vyos-n
e740 65 74 70 6c 75 67 00 4d 49 4d 45 2d 56 65 72 73 69 6f 6e 3a 20 31 2e 30 0a 43 6f 6e 74 65 6e 74 etplug.MIME-Version:.1.0.Content
e760 2d 54 79 70 65 3a 20 74 65 78 74 2f 70 6c 61 69 6e 3b 20 63 68 61 72 73 65 74 3d 55 54 46 2d 38 -Type:.text/plain;.charset=UTF-8
e780 0a 43 6f 6e 74 65 6e 74 2d 54 72 61 6e 73 66 65 72 2d 45 6e 63 6f 64 69 6e 67 3a 20 38 62 69 74 .Content-Transfer-Encoding:.8bit
e7a0 0a 58 2d 47 65 6e 65 72 61 74 6f 72 3a 20 4c 6f 63 61 6c 61 7a 79 20 28 68 74 74 70 73 3a 2f 2f .X-Generator:.Localazy.(https://
e7c0 6c 6f 63 61 6c 61 7a 79 2e 63 6f 6d 29 0a 50 72 6f 6a 65 63 74 2d 49 64 2d 56 65 72 73 69 6f 6e localazy.com).Project-Id-Version
e7e0 3a 20 0a 4c 61 6e 67 75 61 67 65 3a 20 70 74 0a 50 6c 75 72 61 6c 2d 46 6f 72 6d 73 3a 20 6e 70 :..Language:.pt.Plural-Forms:.np
e800 6c 75 72 61 6c 73 3d 32 3b 20 70 6c 75 72 61 6c 3d 28 6e 3e 3d 30 20 26 26 20 6e 3c 3d 31 29 20 lurals=2;.plural=(n>=0.&&.n<=1).
e820 3f 20 30 20 3a 20 31 3b 0a 00 22 24 7b 76 79 6f 73 5f 6c 69 62 65 78 65 63 64 69 72 7d 2f 76 61 ?.0.:.1;.."${vyos_libexecdir}/va
e840 6c 69 64 61 74 6f 72 73 2f 66 6f 6f 20 62 61 72 20 24 56 41 52 28 40 29 22 20 77 69 6c 6c 20 62 lidators/foo.bar.$VAR(@)".will.b
e860 65 20 65 78 65 63 75 74 65 64 2c 20 3c 63 6f 6e 73 74 72 61 69 6e 74 45 72 72 6f 72 4d 65 73 73 e.executed,.<constraintErrorMess
e880 61 67 65 3e 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 20 66 61 69 6c 75 72 age>.will.be.displayed.on.failur
e8a0 65 00 2e 2e 2e 00 3c 63 6f 6e 73 74 72 61 69 6e 74 45 72 72 6f 72 4d 65 73 73 61 67 65 3e 20 77 e.....<constraintErrorMessage>.w
e8c0 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 00 3c 6e 6f 64 ill.be.displayed.on.failure.<nod
e8e0 65 20 6e 61 6d 65 3d 22 6d 79 6e 6f 64 65 22 3e 20 3c 2f 6e 6f 64 65 3e 00 3c 70 72 6f 70 65 72 e.name="mynode">.</node>.<proper
e900 74 69 65 73 3e 20 3c 63 6f 6d 70 6c 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 6c 69 73 74 3e 20 66 6f ties>.<completionHelp>.<list>.fo
e920 6f 20 62 61 72 20 3c 2f 6c 69 73 74 3e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 63 6f 6d 70 o.bar.</list>.<properties>.<comp
e940 6c 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 70 61 74 68 3e 20 76 70 6e 20 69 70 73 65 63 20 65 73 70 letionHelp>.<path>.vpn.ipsec.esp
e960 2d 67 72 6f 75 70 20 3c 2f 70 61 74 68 3e 20 2e 2e 2e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 -group.</path>.....<properties>.
e980 3c 63 6f 6d 70 6c 65 74 69 6f 6e 48 65 6c 70 3e 20 3c 73 63 72 69 70 74 3e 20 2f 70 61 74 68 2f <completionHelp>.<script>./path/
e9a0 74 6f 2f 73 63 72 69 70 74 20 3c 2f 73 63 72 69 70 74 3e 20 2e 2e 2e 00 3c 70 72 6f 70 65 72 74 to/script.</script>.....<propert
e9c0 69 65 73 3e 20 3c 63 6f 6e 73 74 72 61 69 6e 74 3e 20 3c 72 65 67 65 78 3e 20 2e 2e 2e 00 3c 70 ies>.<constraint>.<regex>.....<p
e9e0 72 6f 70 65 72 74 69 65 73 3e 20 3c 63 6f 6e 73 74 72 61 69 6e 74 3e 20 3c 76 61 6c 69 64 61 74 roperties>.<constraint>.<validat
ea00 6f 72 3e 20 3c 6e 61 6d 65 20 3d 22 66 6f 6f 22 20 61 72 67 75 6d 65 6e 74 3d 22 62 61 72 22 3e or>.<name.="foo".argument="bar">
ea20 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 68 65 6c 70 3e 4d 79 20 6e 6f 64 65 3c 2f 68 65 6c .<properties>.<help>My.node</hel
ea40 70 3e 00 3c 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 6d 75 6c 74 69 2f 3e 00 3c 70 72 6f 70 65 72 p>.<properties>.<multi/>.<proper
ea60 74 69 65 73 3e 20 3c 70 72 69 6f 72 69 74 79 3e 39 39 39 3c 2f 70 72 69 6f 72 69 74 79 3e 00 3c ties>.<priority>999</priority>.<
ea80 70 72 6f 70 65 72 74 69 65 73 3e 20 3c 76 61 6c 75 65 48 65 6c 70 3e 20 3c 66 6f 72 6d 61 74 3e properties>.<valueHelp>.<format>
eaa0 20 66 6f 72 6d 61 74 20 3c 2f 66 6f 72 6d 61 74 3e 20 3c 64 65 73 63 72 69 70 74 69 6f 6e 3e 20 .format.</format>.<description>.
eac0 73 6f 6d 65 20 73 74 72 69 6e 67 20 3c 2f 64 65 73 63 72 69 70 74 69 6f 6e 3e 00 3c 74 61 67 4e some.string.</description>.<tagN
eae0 6f 64 65 20 6e 61 6d 65 3d 22 6d 79 6e 6f 64 65 3e 20 3c 2f 6e 6f 64 65 3e 00 41 20 66 6f 72 6b ode.name="mynode>.</node>.A.fork
eb00 20 77 69 74 68 20 70 61 63 6b 61 67 69 6e 67 20 63 68 61 6e 67 65 73 20 66 6f 72 20 56 79 4f 53 .with.packaging.changes.for.VyOS
eb20 20 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 .is.kept.at.https://github.com/v
eb40 79 6f 73 2f 68 76 69 6e 66 6f 00 41 20 67 6f 6f 64 20 61 70 70 72 6f 61 63 68 20 66 6f 72 20 77 yos/hvinfo.A.good.approach.for.w
eb60 72 69 74 69 6e 67 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 20 69 73 20 61 63 74 75 61 6c riting.commit.messages.is.actual
eb80 6c 79 20 74 6f 20 68 61 76 65 20 61 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 66 69 6c 65 28 73 29 ly.to.have.a.look.at.the.file(s)
eba0 20 68 69 73 74 6f 72 79 20 62 79 20 69 6e 76 6f 6b 69 6e 67 20 60 60 67 69 74 20 6c 6f 67 20 70 .history.by.invoking.``git.log.p
ebc0 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 60 60 2e 00 41 20 6e 75 6d 62 65 72 20 6f 66 20 66 ath/to/file.txt``..A.number.of.f
ebe0 6c 61 67 73 20 63 61 6e 20 62 65 20 73 65 74 20 75 70 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 lags.can.be.set.up.to.change.the
ec00 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 56 79 4f 53 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 54 .behaviour.of.VyOS.at.runtime..T
ec20 68 65 73 65 20 66 6c 61 67 73 20 63 61 6e 20 62 65 20 74 6f 67 67 6c 65 64 20 75 73 69 6e 67 20 hese.flags.can.be.toggled.using.
ec40 65 69 74 68 65 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 either.environment.variables.or.
ec60 63 72 65 61 74 69 6e 67 20 66 69 6c 65 73 2e 00 41 20 73 69 6e 67 6c 65 2c 20 73 68 6f 72 74 2c creating.files..A.single,.short,
ec80 20 73 75 6d 6d 61 72 79 20 6f 66 20 74 68 65 20 63 6f 6d 6d 69 74 20 28 72 65 63 6f 6d 6d 65 6e .summary.of.the.commit.(recommen
eca0 64 65 64 20 35 30 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 6c 65 73 73 2c 20 6e 6f 74 20 65 ded.50.characters.or.less,.not.e
ecc0 78 63 65 65 64 69 6e 67 20 38 30 20 63 68 61 72 61 63 74 65 72 73 29 20 63 6f 6e 74 61 69 6e 69 xceeding.80.characters).containi
ece0 6e 67 20 61 20 70 72 65 66 69 78 20 6f 66 20 74 68 65 20 63 68 61 6e 67 65 64 20 63 6f 6d 70 6f ng.a.prefix.of.the.changed.compo
ed00 6e 65 6e 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 68 61 62 72 nent.and.the.corresponding.Phabr
ed20 69 63 61 74 6f 72 5f 20 72 65 66 65 72 65 6e 63 65 20 65 2e 67 2e 20 60 60 73 6e 6d 70 3a 20 54 icator_.reference.e.g..``snmp:.T
ed40 31 31 31 31 3a 60 60 20 6f 72 20 60 60 65 74 68 65 72 6e 65 74 3a 20 54 32 32 32 32 3a 60 60 20 1111:``.or.``ethernet:.T2222:``.
ed60 2d 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 63 6f 75 6c 64 20 62 65 20 63 -.multiple.components.could.be.c
ed80 6f 6e 63 61 74 65 6e 61 74 65 64 20 61 73 20 69 6e 20 60 60 73 6e 6d 70 3a 20 65 74 68 65 72 6e oncatenated.as.in.``snmp:.ethern
eda0 65 74 3a 20 54 33 33 33 33 60 60 00 41 62 62 72 65 76 69 61 74 69 6f 6e 73 20 61 6e 64 20 61 63 et:.T3333``.Abbreviations.and.ac
edc0 72 6f 6e 79 6d 73 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 00 ronyms.**must**.be.capitalized..
ede0 41 63 63 65 6c 2d 50 50 50 00 41 63 72 6f 6e 79 6d 73 20 61 6c 73 6f 20 2a 2a 6d 75 73 74 2a 2a Accel-PPP.Acronyms.also.**must**
ee00 20 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 20 74 6f 20 76 69 73 75 61 6c 6c 79 20 64 69 73 74 .be.capitalized.to.visually.dist
ee20 69 6e 67 75 69 73 68 20 74 68 65 6d 20 66 72 6f 6d 20 6e 6f 72 6d 61 6c 20 77 6f 72 64 73 3a 00 inguish.them.from.normal.words:.
ee40 41 64 64 20 66 69 6c 65 20 74 6f 20 47 69 74 20 69 6e 64 65 78 20 75 73 69 6e 67 20 60 60 67 69 Add.file.to.Git.index.using.``gi
ee60 74 20 61 64 64 20 6d 79 66 69 6c 65 60 60 2c 20 6f 72 20 66 6f 72 20 61 20 77 68 6f 6c 65 20 64 t.add.myfile``,.or.for.a.whole.d
ee80 69 72 65 63 74 6f 72 79 3a 20 60 60 67 69 74 20 61 64 64 20 73 6f 6d 65 64 69 72 2f 2a 60 60 00 irectory:.``git.add.somedir/*``.
eea0 41 64 64 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 49 50 20 61 64 64 72 65 73 73 65 73 00 41 64 64 Add.one.or.more.IP.addresses.Add
eec0 72 65 73 73 00 41 66 74 65 72 20 61 20 6d 69 6e 75 74 65 20 6f 72 20 74 77 6f 20 79 6f 75 20 77 ress.After.a.minute.or.two.you.w
eee0 69 6c 6c 20 66 69 6e 64 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 44 45 42 20 70 61 63 6b 61 ill.find.the.generated.DEB.packa
ef00 67 65 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 76 79 6f 73 2d 31 78 20 73 6f 75 72 63 65 20 64 ges.next.to.the.vyos-1x.source.d
ef20 69 72 65 63 74 6f 72 79 3a 00 41 66 74 65 72 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 70 61 irectory:.After.compiling.the.pa
ef40 63 6b 61 67 65 73 20 79 6f 75 20 77 69 6c 6c 20 66 69 6e 64 20 79 6f 75 72 73 65 6c 66 20 74 68 ckages.you.will.find.yourself.th
ef60 65 20 6e 65 77 6c 79 20 67 65 6e 65 72 61 74 65 64 20 60 2a 2e 64 65 62 60 20 62 69 6e 61 72 69 e.newly.generated.`*.deb`.binari
ef80 65 73 20 69 6e 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c 69 6e 75 es.in.``vyos-build/packages/linu
efa0 78 2d 6b 65 72 6e 65 6c 60 60 20 66 72 6f 6d 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 63 6f x-kernel``.from.which.you.can.co
efc0 70 79 20 74 68 65 6d 20 74 6f 20 74 68 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b py.them.to.the.``vyos-build/pack
efe0 61 67 65 73 60 60 20 66 6f 6c 64 65 72 20 66 6f 72 20 69 6e 63 6c 75 73 69 6f 6e 20 64 75 72 69 ages``.folder.for.inclusion.duri
f000 6e 67 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 2e 00 41 66 74 65 72 20 69 74 73 20 66 69 72 73 ng.the.ISO.build..After.its.firs
f020 74 20 62 6f 6f 74 20 69 6e 74 6f 20 74 68 65 20 6e 65 77 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 t.boot.into.the.newly.installed.
f040 73 79 73 74 65 6d 20 74 68 65 20 6d 61 69 6e 20 53 6d 6f 6b 65 74 65 73 74 20 73 63 72 69 70 74 system.the.main.Smoketest.script
f060 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 68 65 .is.executed,.it.can.be.found.he
f080 72 65 3a 20 60 2f 75 73 72 2f 62 69 6e 2f 76 79 6f 73 2d 73 6d 6f 6b 65 74 65 73 74 60 00 41 6c re:.`/usr/bin/vyos-smoketest`.Al
f0a0 6c 20 56 79 4f 53 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 l.VyOS.source.code.is.hosted.on.
f0c0 47 69 74 48 75 62 20 75 6e 64 65 72 20 74 68 65 20 56 79 4f 53 20 6f 72 67 61 6e 69 7a 61 74 69 GitHub.under.the.VyOS.organizati
f0e0 6f 6e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 68 65 72 65 3a 20 68 74 74 70 on.which.can.be.found.here:.http
f100 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 00 41 6c 6c 20 63 6f 6d 6d 69 74 20 74 s://github.com/vyos.All.commit.t
f120 69 6d 65 20 63 68 65 63 6b 73 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 74 68 65 20 76 65 72 69 ime.checks.should.be.in.the.veri
f140 66 79 28 29 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 63 72 69 70 74 00 41 6c 6c 20 fy().function.of.the.script.All.
f160 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 58 4d 4c 20 69 6e 70 75 74 20 66 interface.definition.XML.input.f
f180 69 6c 65 73 20 28 2e 69 6e 20 73 75 66 66 69 78 29 20 77 69 6c 6c 20 62 65 20 73 65 6e 74 20 74 iles.(.in.suffix).will.be.sent.t
f1a0 6f 20 74 68 65 20 47 43 43 20 70 72 65 70 72 6f 63 65 73 73 20 61 6e 64 20 74 68 65 20 6f 75 74 o.the.GCC.preprocess.and.the.out
f1c0 70 75 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 60 62 75 69 6c 64 2f 69 6e 74 65 put.is.stored.in.the.`build/inte
f1e0 72 66 61 63 65 2d 64 65 66 69 6e 69 74 69 6f 6e 73 60 20 66 6f 6c 64 65 72 2e 20 54 68 65 20 70 rface-definitions`.folder..The.p
f200 72 65 76 69 6f 75 73 6c 79 20 6d 65 6e 74 69 6f 6e 65 64 20 60 73 63 72 69 70 74 73 2f 62 75 69 reviously.mentioned.`scripts/bui
f220 6c 64 2d 63 6f 6d 6d 61 6e 64 2d 74 65 6d 70 6c 61 74 65 73 60 20 73 63 72 69 70 74 20 6f 70 65 ld-command-templates`.script.ope
f240 72 61 74 65 73 20 6f 6e 20 74 68 65 20 60 62 75 69 6c 64 2f 69 6e 74 65 72 66 61 63 65 2d 64 65 rates.on.the.`build/interface-de
f260 66 69 6e 69 74 69 6f 6e 73 60 20 66 6f 6c 64 65 72 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 6c finitions`.folder.to.generate.al
f280 6c 20 72 65 71 75 69 72 65 64 20 43 4c 49 20 6e 6f 64 65 73 2e 00 41 6c 6c 20 69 73 73 75 65 73 l.required.CLI.nodes..All.issues
f2a0 20 73 68 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 20 74 6f 20 74 68 65 20 64 65 76 65 6c .should.be.reported.to.the.devel
f2c0 6f 70 65 72 73 2e 20 54 68 69 73 20 6c 65 74 73 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 opers..This.lets.the.developers.
f2e0 6b 6e 6f 77 20 77 68 61 74 20 69 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67 20 70 72 6f 70 65 72 6c know.what.is.not.working.properl
f300 79 2e 20 57 69 74 68 6f 75 74 20 74 68 69 73 20 73 6f 72 74 20 6f 66 20 66 65 65 64 62 61 63 6b y..Without.this.sort.of.feedback
f320 20 65 76 65 72 79 20 64 65 76 65 6c 6f 70 65 72 20 77 69 6c 6c 20 62 65 6c 69 65 76 65 20 74 68 .every.developer.will.believe.th
f340 61 74 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 77 6f 72 6b 69 6e 67 20 63 6f 72 72 65 63 74 at.everything.is.working.correct
f360 6c 79 2e 00 41 6c 6c 20 6c 6f 67 69 63 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 74 68 65 20 73 ly..All.logic.should.be.in.the.s
f380 63 72 69 70 74 73 00 41 6c 6c 20 74 65 78 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 69 74 20 6d 65 cripts.All.text.of.the.commit.me
f3a0 73 73 61 67 65 20 73 68 6f 75 6c 64 20 62 65 20 77 72 61 70 70 65 64 20 61 74 20 37 32 20 63 68 ssage.should.be.wrapped.at.72.ch
f3c0 61 72 61 63 74 65 72 73 20 69 66 20 70 6f 73 73 69 62 6c 65 20 77 68 69 63 68 20 6d 61 6b 65 73 aracters.if.possible.which.makes
f3e0 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 69 74 20 6c 6f 67 73 20 65 61 73 69 65 72 20 77 69 74 68 .reading.commit.logs.easier.with
f400 20 60 60 67 69 74 20 6c 6f 67 60 60 20 6f 6e 20 61 20 73 74 61 6e 64 61 72 64 20 74 65 72 6d 69 .``git.log``.on.a.standard.termi
f420 6e 61 6c 20 28 77 68 69 63 68 20 68 61 70 70 65 6e 73 20 74 6f 20 62 65 20 38 30 78 32 35 29 00 nal.(which.happens.to.be.80x25).
f440 41 6c 77 61 79 73 20 75 73 65 20 74 68 65 20 60 60 2d 78 60 60 20 6f 70 74 69 6f 6e 20 74 6f 20 Always.use.the.``-x``.option.to.
f460 74 68 65 20 60 60 67 69 74 20 63 68 65 72 72 79 2d 70 69 63 6b 60 60 20 63 6f 6d 6d 61 6e 64 20 the.``git.cherry-pick``.command.
f480 77 68 65 6e 20 62 61 63 6b 20 6f 72 20 66 6f 72 77 61 72 64 20 70 6f 72 74 69 6e 67 20 61 6e 20 when.back.or.forward.porting.an.
f4a0 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6d 6d 69 74 2e 20 54 68 69 73 20 61 75 74 6f 6d 61 74 69 individual.commit..This.automati
f4c0 63 61 6c 6c 79 20 61 70 70 65 6e 64 73 20 74 68 65 20 6c 69 6e 65 3a 20 60 60 28 63 68 65 72 72 cally.appends.the.line:.``(cherr
f4e0 79 20 70 69 63 6b 65 64 20 66 72 6f 6d 20 63 6f 6d 6d 69 74 20 3c 49 44 3e 29 60 60 20 74 6f 20 y.picked.from.commit.<ID>)``.to.
f500 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d 69 74 20 6d 65 73 73 the.original.authors.commit.mess
f520 61 67 65 20 6d 61 6b 69 6e 67 20 69 74 20 65 61 73 69 65 72 20 77 68 65 6e 20 62 69 73 65 63 74 age.making.it.easier.when.bisect
f540 69 6e 67 20 70 72 6f 62 6c 65 6d 73 2e 00 41 6e 6f 74 68 65 72 20 61 64 76 61 6e 74 61 67 65 20 ing.problems..Another.advantage.
f560 69 73 20 74 65 73 74 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 20 4d 6f 63 6b is.testability.of.the.code..Mock
f580 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6e 66 69 67 20 73 75 62 73 79 73 74 65 6d 20 ing.the.entire.config.subsystem.
f5a0 69 73 20 68 61 72 64 2c 20 77 68 69 6c 65 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 61 6e 20 69 is.hard,.while.constructing.an.i
f5c0 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 62 79 20 68 61 6e 64 20 69 nternal.representation.by.hand.i
f5e0 73 20 77 61 79 20 73 69 6d 70 6c 65 72 2e 00 41 6e 79 20 22 6d 6f 64 69 66 69 65 64 22 20 70 61 s.way.simpler..Any."modified".pa
f600 63 6b 61 67 65 20 6d 61 79 20 72 65 66 65 72 20 74 6f 20 61 6e 20 61 6c 74 65 72 65 64 20 76 65 ckage.may.refer.to.an.altered.ve
f620 72 73 69 6f 6e 20 6f 66 20 65 2e 67 2e 20 76 79 6f 73 2d 31 78 20 70 61 63 6b 61 67 65 20 74 68 rsion.of.e.g..vyos-1x.package.th
f640 61 74 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 74 65 73 74 20 62 65 66 6f 72 65 at.you.would.like.to.test.before
f660 20 66 69 6c 69 6e 67 20 61 20 70 75 6c 6c 20 72 65 71 75 65 73 74 20 6f 6e 20 47 69 74 48 75 62 .filing.a.pull.request.on.GitHub
f680 2e 00 41 6e 79 20 70 61 63 6b 61 67 65 73 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 64 ..Any.packages.in.the.packages.d
f6a0 69 72 65 63 74 6f 72 79 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 69 73 irectory.will.be.added.to.the.is
f6c0 6f 20 64 75 72 69 6e 67 20 62 75 69 6c 64 2c 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 75 70 o.during.build,.replacing.the.up
f6e0 73 74 72 65 61 6d 20 6f 6e 65 73 2e 20 4d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 65 6c 65 74 stream.ones..Make.sure.you.delet
f700 65 20 74 68 65 6d 20 28 62 6f 74 68 20 74 68 65 20 73 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 e.them.(both.the.source.director
f720 69 65 73 20 61 6e 64 20 62 75 69 6c 74 20 64 65 62 20 70 61 63 6b 61 67 65 73 29 20 69 66 20 79 ies.and.built.deb.packages).if.y
f740 6f 75 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 69 73 6f 20 66 72 6f 6d 20 70 75 72 ou.want.to.build.an.iso.from.pur
f760 65 6c 79 20 75 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 2e 00 41 73 20 53 6d 6f 6b 65 74 ely.upstream.packages..As.Smoket
f780 65 73 74 73 20 77 69 6c 6c 20 61 6c 74 65 72 20 74 68 65 20 73 79 73 74 65 6d 20 63 6f 6e 66 69 ests.will.alter.the.system.confi
f7a0 67 75 72 61 74 69 6f 6e 20 61 6e 64 20 79 6f 75 20 61 72 65 20 6c 6f 67 67 65 64 20 69 6e 20 72 guration.and.you.are.logged.in.r
f7c0 65 6d 6f 74 65 20 79 6f 75 20 6d 61 79 20 6c 6f 6f 73 65 20 79 6f 75 72 20 63 6f 6e 6e 65 63 74 emote.you.may.loose.your.connect
f7e0 69 6f 6e 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 2e 00 41 73 20 74 68 65 20 56 79 4f 53 20 64 ion.to.the.system..As.the.VyOS.d
f800 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 66 6f 72 20 75 73 65 ocumentation.is.not.only.for.use
f820 72 73 20 62 75 74 20 61 6c 73 6f 20 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 2d rs.but.also.for.the.developers.-
f840 20 61 6e 64 20 77 65 20 6b 65 65 70 20 6e 6f 20 73 65 63 72 65 74 20 64 6f 63 75 6d 65 6e 74 61 .and.we.keep.no.secret.documenta
f860 74 69 6f 6e 20 2d 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20 68 6f tion.-.this.section.describes.ho
f880 77 20 74 68 65 20 61 75 74 6f 6d 61 74 65 64 20 74 65 73 74 69 6e 67 20 77 6f 72 6b 73 2e 00 41 w.the.automated.testing.works..A
f8a0 73 73 75 6d 65 20 77 65 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 76 79 6f 73 2d ssume.we.want.to.build.the.vyos-
f8c0 31 78 20 70 61 63 6b 61 67 65 20 6f 6e 20 6f 75 72 20 6f 77 6e 20 61 6e 64 20 6d 6f 64 69 66 79 1x.package.on.our.own.and.modify
f8e0 20 69 74 20 74 6f 20 6f 75 72 20 6e 65 65 64 73 2e 20 57 65 20 66 69 72 73 74 20 6e 65 65 64 20 .it.to.our.needs..We.first.need.
f900 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 66 72 6f 6d 20 47 69 74 to.clone.the.repository.from.Git
f920 48 75 62 2e 00 41 74 74 61 63 68 20 70 61 74 63 68 20 74 6f 20 50 68 61 62 72 69 63 61 74 6f 72 Hub..Attach.patch.to.Phabricator
f940 20 74 61 73 6b 00 42 61 64 3a 20 22 44 69 73 61 62 6c 65 73 20 49 50 76 36 20 66 6f 72 77 61 72 .task.Bad:."Disables.IPv6.forwar
f960 64 69 6e 67 22 00 42 61 64 3a 20 22 46 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 74 ding".Bad:."Frobnication.algorit
f980 68 6d 2e 22 00 42 61 64 3a 20 22 53 65 74 20 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 hm.".Bad:."Set.TCP.connection.ti
f9a0 6d 65 6f 75 74 22 00 42 61 64 3a 20 22 66 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 meout".Bad:."frobnication.algori
f9c0 74 68 6d 22 00 42 61 64 3a 20 22 74 63 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d 65 6f 75 thm".Bad:."tcp.connection.timeou
f9e0 74 22 00 42 61 64 3a 20 50 50 50 4f 45 2c 20 49 50 53 45 43 00 42 61 64 3a 20 70 70 70 6f 65 2c t".Bad:.PPPOE,.IPSEC.Bad:.pppoe,
fa00 20 69 70 73 65 63 00 42 61 64 3a 20 72 61 64 69 75 73 20 28 75 6e 6c 65 73 73 20 69 74 27 73 20 .ipsec.Bad:.radius.(unless.it's.
fa20 61 62 6f 75 74 20 74 68 65 20 64 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 63 65 6e about.the.distance.between.a.cen
fa40 74 65 72 20 6f 66 20 61 20 63 69 72 63 6c 65 20 61 6e 64 20 61 6e 79 20 6f 66 20 69 74 73 20 70 ter.of.a.circle.and.any.of.its.p
fa60 6f 69 6e 74 73 29 00 42 65 65 69 6e 67 20 62 72 61 76 65 20 61 6e 64 20 72 75 6e 6e 69 6e 67 20 oints).Beeing.brave.and.running.
fa80 74 68 65 20 6c 61 74 65 73 74 20 72 6f 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 73 20 77 69 6c 6c the.latest.rolling.releases.will
faa0 20 73 6f 6d 65 74 69 6d 65 73 20 74 72 69 67 67 65 72 20 62 75 67 73 20 64 75 65 20 74 6f 20 63 .sometimes.trigger.bugs.due.to.c
fac0 6f 72 6e 65 72 20 63 61 73 65 73 20 77 65 20 6d 69 73 73 65 64 20 69 6e 20 6f 75 72 20 64 65 73 orner.cases.we.missed.in.our.des
fae0 69 67 6e 2e 20 54 68 6f 73 65 20 62 75 67 73 20 73 68 6f 75 6c 64 20 62 65 20 66 69 6c 65 64 20 ign..Those.bugs.should.be.filed.
fb00 76 69 61 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 62 75 74 20 79 6f 75 20 63 61 6e 20 68 65 6c via.Phabricator_.but.you.can.hel
fb20 70 20 75 73 20 74 6f 20 6e 61 72 72 6f 77 20 64 6f 65 6e 20 74 68 65 20 69 73 73 75 65 2e 20 4c p.us.to.narrow.doen.the.issue..L
fb40 6f 67 69 6e 20 74 6f 20 79 6f 75 72 20 56 79 4f 53 20 73 79 73 74 65 6d 20 61 6e 64 20 63 68 61 ogin.to.your.VyOS.system.and.cha
fb60 6e 67 65 20 69 6e 74 6f 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 6f 64 65 20 62 79 20 74 nge.into.configuration.mode.by.t
fb80 79 70 69 6e 67 20 60 60 63 6f 6e 66 69 67 75 72 65 60 60 2e 20 4e 6f 77 20 72 65 2d 6c 6f 61 64 yping.``configure``..Now.re-load
fba0 20 79 6f 75 72 20 62 6f 6f 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 62 79 20 73 69 6d 70 .your.boot.configuration.by.simp
fbc0 6c 79 20 74 79 70 69 6e 67 20 60 60 6c 6f 61 64 60 60 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 72 ly.typing.``load``.followed.by.r
fbe0 65 74 75 72 6e 2e 00 42 6f 6f 74 20 54 69 6d 69 6e 67 00 42 75 67 20 52 65 70 6f 72 74 2f 49 73 eturn..Boot.Timing.Bug.Report/Is
fc00 73 75 65 00 42 75 69 6c 64 00 42 75 69 6c 64 20 43 6f 6e 74 61 69 6e 65 72 00 42 75 69 6c 64 20 sue.Build.Build.Container.Build.
fc20 49 53 4f 00 42 75 69 6c 64 20 56 79 4f 53 00 42 75 69 6c 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 ISO.Build.VyOS.Build.from.source
fc40 00 42 75 69 6c 64 69 6e 67 20 4f 75 74 2d 4f 66 2d 54 72 65 65 20 4d 6f 64 75 6c 65 73 00 42 75 .Building.Out-Of-Tree.Modules.Bu
fc60 69 6c 64 69 6e 67 20 54 68 65 20 4b 65 72 6e 65 6c 00 42 75 69 6c 64 69 6e 67 20 56 79 4f 53 20 ilding.The.Kernel.Building.VyOS.
fc80 6f 6e 20 57 69 6e 64 6f 77 73 20 57 53 4c 32 20 77 69 74 68 20 44 6f 63 6b 65 72 20 69 6e 74 65 on.Windows.WSL2.with.Docker.inte
fca0 67 72 61 74 65 64 20 69 6e 74 6f 20 57 53 4c 32 20 77 69 6c 6c 20 77 6f 72 6b 20 6c 69 6b 65 20 grated.into.WSL2.will.work.like.
fcc0 61 20 63 68 61 72 6d 2e 20 4e 6f 20 70 72 6f 62 6c 65 6d 73 20 61 72 65 20 6b 6e 6f 77 6e 20 73 a.charm..No.problems.are.known.s
fce0 6f 20 66 61 72 21 00 42 75 69 6c 64 69 6e 67 20 61 6e 20 49 53 4f 20 77 69 74 68 20 61 6e 79 20 o.far!.Building.an.ISO.with.any.
fd00 63 75 73 74 6f 6d 69 7a 65 64 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 20 6e 6f 20 77 61 79 20 customized.package.is.in.no.way.
fd20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 20 62 75 69 6c 64 69 6e 67 20 61 20 72 65 67 75 6c 61 different.than.building.a.regula
fd40 72 20 28 63 75 73 74 6f 6d 69 7a 65 64 20 6f 72 20 6e 6f 74 29 20 49 53 4f 20 69 6d 61 67 65 2e r.(customized.or.not).ISO.image.
fd60 20 53 69 6d 70 6c 79 20 70 6c 61 63 65 20 79 6f 75 72 20 6d 6f 64 69 66 69 65 64 20 60 2a 2e 64 .Simply.place.your.modified.`*.d
fd80 65 62 60 20 70 61 63 6b 61 67 65 20 69 6e 73 69 64 65 20 74 68 65 20 60 70 61 63 6b 61 67 65 73 eb`.package.inside.the.`packages
fda0 60 20 66 6f 6c 64 65 72 20 77 69 74 68 69 6e 20 60 76 79 6f 73 2d 62 75 69 6c 64 60 2e 20 54 68 `.folder.within.`vyos-build`..Th
fdc0 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 77 69 6c 6c 20 74 68 65 6e 20 70 69 63 6b 75 70 e.build.process.will.then.pickup
fde0 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 70 61 63 6b 61 67 65 20 61 6e 64 20 69 6e 74 65 67 72 61 .your.custom.package.and.integra
fe00 74 65 20 69 74 20 69 6e 74 6f 20 79 6f 75 72 20 49 53 4f 2e 00 42 75 69 6c 64 69 6e 67 20 74 68 te.it.into.your.ISO..Building.th
fe20 65 20 6b 65 72 6e 65 6c 20 69 73 20 6f 6e 65 20 70 61 72 74 2c 20 62 75 74 20 6e 6f 77 20 79 6f e.kernel.is.one.part,.but.now.yo
fe40 75 20 61 6c 73 6f 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 72 65 71 75 69 72 65 u.also.need.to.build.the.require
fe60 64 20 6f 75 74 2d 6f 66 2d 74 72 65 65 20 6d 6f 64 75 6c 65 73 20 73 6f 20 65 76 65 72 79 74 68 d.out-of-tree.modules.so.everyth
fe80 69 6e 67 20 69 73 20 6c 69 6e 65 64 20 75 70 20 61 6e 64 20 74 68 65 20 41 42 49 73 20 6d 61 74 ing.is.lined.up.and.the.ABIs.mat
fea0 63 68 2e 20 54 6f 20 64 6f 20 73 6f 2c 20 79 6f 75 20 63 61 6e 20 61 67 61 69 6e 20 74 61 6b 65 ch..To.do.so,.you.can.again.take
fec0 20 61 20 6c 6f 6f 6b 20 61 74 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 .a.look.at.``vyos-build/packages
fee0 2f 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 74 6f 20 73 /linux-kernel/Jenkinsfile``.to.s
ff00 65 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 73 20 61 ee.all.of.the.required.modules.a
ff20 6e 64 20 74 68 65 69 72 20 73 65 6c 65 63 74 65 64 20 76 65 72 73 69 6f 6e 73 2e 20 57 65 20 77 nd.their.selected.versions..We.w
ff40 69 6c 6c 20 73 68 6f 77 20 79 6f 75 20 68 6f 77 20 74 6f 20 62 75 69 6c 64 20 61 6c 6c 20 74 68 ill.show.you.how.to.build.all.th
ff60 65 20 63 75 72 72 65 6e 74 20 72 65 71 75 69 72 65 64 20 6d 6f 64 75 6c 65 73 2e 00 42 75 69 6c e.current.required.modules..Buil
ff80 64 69 6e 67 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 69 6c 6c 20 74 61 6b 65 20 73 6f 6d 65 20 74 ding.the.kernel.will.take.some.t
ffa0 69 6d 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 70 65 65 64 20 61 6e 64 20 71 ime.depending.on.the.speed.and.q
ffc0 75 61 6e 74 69 74 79 20 6f 66 20 79 6f 75 72 20 43 50 55 2f 63 6f 72 65 73 20 61 6e 64 20 64 69 uantity.of.your.CPU/cores.and.di
ffe0 73 6b 20 73 70 65 65 64 2e 20 45 78 70 65 63 74 20 32 30 20 6d 69 6e 75 74 65 73 20 28 6f 72 20 sk.speed..Expect.20.minutes.(or.
10000 65 76 65 6e 20 6c 6f 6e 67 65 72 29 20 6f 6e 20 6c 6f 77 65 72 20 65 6e 64 20 68 61 72 64 77 61 even.longer).on.lower.end.hardwa
10020 72 65 2e 00 42 75 69 6c 64 69 6e 67 20 75 73 69 6e 67 20 61 20 3a 72 65 66 3a 60 62 75 69 6c 64 re..Building.using.a.:ref:`build
10040 5f 64 6f 63 6b 65 72 60 20 63 6f 6e 74 61 69 6e 65 72 2c 20 61 6c 74 68 6f 75 67 68 20 6e 6f 74 _docker`.container,.although.not
10060 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 2c 20 69 73 20 74 68 65 20 65 61 73 69 65 73 74 20 77 61 .the.only.way,.is.the.easiest.wa
10080 79 20 61 73 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6d 61 6e 61 67 65 y.as.all.dependencies.are.manage
100a0 64 20 66 6f 72 20 79 6f 75 2e 20 48 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f d.for.you..However,.you.can.also
100c0 20 73 65 74 20 75 70 20 79 6f 75 72 20 6f 77 6e 20 62 75 69 6c 64 20 6d 61 63 68 69 6e 65 20 61 .set.up.your.own.build.machine.a
100e0 6e 64 20 72 75 6e 20 61 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 6e 61 74 69 76 65 60 2e 00 42 75 nd.run.a.:ref:`build_native`..Bu
10100 74 20 77 65 20 61 72 65 20 68 65 72 65 20 74 6f 20 61 73 73 69 73 74 20 79 6f 75 20 61 6e 64 20 t.we.are.here.to.assist.you.and.
10120 77 61 6e 74 20 74 6f 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 68 20 68 6f 77 20 79 6f want.to.guide.you.through.how.yo
10140 75 20 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 67 6f 6f 64 20 56 79 4f 53 20 63 6f 6e 74 72 69 62 u.can.become.a.good.VyOS.contrib
10160 75 74 6f 72 2e 20 54 68 65 20 72 75 6c 65 73 20 77 65 20 68 61 76 65 20 61 72 65 20 6e 6f 74 20 utor..The.rules.we.have.are.not.
10180 74 68 65 72 65 20 74 6f 20 70 75 6e 69 73 68 20 79 6f 75 20 2d 20 74 68 65 20 72 75 6c 65 73 20 there.to.punish.you.-.the.rules.
101a0 61 72 65 20 69 6e 20 70 6c 61 63 65 20 74 6f 20 68 65 6c 70 20 75 73 20 61 6c 6c 2e 20 57 68 61 are.in.place.to.help.us.all..Wha
101c0 74 20 64 6f 65 73 20 69 74 20 6d 65 61 6e 3f 20 42 79 20 68 61 76 69 6e 67 20 61 20 63 6f 6e 73 t.does.it.mean?.By.having.a.cons
101e0 69 73 74 65 6e 74 20 63 6f 64 69 6e 67 20 73 74 79 6c 65 20 69 74 20 62 65 63 6f 6d 65 73 20 76 istent.coding.style.it.becomes.v
10200 65 72 79 20 65 61 73 79 20 66 6f 72 20 6e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 6e ery.easy.for.new.contributors.an
10220 64 20 61 6c 73 6f 20 6c 6f 6e 67 74 69 6d 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 74 6f 20 d.also.longtime.contributors.to.
10240 6e 61 76 69 67 61 74 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 6e 64 navigate.through.the.sources.and
10260 20 61 6c 6c 20 74 68 65 20 69 6d 70 6c 69 65 64 20 6c 6f 67 69 63 20 6f 66 20 74 68 65 20 73 70 .all.the.implied.logic.of.the.sp
10280 61 67 68 65 74 74 69 20 63 6f 64 65 2e 00 43 2b 2b 20 42 61 63 6b 65 6e 64 20 43 6f 64 65 00 43 aghetti.code..C++.Backend.Code.C
102a0 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 61 6e 64 20 70 75 6e 63 74 75 61 74 69 6f 6e 00 43 68 apitalization.and.punctuation.Ch
102c0 65 63 6b 20 6f 75 74 20 74 68 65 20 72 65 71 75 69 72 65 64 20 6b 65 72 6e 65 6c 20 76 65 72 73 eck.out.the.required.kernel.vers
102e0 69 6f 6e 20 2d 20 73 65 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 64 61 74 61 2f 64 65 66 61 ion.-.see.``vyos-build/data/defa
10300 75 6c 74 73 2e 6a 73 6f 6e 60 60 20 66 69 6c 65 20 28 65 78 61 6d 70 6c 65 20 75 73 65 73 20 6b ults.json``.file.(example.uses.k
10320 65 72 6e 65 6c 20 34 2e 31 39 2e 31 34 36 29 3a 00 43 6c 6f 6e 65 20 74 68 65 20 6b 65 72 6e 65 ernel.4.19.146):.Clone.the.kerne
10340 6c 20 73 6f 75 72 63 65 20 74 6f 20 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 l.source.to.`vyos-build/packages
10360 2f 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 60 3a 00 43 6c 6f 6e 65 3a 20 60 60 67 69 74 20 63 6c /linux-kernel/`:.Clone:.``git.cl
10380 6f 6e 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 3c 75 73 65 72 3e 2f 76 79 one.https://github.com/<user>/vy
103a0 6f 73 2d 31 78 2e 67 69 74 60 60 00 43 6f 64 69 6e 67 20 47 75 69 64 65 6c 69 6e 65 73 00 43 6f os-1x.git``.Coding.Guidelines.Co
103c0 6d 6d 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 70 75 72 65 6c 79 20 64 65 63 mmand.definitions.are.purely.dec
103e0 6c 61 72 61 74 69 76 65 2c 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 larative,.and.cannot.contain.any
10400 20 6c 6f 67 69 63 2e 20 41 6c 6c 20 6c 6f 67 69 63 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 .logic..All.logic.for.generating
10420 20 63 6f 6e 66 69 67 20 66 69 6c 65 73 20 66 6f 72 20 74 61 72 67 65 74 20 61 70 70 6c 69 63 61 .config.files.for.target.applica
10440 74 69 6f 6e 73 2c 20 72 65 73 74 61 72 74 69 6e 67 20 73 65 72 76 69 63 65 73 20 61 6e 64 20 73 tions,.restarting.services.and.s
10460 6f 20 6f 6e 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 63 6f 6e 66 69 67 75 72 61 o.on.is.implemented.in.configura
10480 74 69 6f 6e 20 73 63 72 69 70 74 73 20 69 6e 73 74 65 61 64 2e 00 43 6f 6d 6d 69 74 20 74 68 65 tion.scripts.instead..Commit.the
104a0 20 63 68 61 6e 67 65 73 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 67 69 74 20 63 6f 6d 6d 69 74 .changes.by.calling.``git.commit
104c0 60 60 2e 20 50 6c 65 61 73 65 20 75 73 65 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 63 6f 6d 6d ``..Please.use.a.meaningful.comm
104e0 69 74 20 68 65 61 64 6c 69 6e 65 20 28 72 65 61 64 20 61 62 6f 76 65 29 20 61 6e 64 20 64 6f 6e it.headline.(read.above).and.don
10500 27 74 20 66 6f 72 67 65 74 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 50 68 61 62 72 't.forget.to.reference.the.Phabr
10520 69 63 61 74 6f 72 5f 20 49 44 2e 00 43 6f 6e 66 69 67 20 4c 6f 61 64 20 54 65 73 74 73 00 43 6f icator_.ID..Config.Load.Tests.Co
10540 6e 66 69 67 20 4d 69 67 72 61 74 69 6f 6e 20 53 63 72 69 70 74 73 00 43 6f 6e 66 69 67 75 72 61 nfig.Migration.Scripts.Configura
10560 74 69 6f 6e 20 45 72 72 6f 72 20 6f 6e 20 53 79 73 74 65 6d 20 42 6f 6f 74 00 43 6f 6e 66 69 67 tion.Error.on.System.Boot.Config
10580 75 72 61 74 69 6f 6e 20 53 63 72 69 70 74 20 53 74 72 75 63 74 75 72 65 20 61 6e 64 20 42 65 68 uration.Script.Structure.and.Beh
105a0 61 76 69 6f 75 72 00 43 6f 6e 73 75 6c 74 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e aviour.Consult.the.documentation
105c0 5f 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 63 6f 6e 66 69 67 _.to.ensure.that.you.have.config
105e0 75 72 65 64 20 79 6f 75 72 20 73 79 73 74 65 6d 20 63 6f 72 72 65 63 74 6c 79 00 43 6f 6e 74 69 ured.your.system.correctly.Conti
10600 6e 75 6f 75 73 20 49 6e 74 65 67 72 61 74 69 6f 6e 00 43 75 73 74 6f 6d 69 7a 65 00 44 48 43 50 nuous.Integration.Customize.DHCP
10620 20 63 6c 69 65 6e 74 20 61 6e 64 20 44 48 43 50 76 36 20 70 72 65 66 69 78 20 64 65 6c 65 67 61 .client.and.DHCPv6.prefix.delega
10640 74 69 6f 6e 00 44 4d 56 50 4e 20 70 61 74 63 68 65 73 20 61 72 65 20 61 64 64 65 64 20 62 79 20 tion.DMVPN.patches.are.added.by.
10660 74 68 69 73 20 63 6f 6d 6d 69 74 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f this.commit:.https://github.com/
10680 76 79 6f 73 2f 76 79 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 2f 63 6f 6d 6d 69 74 2f 31 63 66 31 vyos/vyos-strongswan/commit/1cf1
106a0 32 62 30 66 32 66 39 32 31 62 66 63 35 31 61 66 66 61 33 62 38 31 32 32 36 00 44 65 62 69 61 6e 2b0f2f921bfc51affa3b81226.Debian
106c0 20 41 50 54 20 69 73 20 6e 6f 74 20 76 65 72 79 20 76 65 72 62 6f 73 65 20 77 68 65 6e 20 69 74 .APT.is.not.very.verbose.when.it
106e0 20 63 6f 6d 65 73 20 74 6f 20 65 72 72 6f 72 73 2e 20 49 66 20 79 6f 75 72 20 49 53 4f 20 62 75 .comes.to.errors..If.your.ISO.bu
10700 69 6c 64 20 62 72 65 61 6b 73 20 66 6f 72 20 77 68 61 74 65 76 65 72 20 72 65 61 73 6f 6e 20 61 ild.breaks.for.whatever.reason.a
10720 6e 64 20 79 6f 75 20 73 75 73 70 65 63 74 20 69 74 27 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 nd.you.suspect.it's.a.problem.wi
10740 74 68 20 41 50 54 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 72 20 69 6e 73 74 61 6c 6c 61 74 th.APT.dependencies.or.installat
10760 69 6f 6e 20 79 6f 75 20 63 61 6e 20 61 64 64 20 74 68 69 73 20 73 6d 61 6c 6c 20 70 61 74 63 68 ion.you.can.add.this.small.patch
10780 20 77 68 69 63 68 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 41 50 54 20 76 65 72 62 6f 73 69 .which.increases.the.APT.verbosi
107a0 74 79 20 64 75 72 69 6e 67 20 49 53 4f 20 62 75 69 6c 64 2e 00 44 65 62 69 61 6e 20 42 6f 6f 6b ty.during.ISO.build..Debian.Book
107c0 77 6f 72 6d 20 66 6f 72 20 56 79 4f 53 20 31 2e 34 20 28 73 61 67 69 74 74 61 29 00 44 65 62 69 worm.for.VyOS.1.4.(sagitta).Debi
107e0 61 6e 20 42 6f 6f 6b 77 6f 72 6d 20 66 6f 72 20 74 68 65 20 75 70 63 6f 6d 69 6e 67 20 56 79 4f an.Bookworm.for.the.upcoming.VyO
10800 53 20 31 2e 35 2f 63 69 72 63 69 6e 75 73 2f 63 75 72 72 65 6e 74 20 28 73 75 62 6a 65 63 74 20 S.1.5/circinus/current.(subject.
10820 74 6f 20 63 68 61 6e 67 65 29 20 2d 20 61 6b 61 20 74 68 65 20 72 6f 6c 6c 69 6e 67 20 72 65 6c to.change).-.aka.the.rolling.rel
10840 65 61 73 65 00 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 66 6f 72 20 56 79 4f 53 20 31 2e ease.Debian.Bullseye.for.VyOS.1.
10860 34 20 28 73 61 67 69 74 74 61 29 00 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 66 6f 72 20 4.(sagitta).Debian.Bullseye.for.
10880 56 79 4f 53 20 31 2e 34 20 28 73 61 67 69 74 74 61 2c 20 63 75 72 72 65 6e 74 29 20 2d 20 61 6b VyOS.1.4.(sagitta,.current).-.ak
108a0 61 20 74 68 65 20 72 6f 6c 6c 69 6e 67 20 72 65 6c 65 61 73 65 00 44 65 62 69 61 6e 20 42 75 73 a.the.rolling.release.Debian.Bus
108c0 74 65 72 20 66 6f 72 20 56 79 4f 53 20 31 2e 33 20 28 65 71 75 75 6c 65 75 73 29 00 44 65 62 69 ter.for.VyOS.1.3.(equuleus).Debi
108e0 61 6e 20 4a 65 73 73 69 65 20 66 6f 72 20 56 79 4f 53 20 31 2e 32 20 28 63 72 75 78 29 00 44 65 an.Jessie.for.VyOS.1.2.(crux).De
10900 62 69 61 6e 20 64 6f 65 73 20 6b 65 65 70 20 74 68 65 69 72 20 70 61 63 6b 61 67 65 20 69 6e 20 bian.does.keep.their.package.in.
10920 67 69 74 2c 20 62 75 74 20 69 74 27 73 20 75 70 73 74 72 65 61 6d 20 74 61 72 62 61 6c 6c 20 69 git,.but.it's.upstream.tarball.i
10940 6d 70 6f 72 74 65 64 20 69 6e 74 6f 20 67 69 74 20 77 69 74 68 6f 75 74 20 69 74 73 20 6f 72 69 mported.into.git.without.its.ori
10960 67 69 6e 61 6c 20 63 6f 6d 6d 69 74 20 68 69 73 74 6f 72 79 2e 20 54 6f 20 62 65 20 61 62 6c 65 ginal.commit.history..To.be.able
10980 20 74 6f 20 6d 65 72 67 65 20 6e 65 77 20 74 61 67 73 20 69 6e 2c 20 77 65 20 6b 65 65 70 20 61 .to.merge.new.tags.in,.we.keep.a
109a0 20 66 6f 72 6b 20 6f 66 20 74 68 65 20 75 70 73 74 72 65 61 6d 20 72 65 70 6f 73 69 74 6f 72 79 .fork.of.the.upstream.repository
109c0 20 77 69 74 68 20 70 61 63 6b 61 67 69 6e 67 20 66 69 6c 65 73 20 69 6d 70 6f 72 74 65 64 20 66 .with.packaging.files.imported.f
109e0 72 6f 6d 20 44 65 62 69 61 6e 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d rom.Debian.at.https://github.com
10a00 2f 76 79 6f 73 2f 6b 65 65 70 61 6c 69 76 65 64 2d 75 70 73 74 72 65 61 6d 00 44 65 62 75 67 67 /vyos/keepalived-upstream.Debugg
10a20 69 6e 67 00 44 65 62 75 67 67 69 6e 67 20 50 79 74 68 6f 6e 20 43 6f 64 65 20 77 69 74 68 20 50 ing.Debugging.Python.Code.with.P
10a40 44 42 00 44 65 73 63 72 69 70 74 69 6f 6e 00 44 65 74 65 72 6d 69 6e 69 6e 65 20 73 6f 75 72 63 DB.Description.Determinine.sourc
10a60 65 20 70 61 63 6b 61 67 65 00 44 65 76 65 6c 6f 70 6d 65 6e 74 00 44 6f 20 6e 6f 74 20 61 64 64 e.package.Development.Do.not.add
10a80 20 61 6e 67 6c 65 20 62 72 61 63 6b 65 74 73 20 61 72 6f 75 6e 64 20 74 68 65 20 66 6f 72 6d 61 .angle.brackets.around.the.forma
10aa0 74 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 69 6e 73 65 72 74 65 64 20 61 75 74 6f 6d 61 74 t,.they.will.be.inserted.automat
10ac0 69 63 61 6c 6c 79 00 44 6f 63 6b 65 72 00 44 6f 63 6b 65 72 68 75 62 00 44 6f 69 6e 67 20 73 6f ically.Docker.Dockerhub.Doing.so
10ae0 20 67 72 61 6e 74 73 20 70 72 69 76 69 6c 65 67 65 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f .grants.privileges.equivalent.to
10b00 20 74 68 65 20 60 60 72 6f 6f 74 60 60 20 75 73 65 72 21 20 49 74 20 69 73 20 72 65 63 6f 6d 6d .the.``root``.user!.It.is.recomm
10b20 65 6e 64 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 6e 6f 6e 2d 72 6f 6f 74 20 75 73 65 ended.to.remove.the.non-root.use
10b40 72 20 66 72 6f 6d 20 74 68 65 20 60 60 64 6f 63 6b 65 72 60 60 20 67 72 6f 75 70 20 61 66 74 65 r.from.the.``docker``.group.afte
10b60 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 56 79 4f 53 20 49 53 4f 2e 20 53 65 65 20 61 6c 73 r.building.the.VyOS.ISO..See.als
10b80 6f 20 60 44 6f 63 6b 65 72 20 61 73 20 6e 6f 6e 2d 72 6f 6f 74 60 5f 2e 00 44 75 65 20 74 6f 20 o.`Docker.as.non-root`_..Due.to.
10ba0 69 73 73 75 65 73 20 69 6e 20 74 68 65 20 75 70 73 74 72 65 61 6d 20 76 65 72 73 69 6f 6e 20 74 issues.in.the.upstream.version.t
10bc0 68 61 74 20 73 6f 6d 65 74 69 6d 65 73 20 73 65 74 20 69 6e 74 65 72 66 61 63 65 73 20 64 6f 77 hat.sometimes.set.interfaces.dow
10be0 6e 2c 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 69 73 20 75 73 65 64 2e 00 44 n,.a.modified.version.is.used..D
10c00 75 65 20 74 6f 20 74 68 65 20 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 44 6f 63 ue.to.the.updated.version.of.Doc
10c20 6b 65 72 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 73 20 6d 61 79 20 ker,.the.following.examples.may.
10c40 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 2e 00 44 75 72 69 6e 67 20 74 68 65 20 6d 69 67 72 61 become.invalid..During.the.migra
10c60 74 69 6f 6e 20 61 6e 64 20 65 78 74 65 6e 73 69 76 65 20 72 65 77 72 69 74 65 20 6f 66 20 66 75 tion.and.extensive.rewrite.of.fu
10c80 6e 63 74 69 6f 6e 61 6c 69 74 79 20 66 72 6f 6d 20 50 65 72 6c 20 69 6e 74 6f 20 50 79 74 68 6f nctionality.from.Perl.into.Pytho
10ca0 6e 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 20 69 6e 63 72 65 61 73 65 20 69 6e 20 74 68 65 20 n.a.significant.increase.in.the.
10cc0 6f 76 65 72 61 6c 6c 20 73 79 73 74 65 6d 20 62 6f 6f 74 74 69 6d 65 20 77 61 73 20 6e 6f 74 69 overall.system.boottime.was.noti
10ce0 63 65 64 2e 20 54 68 65 20 73 79 73 74 65 6d 20 62 6f 6f 74 20 74 69 6d 65 20 63 61 6e 20 62 65 ced..The.system.boot.time.can.be
10d00 20 61 6e 61 6c 79 73 65 64 20 61 6e 64 20 61 20 67 72 61 70 68 20 63 61 6e 20 62 65 20 67 65 6e .analysed.and.a.graph.can.be.gen
10d20 65 72 61 74 65 64 20 69 6e 20 74 68 65 20 65 6e 64 20 77 68 69 63 68 20 73 68 6f 77 73 20 69 6e erated.in.the.end.which.shows.in
10d40 20 64 65 74 61 69 6c 20 77 68 6f 20 63 61 6c 6c 65 64 20 77 68 6f 6d 20 64 75 72 69 6e 67 20 74 .detail.who.called.whom.during.t
10d60 68 65 20 73 79 73 74 65 6d 20 73 74 61 72 74 75 70 20 70 68 61 73 65 2e 00 45 61 63 68 20 6d 6f he.system.startup.phase..Each.mo
10d80 64 75 6c 65 20 69 73 20 62 75 69 6c 64 20 6f 6e 20 64 65 6d 61 6e 64 20 69 66 20 61 20 6e 65 77 dule.is.build.on.demand.if.a.new
10da0 20 63 6f 6d 6d 69 74 20 6f 6e 20 74 68 65 20 62 72 61 6e 63 68 20 69 6e 20 71 75 65 73 74 69 6f .commit.on.the.branch.in.questio
10dc0 6e 20 69 73 20 66 6f 75 6e 64 2e 20 41 66 74 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 n.is.found..After.a.successful.r
10de0 75 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 44 65 62 69 61 6e 20 50 61 63 6b 61 67 65 28 un.the.resulting.Debian.Package(
10e00 73 29 20 77 69 6c 6c 20 62 65 20 64 65 70 6c 6f 79 65 64 20 74 6f 20 6f 75 72 20 44 65 62 69 61 s).will.be.deployed.to.our.Debia
10e20 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 64 75 72 69 6e n.repository.which.is.used.durin
10e40 67 20 62 75 69 6c 64 20 74 69 6d 65 2e 20 49 74 20 69 73 20 6c 6f 63 61 74 65 64 20 68 65 72 65 g.build.time..It.is.located.here
10e60 3a 20 68 74 74 70 3a 2f 2f 64 65 76 2e 70 61 63 6b 61 67 65 73 2e 76 79 6f 73 2e 6e 65 74 2f 72 :.http://dev.packages.vyos.net/r
10e80 65 70 6f 73 69 74 6f 72 69 65 73 2f 2e 00 45 61 63 68 20 6f 66 20 74 68 6f 73 65 20 6d 6f 64 75 epositories/..Each.of.those.modu
10ea0 6c 65 73 20 68 6f 6c 64 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 6b 65 les.holds.a.dependency.on.the.ke
10ec0 72 6e 65 6c 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 69 66 20 79 6f 75 20 61 72 65 20 6c 75 63 6b rnel.version.and.if.you.are.luck
10ee0 79 20 65 6e 6f 75 67 68 20 74 6f 20 72 65 63 65 69 76 65 20 61 6e 20 49 53 4f 20 62 75 69 6c 64 y.enough.to.receive.an.ISO.build
10f00 20 65 72 72 6f 72 20 77 68 69 63 68 20 73 6f 75 6e 64 73 20 6c 69 6b 65 3a 00 45 6e 61 62 6c 65 .error.which.sounds.like:.Enable
10f20 64 2f 44 69 73 61 62 6c 65 64 00 45 6e 73 75 72 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 d/Disabled.Ensure.the.problem.is
10f40 20 72 65 70 72 6f 64 75 63 69 62 6c 65 00 45 76 65 72 79 20 63 68 61 6e 67 65 20 73 65 74 20 6d .reproducible.Every.change.set.m
10f60 75 73 74 20 62 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 28 73 65 6c 66 20 63 6f 6e 74 61 69 6e 69 ust.be.consistent.(self.containi
10f80 6e 67 29 21 20 44 6f 20 6e 6f 74 20 66 69 78 20 6d 75 6c 74 69 70 6c 65 20 62 75 67 73 20 69 6e ng)!.Do.not.fix.multiple.bugs.in
10fa0 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 69 74 2e 20 49 66 20 79 6f 75 20 61 6c 72 65 61 64 79 .a.single.commit..If.you.already
10fc0 20 77 6f 72 6b 65 64 20 6f 6e 20 6d 75 6c 74 69 70 6c 65 20 66 69 78 65 73 20 69 6e 20 74 68 65 .worked.on.multiple.fixes.in.the
10fe0 20 73 61 6d 65 20 66 69 6c 65 20 75 73 65 20 60 67 69 74 20 61 64 64 20 2d 2d 70 61 74 63 68 60 .same.file.use.`git.add.--patch`
11000 20 74 6f 20 6f 6e 6c 79 20 61 64 64 20 74 68 65 20 70 61 72 74 73 20 72 65 6c 61 74 65 64 20 74 .to.only.add.the.parts.related.t
11020 6f 20 74 68 65 20 6f 6e 65 20 69 73 73 75 65 20 69 6e 74 6f 20 79 6f 75 72 20 75 70 63 6f 6d 69 o.the.one.issue.into.your.upcomi
11040 6e 67 20 63 6f 6d 6d 69 74 2e 00 45 78 61 6d 70 6c 65 3a 00 45 78 61 6d 70 6c 65 73 3a 00 45 78 ng.commit..Example:.Examples:.Ex
11060 63 65 70 74 69 6f 6e 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 60 60 56 79 4f 53 45 72 72 6f 72 60 ceptions,.including.``VyOSError`
11080 60 20 28 77 68 69 63 68 20 69 73 20 72 61 69 73 65 64 20 62 79 20 60 60 76 79 6f 73 2e 63 6f 6e `.(which.is.raised.by.``vyos.con
110a0 66 69 67 2e 43 6f 6e 66 69 67 60 60 20 6f 6e 20 69 6d 70 72 6f 70 65 72 20 63 6f 6e 66 69 67 20 fig.Config``.on.improper.config.
110c0 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 74 72 79 69 6e 67 20 74 6f 20 75 73 operations,.such.as.trying.to.us
110e0 65 20 60 60 6c 69 73 74 5f 6e 6f 64 65 73 28 29 60 60 20 6f 6e 20 61 20 6e 6f 6e 2d 74 61 67 20 e.``list_nodes()``.on.a.non-tag.
11100 6e 6f 64 65 29 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 69 6c 65 6e 63 65 64 20 6f 72 20 node).should.not.be.silenced.or.
11120 63 61 75 67 68 74 20 61 6e 64 20 72 65 2d 72 61 69 73 65 64 20 61 73 20 63 6f 6e 66 69 67 20 65 caught.and.re-raised.as.config.e
11140 72 72 6f 72 2e 20 53 75 72 65 20 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 6c 6f 6f 6b 20 70 72 rror..Sure.this.will.not.look.pr
11160 65 74 74 79 20 6f 6e 20 75 73 65 72 27 73 20 73 63 72 65 65 6e 2c 20 62 75 74 20 69 74 20 77 69 etty.on.user's.screen,.but.it.wi
11180 6c 6c 20 6d 61 6b 65 20 77 61 79 20 62 65 74 74 65 72 20 62 75 67 20 72 65 70 6f 72 74 73 2c 20 ll.make.way.better.bug.reports,.
111a0 61 6e 64 20 68 65 6c 70 20 75 73 65 72 73 20 28 61 6e 64 20 6d 6f 73 74 20 56 79 4f 53 20 75 73 and.help.users.(and.most.VyOS.us
111c0 65 72 73 20 61 72 65 20 49 54 20 70 72 6f 66 65 73 73 69 6f 6e 61 6c 73 29 20 64 6f 20 74 68 65 ers.are.IT.professionals).do.the
111e0 69 72 20 6f 77 6e 20 64 65 62 75 67 67 69 6e 67 20 61 73 20 77 65 6c 6c 2e 00 45 78 70 6f 72 74 ir.own.debugging.as.well..Export
11200 20 6c 61 73 74 20 63 6f 6d 6d 69 74 20 74 6f 20 70 61 74 63 68 20 66 69 6c 65 3a 20 60 60 67 69 .last.commit.to.patch.file:.``gi
11220 74 20 66 6f 72 6d 61 74 2d 70 61 74 63 68 60 60 20 6f 72 20 65 78 70 6f 72 74 20 74 68 65 20 6c t.format-patch``.or.export.the.l
11240 61 73 74 20 74 77 6f 20 63 6f 6d 6d 69 74 73 20 69 6e 74 6f 20 69 74 73 20 61 70 70 72 6f 70 72 ast.two.commits.into.its.appropr
11260 69 61 74 65 20 70 61 74 63 68 20 66 69 6c 65 73 3a 20 60 60 67 69 74 20 66 6f 72 6d 61 74 2d 70 iate.patch.files:.``git.format-p
11280 61 74 63 68 20 2d 32 60 60 00 45 78 74 65 72 6e 61 6c 20 61 72 69 74 68 6d 65 74 69 63 20 76 61 atch.-2``.External.arithmetic.va
112a0 6c 69 64 61 74 6f 72 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 69 66 20 74 68 65 72 65 27 73 20 lidator.may.be.added.if.there's.
112c0 64 65 6d 61 6e 64 2c 20 63 6f 6d 70 6c 65 78 20 76 61 6c 69 64 61 74 69 6f 6e 20 69 73 20 62 65 demand,.complex.validation.is.be
112e0 74 74 65 72 20 6c 65 66 74 20 74 6f 20 63 6f 6d 6d 69 74 2d 74 69 6d 65 20 73 63 72 69 70 74 73 tter.left.to.commit-time.scripts
11300 00 46 52 52 00 46 65 61 74 75 72 65 20 52 65 71 75 65 73 74 00 46 69 72 6d 77 61 72 65 00 46 69 .FRR.Feature.Request.Firmware.Fi
11320 72 73 74 2c 20 63 6c 6f 6e 65 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 63 rst,.clone.the.source.code.and.c
11340 68 65 63 6b 20 6f 75 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 65 72 73 69 6f 6e heck.out.the.appropriate.version
11360 20 62 79 20 72 75 6e 6e 69 6e 67 3a 00 46 6f 6c 6c 6f 77 20 74 68 65 20 61 62 6f 76 65 20 73 74 .by.running:.Follow.the.above.st
11380 65 70 73 20 6f 6e 20 68 6f 77 20 74 6f 20 22 46 6f 72 6b 20 72 65 70 6f 73 69 74 6f 72 79 20 74 eps.on.how.to."Fork.repository.t
113a0 6f 20 73 75 62 6d 69 74 20 61 20 50 61 74 63 68 22 2e 20 49 6e 73 74 65 61 64 20 6f 66 20 75 70 o.submit.a.Patch"..Instead.of.up
113c0 6c 6f 61 64 69 6e 67 20 22 70 75 73 68 69 6e 67 22 20 79 6f 75 72 20 63 68 61 6e 67 65 73 20 74 loading."pushing".your.changes.t
113e0 6f 20 47 69 74 48 75 62 20 79 6f 75 20 63 61 6e 20 65 78 70 6f 72 74 20 74 68 65 20 70 61 74 63 o.GitHub.you.can.export.the.patc
11400 68 65 73 2f 20 63 6f 6d 6d 69 74 73 20 61 6e 64 20 73 65 6e 64 20 69 74 20 74 6f 20 6d 61 69 6e hes/.commits.and.send.it.to.main
11420 74 61 69 6e 65 72 73 40 76 79 6f 73 2e 6e 65 74 20 6f 72 20 61 74 74 61 63 68 20 69 74 20 64 69 tainers@vyos.net.or.attach.it.di
11440 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 62 75 67 20 28 70 72 65 66 65 72 72 65 64 20 6f 76 65 rectly.to.the.bug.(preferred.ove
11460 72 20 65 6d 61 69 6c 29 00 46 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 65 73 73 61 67 65 20 77 r.email).Followed.by.a.message.w
11480 68 69 63 68 20 64 65 73 63 72 69 62 65 73 20 61 6c 6c 20 74 68 65 20 64 65 74 61 69 6c 73 20 6c hich.describes.all.the.details.l
114a0 69 6b 65 3a 00 46 6f 72 20 65 61 63 68 20 66 65 61 74 75 72 65 2c 20 61 20 66 69 6c 65 20 63 61 ike:.For.each.feature,.a.file.ca
114c0 6c 6c 65 64 20 60 60 76 79 6f 73 2e 66 65 61 74 75 72 65 2e 64 65 62 75 67 60 60 20 63 61 6e 20 lled.``vyos.feature.debug``.can.
114e0 62 65 20 63 72 65 61 74 65 64 20 74 6f 20 74 6f 67 67 6c 65 20 74 68 65 20 66 65 61 74 75 72 65 be.created.to.toggle.the.feature
11500 20 6f 6e 2e 20 49 66 20 61 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 72 65 71 75 69 72 65 64 20 .on..If.a.parameter.is.required.
11520 69 74 20 63 61 6e 20 62 65 20 70 6c 61 63 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 66 69 6c 65 it.can.be.placed.inside.the.file
11540 20 61 73 20 69 74 73 20 66 69 72 73 74 20 6c 69 6e 65 2e 00 46 6f 72 20 65 61 73 79 20 6f 72 69 .as.its.first.line..For.easy.ori
11560 65 6e 74 61 74 69 6f 6e 20 77 65 20 73 75 67 67 65 73 74 20 79 6f 75 20 74 61 6b 65 20 61 20 6c entation.we.suggest.you.take.a.l
11580 6f 6f 6b 20 6f 6e 20 74 68 65 20 60 60 6e 74 70 2e 70 79 60 60 20 6f 72 20 60 60 69 6e 74 65 72 ook.on.the.``ntp.py``.or.``inter
115a0 66 61 63 65 73 2d 62 6f 6e 64 69 6e 67 2e 70 79 60 60 20 28 66 6f 72 20 74 61 67 20 6e 6f 64 65 faces-bonding.py``.(for.tag.node
115c0 73 29 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 42 6f 74 68 20 66 69 6c 65 73 20 63 61 s).implementation..Both.files.ca
115e0 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 76 79 6f 73 2d 31 78 5f 20 72 65 70 6f 73 n.be.found.in.the.vyos-1x_.repos
11600 69 74 6f 72 79 2e 00 46 6f 72 20 65 78 61 6d 70 6c 65 20 72 75 6e 6e 69 6e 67 2c 20 60 60 65 78 itory..For.example.running,.``ex
11620 70 6f 72 74 20 56 59 4f 53 5f 49 46 43 4f 4e 46 49 47 5f 44 45 42 55 47 3d 22 22 60 60 20 6f 6e port.VYOS_IFCONFIG_DEBUG=""``.on
11640 20 79 6f 75 72 20 76 62 61 73 68 2c 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 .your.vbash,.will.have.the.same.
11660 65 66 66 65 63 74 20 61 73 20 60 60 74 6f 75 63 68 20 2f 74 6d 70 2f 76 79 6f 73 2e 69 66 63 6f effect.as.``touch./tmp/vyos.ifco
11680 6e 66 69 67 2e 64 65 62 75 67 60 60 2e 00 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 60 60 2f 74 6d nfig.debug``..For.example,.``/tm
116a0 70 2f 76 79 6f 73 2e 69 66 63 6f 6e 66 69 67 2e 64 65 62 75 67 60 60 20 63 61 6e 20 62 65 20 63 p/vyos.ifconfig.debug``.can.be.c
116c0 72 65 61 74 65 64 20 74 6f 20 65 6e 61 62 6c 65 20 69 6e 74 65 72 66 61 63 65 20 64 65 62 75 67 reated.to.enable.interface.debug
116e0 67 69 6e 67 2e 00 46 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 72 65 71 75 69 72 65 64 2c ging..For.the.packages.required,
11700 20 79 6f 75 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 60 60 64 6f 63 6b 65 72 2f 44 .you.can.refer.to.the.``docker/D
11720 6f 63 6b 65 72 66 69 6c 65 60 60 20 66 69 6c 65 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f ockerfile``.file.in.the.reposito
11740 72 79 5f 2e 20 54 68 65 20 60 60 2e 2f 62 75 69 6c 64 2d 76 79 6f 73 2d 69 6d 61 67 65 60 60 20 ry_..The.``./build-vyos-image``.
11760 73 63 72 69 70 74 20 77 69 6c 6c 20 61 6c 73 6f 20 77 61 72 6e 20 79 6f 75 20 69 66 20 61 6e 79 script.will.also.warn.you.if.any
11780 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 20 6d 69 73 73 69 6e 67 2e 00 46 6f 72 6b 20 .dependencies.are.missing..Fork.
117a0 52 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 73 75 62 6d 69 74 20 50 61 74 63 68 00 46 6f 72 6b Repository.and.submit.Patch.Fork
117c0 3a 20 60 60 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 6d 79 66 6f 72 6b 20 68 74 74 70 73 3a :.``git.remote.add.myfork.https:
117e0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 3c 75 73 65 72 3e 2f 76 79 6f 73 2d 31 78 2e 67 69 74 60 //github.com/<user>/vyos-1x.git`
11800 60 00 46 6f 72 6b 69 6e 67 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 73 75 62 `.Forking.the.repository.and.sub
11820 6d 69 74 74 69 6e 67 20 61 20 47 69 74 48 75 62 20 70 75 6c 6c 2d 72 65 71 75 65 73 74 20 69 73 mitting.a.GitHub.pull-request.is
11840 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 6f 66 20 73 75 62 6d 69 74 74 69 6e 67 .the.preferred.way.of.submitting
11860 20 79 6f 75 72 20 63 68 61 6e 67 65 73 20 74 6f 20 56 79 4f 53 2e 20 59 6f 75 20 63 61 6e 20 66 .your.changes.to.VyOS..You.can.f
11880 6f 72 6b 20 61 6e 79 20 56 79 4f 53 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 ork.any.VyOS.repository.to.your.
118a0 76 65 72 79 20 6f 77 6e 20 47 69 74 48 75 62 20 61 63 63 6f 75 6e 74 20 62 79 20 6a 75 73 74 20 very.own.GitHub.account.by.just.
118c0 61 70 70 65 6e 64 69 6e 67 20 60 60 2f 66 6f 72 6b 60 60 20 74 6f 20 61 6e 79 20 72 65 70 6f 73 appending.``/fork``.to.any.repos
118e0 69 74 6f 72 79 27 73 20 55 52 4c 20 6f 6e 20 47 69 74 48 75 62 2e 20 54 6f 20 65 2e 67 2e 20 66 itory's.URL.on.GitHub..To.e.g..f
11900 6f 72 6b 20 74 68 65 20 60 60 76 79 6f 73 2d 31 78 60 60 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 ork.the.``vyos-1x``.repository,.
11920 6f 70 65 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 52 4c 20 69 6e 20 79 6f 75 72 20 66 open.the.following.URL.in.your.f
11940 61 76 6f 75 72 69 74 65 20 62 72 6f 77 73 65 72 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 avourite.browser:.https://github
11960 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 31 78 2f 66 6f 72 6b 00 46 6f 72 6d 61 74 74 69 6e .com/vyos/vyos-1x/fork.Formattin
11980 67 00 47 4e 55 20 50 72 65 70 72 6f 63 65 73 73 6f 72 00 47 65 74 20 63 6f 6d 6d 75 6e 69 74 79 g.GNU.Preprocessor.Get.community
119a0 20 73 75 70 70 6f 72 74 20 76 69 61 20 53 6c 61 63 6b 5f 20 6f 72 20 6f 75 72 20 46 6f 72 75 6d .support.via.Slack_.or.our.Forum
119c0 5f 00 47 6f 6f 64 20 6c 75 63 6b 21 00 47 6f 6f 64 3a 20 22 44 69 73 61 62 6c 65 20 49 50 76 36 _.Good.luck!.Good:."Disable.IPv6
119e0 20 66 6f 72 77 61 72 64 69 6e 67 22 00 47 6f 6f 64 3a 20 22 46 72 6f 62 6e 69 63 61 74 69 6f 6e .forwarding".Good:."Frobnication
11a00 20 61 6c 67 6f 72 69 74 68 6d 22 00 47 6f 6f 64 3a 20 22 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f .algorithm".Good:."TCP.connectio
11a20 6e 20 74 69 6d 65 6f 75 74 22 00 47 6f 6f 64 3a 20 50 50 50 6f 45 2c 20 49 50 73 65 63 00 47 6f n.timeout".Good:.PPPoE,.IPsec.Go
11a40 6f 64 3a 20 52 41 44 49 55 53 20 28 61 73 20 69 6e 20 72 65 6d 6f 74 65 20 61 75 74 68 65 6e 74 od:.RADIUS.(as.in.remote.authent
11a60 69 63 61 74 69 6f 6e 20 66 6f 72 20 64 69 61 6c 2d 69 6e 20 75 73 65 72 20 73 65 72 76 69 63 65 ication.for.dial-in.user.service
11a80 73 29 00 47 75 69 64 65 6c 69 6e 65 73 00 48 65 6c 70 20 53 74 72 69 6e 67 00 48 65 6c 70 20 66 s).Guidelines.Help.String.Help.f
11aa0 75 74 75 72 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 6f 66 20 56 79 4f 53 20 28 69 74 20 63 6f uture.maintainers.of.VyOS.(it.co
11ac0 75 6c 64 20 62 65 20 79 6f 75 21 29 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 68 79 20 63 65 72 uld.be.you!).to.find.out.why.cer
11ae0 74 61 69 6e 20 74 68 69 6e 67 73 20 68 61 76 65 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 69 6e tain.things.have.been.changed.in
11b00 20 74 68 65 20 63 6f 64 65 62 61 73 65 20 6f 72 20 77 68 79 20 63 65 72 74 61 69 6e 20 66 65 61 .the.codebase.or.why.certain.fea
11b20 74 75 72 65 73 20 68 61 76 65 20 62 65 65 6e 20 61 64 64 65 64 00 48 6f 72 72 69 62 6c 65 3a 20 tures.have.been.added.Horrible:.
11b40 22 54 63 70 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d 65 6f 75 74 22 00 48 6f 72 72 69 62 6c "Tcp.connection.timeout".Horribl
11b60 65 3a 20 22 66 72 6f 62 6e 69 63 61 74 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 2e 22 00 48 6f 77 e:."frobnication.algorithm.".How
11b80 20 63 61 6e 20 77 65 20 72 65 70 72 6f 64 75 63 65 20 74 68 69 73 20 42 75 67 3f 00 49 20 68 61 .can.we.reproduce.this.Bug?.I.ha
11ba0 76 65 20 66 6f 75 6e 64 20 61 20 62 75 67 2c 20 77 68 61 74 20 73 68 6f 75 6c 64 20 49 20 64 6f ve.found.a.bug,.what.should.I.do
11bc0 3f 00 49 50 20 61 6e 64 20 49 50 76 36 20 6f 70 74 69 6f 6e 73 00 49 53 4f 20 42 75 69 6c 64 20 ?.IP.and.IPv6.options.ISO.Build.
11be0 49 73 73 75 65 73 00 49 53 4f 20 69 6d 61 67 65 20 62 75 69 6c 64 00 49 66 20 61 20 76 65 72 62 Issues.ISO.image.build.If.a.verb
11c00 20 69 73 20 65 73 73 65 6e 74 69 61 6c 2c 20 6b 65 65 70 20 69 74 2e 20 46 6f 72 20 65 78 61 6d .is.essential,.keep.it..For.exam
11c20 70 6c 65 2c 20 69 6e 20 74 68 65 20 68 65 6c 70 20 74 65 78 74 20 6f 66 20 60 60 73 65 74 20 73 ple,.in.the.help.text.of.``set.s
11c40 79 73 74 65 6d 20 69 70 76 36 20 64 69 73 61 62 6c 65 2d 66 6f 72 77 61 72 64 69 6e 67 60 60 2c ystem.ipv6.disable-forwarding``,
11c60 20 22 44 69 73 61 62 6c 65 20 49 50 76 36 20 66 6f 72 77 61 72 64 69 6e 67 20 6f 6e 20 61 6c 6c ."Disable.IPv6.forwarding.on.all
11c80 20 69 6e 74 65 72 66 61 63 65 73 22 20 69 73 20 61 20 70 65 72 66 65 63 74 6c 79 20 6a 75 73 74 .interfaces".is.a.perfectly.just
11ca0 69 66 69 65 64 20 77 6f 72 64 69 6e 67 2e 00 49 66 20 61 70 70 6c 69 63 61 62 6c 65 20 61 20 72 ified.wording..If.applicable.a.r
11cc0 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 6d 69 74 20 73 68 eference.to.a.previous.commit.sh
11ce0 6f 75 6c 64 20 62 65 20 6d 61 64 65 20 6c 69 6e 6b 69 6e 67 20 74 68 6f 73 65 20 63 6f 6d 6d 69 ould.be.made.linking.those.commi
11d00 74 73 20 6e 69 63 65 6c 79 20 77 68 65 6e 20 62 72 6f 77 73 69 6e 67 20 74 68 65 20 68 69 73 74 ts.nicely.when.browsing.the.hist
11d20 6f 72 79 3a 20 60 60 41 66 74 65 72 20 63 6f 6d 6d 69 74 20 61 62 63 64 31 32 65 66 20 28 22 73 ory:.``After.commit.abcd12ef.("s
11d40 6e 6d 70 3a 20 74 68 69 73 20 69 73 20 61 20 68 65 61 64 6c 69 6e 65 22 29 20 61 20 50 79 74 68 nmp:.this.is.a.headline").a.Pyth
11d60 6f 6e 20 69 6d 70 6f 72 74 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6d 69 73 73 69 6e 67 2c 20 on.import.statement.is.missing,.
11d80 74 68 72 6f 77 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e throwing.the.following.exception
11da0 3a 20 41 42 43 44 45 46 60 60 00 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 50 68 61 62 72 69 :.ABCDEF``.If.there.is.no.Phabri
11dc0 63 61 74 6f 72 5f 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 74 68 65 20 63 6f 6d 6d 69 74 73 20 cator_.reference.in.the.commits.
11de0 6f 66 20 79 6f 75 72 20 70 75 6c 6c 20 72 65 71 75 65 73 74 2c 20 77 65 20 68 61 76 65 20 74 6f of.your.pull.request,.we.have.to
11e00 20 61 73 6b 20 79 6f 75 20 74 6f 20 61 6d 65 6e 64 20 74 68 65 20 63 6f 6d 6d 69 74 20 6d 65 73 .ask.you.to.amend.the.commit.mes
11e20 73 61 67 65 2e 20 4f 74 68 65 72 77 69 73 65 20 77 65 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 sage..Otherwise.we.will.have.to.
11e40 72 65 6a 65 63 74 20 69 74 2e 00 49 66 20 79 6f 75 20 61 72 65 20 62 72 61 76 65 20 65 6e 6f 75 reject.it..If.you.are.brave.enou
11e60 67 68 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 73 65 6c 66 20 61 6e 20 49 53 4f 20 69 6d 61 67 gh.to.build.yourself.an.ISO.imag
11e80 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 79 20 6d 6f 64 69 66 69 65 64 20 70 61 63 6b 61 67 e.containing.any.modified.packag
11ea0 65 20 66 72 6f 6d 20 6f 75 72 20 47 69 74 48 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 20 2d e.from.our.GitHub.organisation.-
11ec0 20 74 68 69 73 20 69 73 20 74 68 65 20 70 6c 61 63 65 20 74 6f 20 62 65 2e 00 49 66 20 79 6f 75 .this.is.the.place.to.be..If.you
11ee0 20 75 70 67 72 61 64 65 20 79 6f 75 72 20 6b 65 72 6e 65 6c 20 6f 72 20 69 6e 63 6c 75 64 65 20 .upgrade.your.kernel.or.include.
11f00 6e 65 77 20 64 72 69 76 65 72 73 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 6e 65 77 20 66 69 72 new.drivers.you.may.need.new.fir
11f20 6d 77 61 72 65 2e 20 42 75 69 6c 64 20 61 20 6e 65 77 20 60 60 76 79 6f 73 2d 6c 69 6e 75 78 2d mware..Build.a.new.``vyos-linux-
11f40 66 69 72 6d 77 61 72 65 60 60 20 70 61 63 6b 61 67 65 20 77 69 74 68 20 74 68 65 20 69 6e 63 6c firmware``.package.with.the.incl
11f60 75 64 65 64 20 68 65 6c 70 65 72 20 73 63 72 69 70 74 73 2e 00 49 6e 20 61 20 62 69 67 20 73 79 uded.helper.scripts..In.a.big.sy
11f80 73 74 65 6d 2c 20 73 75 63 68 20 61 73 20 56 79 4f 53 2c 20 74 68 61 74 20 69 73 20 63 6f 6d 70 stem,.such.as.VyOS,.that.is.comp
11fa0 72 69 73 65 64 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 2c 20 69 74 rised.of.multiple.components,.it
11fc0 27 73 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 61 's.impossible.to.keep.track.of.a
11fe0 6c 6c 20 74 68 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 62 75 67 73 2f 66 65 61 74 75 72 65 20 ll.the.changes.and.bugs/feature.
12000 72 65 71 75 65 73 74 73 20 69 6e 20 6f 6e 65 27 73 20 68 65 61 64 2e 20 57 65 20 75 73 65 20 61 requests.in.one's.head..We.use.a
12020 20 62 75 67 74 72 61 63 6b 65 72 20 6b 6e 6f 77 6e 20 61 73 20 50 68 61 62 72 69 63 61 74 6f 72 .bugtracker.known.as.Phabricator
12040 5f 20 66 6f 72 20 69 74 20 28 22 69 73 73 75 65 20 74 72 61 63 6b 65 72 22 20 77 6f 75 6c 64 20 _.for.it.("issue.tracker".would.
12060 62 65 20 61 20 62 65 74 74 65 72 20 74 65 72 6d 2c 20 62 75 74 20 74 68 69 73 20 6f 6e 65 20 73 be.a.better.term,.but.this.one.s
12080 74 75 63 6b 29 2e 00 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 68 69 73 20 61 6c 73 6f 20 68 65 6c tuck)..In.addition.this.also.hel
120a0 70 73 20 77 68 65 6e 20 62 72 6f 77 73 69 6e 67 20 74 68 65 20 47 69 74 48 75 62 20 63 6f 64 65 ps.when.browsing.the.GitHub.code
120c0 62 61 73 65 20 6f 6e 20 61 20 6d 6f 62 69 6c 65 20 64 65 76 69 63 65 20 69 66 20 79 6f 75 20 68 base.on.a.mobile.device.if.you.h
120e0 61 70 70 65 6e 20 74 6f 20 62 65 20 61 20 63 72 61 7a 79 20 73 63 69 65 6e 74 69 73 74 2e 00 49 appen.to.be.a.crazy.scientist..I
12100 6e 20 6f 72 64 65 72 20 74 6f 20 6f 70 65 6e 20 75 70 20 61 20 62 75 67 2d 72 65 70 6f 72 74 2f n.order.to.open.up.a.bug-report/
12120 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 72 65 61 feature.request.you.need.to.crea
12140 74 65 20 79 6f 75 72 73 65 6c 66 20 61 6e 20 61 63 63 6f 75 6e 74 20 6f 6e 20 56 79 4f 53 20 50 te.yourself.an.account.on.VyOS.P
12160 68 61 62 72 69 63 61 74 6f 72 5f 2e 20 4f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 6f 66 habricator_..On.the.left.side.of
12180 20 74 68 65 20 73 70 65 63 69 66 69 63 20 70 72 6f 6a 65 63 74 20 28 56 79 4f 53 20 31 2e 32 20 .the.specific.project.(VyOS.1.2.
121a0 6f 72 20 56 79 4f 53 20 31 2e 33 29 20 79 6f 75 20 77 69 6c 6c 20 66 69 6e 64 20 71 75 69 63 6b or.VyOS.1.3).you.will.find.quick
121c0 2d 6c 69 6e 6b 73 20 66 6f 72 20 6f 70 65 6e 69 6e 67 20 61 20 62 75 67 2d 72 65 70 6f 72 74 2f -links.for.opening.a.bug-report/
121e0 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 2e 00 49 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 feature.request..In.order.to.rec
12200 6f 72 64 20 79 6f 75 20 61 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 74 68 65 20 66 69 78 ord.you.as.the.author.of.the.fix
12220 20 70 6c 65 61 73 65 20 69 64 65 6e 74 69 66 79 20 79 6f 75 72 73 65 6c 66 20 74 6f 20 47 69 74 .please.identify.yourself.to.Git
12240 20 62 79 20 73 65 74 74 69 6e 67 20 75 70 20 79 6f 75 72 20 6e 61 6d 65 20 61 6e 64 20 65 6d 61 .by.setting.up.your.name.and.ema
12260 69 6c 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 6c 6f 63 61 6c 20 66 6f 72 20 74 il..This.can.be.done.local.for.t
12280 68 69 73 20 6f 6e 65 20 61 6e 64 20 6f 6e 6c 79 20 72 65 70 6f 73 69 74 6f 72 79 20 60 60 67 69 his.one.and.only.repository.``gi
122a0 74 20 63 6f 6e 66 69 67 60 60 20 6f 72 20 67 6c 6f 62 61 6c 6c 79 20 75 73 69 6e 67 20 60 60 67 t.config``.or.globally.using.``g
122c0 69 74 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 60 60 2e 00 49 6e 20 6f 72 64 65 72 20 74 it.config.--global``..In.order.t
122e0 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 20 64 65 62 75 67 20 6f 75 74 70 75 74 20 6f 6e 20 74 o.retrieve.the.debug.output.on.t
12300 68 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 64 69 73 61 he.command-line.you.need.to.disa
12320 62 6c 65 20 60 60 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 20 69 6e 20 61 64 64 69 74 69 6f 6e ble.``vyos-configd``.in.addition
12340 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 72 75 6e 20 65 69 74 68 65 72 20 6f 6e 65 2d 74 69 6d ..This.can.be.run.either.one-tim
12360 65 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 73 75 64 6f 20 73 79 73 74 65 6d 63 74 6c 20 73 74 e.by.calling.``sudo.systemctl.st
12380 6f 70 20 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 20 6f 72 20 6d 61 6b 65 20 74 68 69 73 20 72 op.vyos-configd``.or.make.this.r
123a0 65 62 6f 6f 74 2d 73 61 66 65 20 62 79 20 63 61 6c 6c 69 6e 67 20 60 60 73 75 64 6f 20 73 79 73 eboot-safe.by.calling.``sudo.sys
123c0 74 65 6d 63 74 6c 20 64 69 73 61 62 6c 65 20 76 79 6f 73 2d 63 6f 6e 66 69 67 64 60 60 2e 00 49 temctl.disable.vyos-configd``..I
123e0 6e 20 73 6f 6d 65 20 63 6f 6e 74 65 78 74 73 2c 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 n.some.contexts,.the.first.line.
12400 69 73 20 74 72 65 61 74 65 64 20 61 73 20 74 68 65 20 73 75 62 6a 65 63 74 20 6f 66 20 61 6e 20 is.treated.as.the.subject.of.an.
12420 65 6d 61 69 6c 20 61 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 74 65 78 74 20 61 email.and.the.rest.of.the.text.a
12440 73 20 74 68 65 20 62 6f 64 79 2e 20 54 68 65 20 62 6c 61 6e 6b 20 6c 69 6e 65 20 73 65 70 61 72 s.the.body..The.blank.line.separ
12460 61 74 69 6e 67 20 74 68 65 20 73 75 6d 6d 61 72 79 20 66 72 6f 6d 20 74 68 65 20 62 6f 64 79 20 ating.the.summary.from.the.body.
12480 69 73 20 63 72 69 74 69 63 61 6c 20 28 75 6e 6c 65 73 73 20 79 6f 75 20 6f 6d 69 74 20 74 68 65 is.critical.(unless.you.omit.the
124a0 20 62 6f 64 79 20 65 6e 74 69 72 65 6c 79 29 3b 20 74 6f 6f 6c 73 20 6c 69 6b 65 20 72 65 62 61 .body.entirely);.tools.like.reba
124c0 73 65 20 63 61 6e 20 67 65 74 20 63 6f 6e 66 75 73 65 64 20 69 66 20 79 6f 75 20 72 75 6e 20 74 se.can.get.confused.if.you.run.t
124e0 68 65 20 74 77 6f 20 74 6f 67 65 74 68 65 72 2e 00 49 6e 20 74 68 65 20 65 6e 64 20 79 6f 75 20 he.two.together..In.the.end.you.
12500 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 77 69 74 68 20 74 68 65 20 6b 65 72 6e 65 will.be.presented.with.the.kerne
12520 6c 20 62 69 6e 61 72 79 20 70 61 63 6b 61 67 65 73 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 l.binary.packages.which.you.can.
12540 74 68 65 6e 20 75 73 65 20 69 6e 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 49 53 4f 20 62 75 69 6c then.use.in.your.custom.ISO.buil
12560 64 20 70 72 6f 63 65 73 73 2c 20 62 79 20 70 6c 61 63 69 6e 67 20 61 6c 6c 20 74 68 65 20 60 2a d.process,.by.placing.all.the.`*
12580 2e 64 65 62 60 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 .deb`.files.in.the.vyos-build/pa
125a0 63 6b 61 67 65 73 20 66 6f 6c 64 65 72 20 77 68 65 72 65 20 74 68 65 79 20 77 69 6c 6c 20 62 65 ckages.folder.where.they.will.be
125c0 20 75 73 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 62 75 69 6c 64 69 6e .used.automatically.when.buildin
125e0 67 20 56 79 4f 53 20 61 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 62 6f 76 65 2e 00 49 6e 20 74 g.VyOS.as.documented.above..In.t
12600 68 65 20 66 75 74 75 72 65 2c 20 77 65 20 6d 61 79 20 73 77 69 74 63 68 20 74 6f 20 75 73 69 6e he.future,.we.may.switch.to.usin
12620 67 20 73 79 73 74 65 6d 64 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 20 69 6e 73 74 65 61 64 g.systemd.infrastructure.instead
12640 2e 20 42 75 69 6c 64 69 6e 67 20 69 74 20 64 6f 65 73 6e 27 74 20 72 65 71 75 69 72 65 20 61 20 ..Building.it.doesn't.require.a.
12660 73 70 65 63 69 61 6c 20 70 72 6f 63 65 64 75 72 65 2e 00 49 6e 63 6c 75 64 65 20 6f 75 74 70 75 special.procedure..Include.outpu
12680 74 00 49 6e 73 65 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 t.Insert.the.following.statement
126a0 20 72 69 67 68 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 74 69 6f 6e 20 77 68 65 72 65 20 .right.before.the.section.where.
126c0 79 6f 75 20 77 61 6e 74 20 74 6f 20 69 6e 76 65 73 74 69 67 61 74 65 20 61 20 70 72 6f 62 6c 65 you.want.to.investigate.a.proble
126e0 6d 20 28 65 2e 67 2e 20 61 20 73 74 61 74 65 6d 65 6e 74 20 79 6f 75 20 73 65 65 20 69 6e 20 61 m.(e.g..a.statement.you.see.in.a
12700 20 62 61 63 6b 74 72 61 63 65 29 3a 20 60 60 69 6d 70 6f 72 74 20 70 64 62 3b 20 70 64 62 2e 73 .backtrace):.``import.pdb;.pdb.s
12720 65 74 5f 74 72 61 63 65 28 29 60 60 20 4f 70 74 69 6f 6e 61 6c 6c 79 20 79 6f 75 20 63 61 6e 20 et_trace()``.Optionally.you.can.
12740 73 75 72 72 6f 75 6e 64 65 64 20 74 68 69 73 20 73 74 61 74 65 6d 65 6e 74 20 62 79 20 61 6e 20 surrounded.this.statement.by.an.
12760 60 60 69 66 60 60 20 77 68 69 63 68 20 6f 6e 6c 79 20 74 72 69 67 67 65 72 73 20 75 6e 64 65 72 ``if``.which.only.triggers.under
12780 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 79 6f 75 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 .the.condition.you.are.intereste
127a0 64 20 69 6e 2e 00 49 6e 73 74 61 6c 6c 00 49 6e 73 74 61 6c 6c 20 68 74 74 70 73 3a 2f 2f 70 79 d.in..Install.Install.https://py
127c0 70 69 2e 6f 72 67 2f 70 72 6f 6a 65 63 74 2f 73 74 64 65 62 2f 00 49 6e 73 74 61 6c 6c 69 6e 67 pi.org/project/stdeb/.Installing
127e0 20 44 6f 63 6b 65 72 5f 20 61 6e 64 20 70 72 65 72 65 71 75 69 73 69 74 65 73 3a 00 49 6e 73 74 .Docker_.and.prerequisites:.Inst
12800 65 61 64 20 6f 66 20 73 75 70 70 6c 79 69 6e 67 20 61 6c 6c 20 74 68 6f 73 65 20 58 4d 4c 20 6e ead.of.supplying.all.those.XML.n
12820 6f 64 65 73 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 74 68 65 72 65 20 61 72 65 20 6e 6f odes.multiple.times.there.are.no
12840 77 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 20 77 69 74 68 20 70 72 65 64 65 66 69 6e 65 64 20 w.include.files.with.predefined.
12860 66 65 61 74 75 72 65 73 2e 20 42 72 69 65 66 20 6f 76 65 72 76 69 65 77 3a 00 49 6e 74 65 6c 20 features..Brief.overview:.Intel.
12880 4e 49 43 00 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 00 49 6e 74 65 6c 20 51 41 54 00 NIC.Intel.NIC.drivers.Intel.QAT.
128a0 49 6e 74 65 72 20 51 41 54 00 49 6e 74 65 72 66 61 63 65 20 62 61 73 65 64 20 74 65 73 74 73 00 Inter.QAT.Interface.based.tests.
128c0 49 73 73 75 65 73 20 6f 72 20 62 75 67 73 20 61 72 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 Issues.or.bugs.are.found.in.any.
128e0 73 6f 66 74 77 61 72 65 20 70 72 6f 6a 65 63 74 2e 20 56 79 4f 53 20 69 73 20 6e 6f 74 20 61 6e software.project..VyOS.is.not.an
12900 20 65 78 63 65 70 74 69 6f 6e 2e 00 49 73 73 75 65 73 2f 46 65 61 74 75 72 65 20 72 65 71 75 65 .exception..Issues/Feature.reque
12920 73 74 73 00 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 65 74 20 75 sts.It.is.also.possible.to.set.u
12940 70 20 74 68 65 20 64 65 62 75 67 67 69 6e 67 20 75 73 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e p.the.debugging.using.environmen
12960 74 20 76 61 72 69 61 62 6c 65 73 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 65 20 6e t.variables..In.that.case,.the.n
12980 61 6d 65 20 77 69 6c 6c 20 62 65 20 28 69 6e 20 75 70 70 65 72 63 61 73 65 29 20 56 59 4f 53 5f ame.will.be.(in.uppercase).VYOS_
129a0 46 45 41 54 55 52 45 5f 44 45 42 55 47 2e 00 49 74 27 73 20 61 6e 20 41 64 61 20 70 72 6f 67 72 FEATURE_DEBUG..It's.an.Ada.progr
129c0 61 6d 20 61 6e 64 20 72 65 71 75 69 72 65 73 20 47 4e 41 54 20 61 6e 64 20 67 70 72 62 75 69 6c am.and.requires.GNAT.and.gprbuil
129e0 64 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 2c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 72 65 d.for.building,.dependencies.are
12a00 20 70 72 6f 70 65 72 6c 79 20 73 70 65 63 69 66 69 65 64 20 73 6f 20 6a 75 73 74 20 66 6f 6c 6c .properly.specified.so.just.foll
12a20 6f 77 20 64 65 62 75 69 6c 64 27 73 20 73 75 67 67 65 73 74 69 6f 6e 73 2e 00 4a 65 6e 6b 69 6e ow.debuild's.suggestions..Jenkin
12a40 73 20 43 49 00 4a 75 73 74 20 69 6e 73 74 61 6c 6c 20 75 73 69 6e 67 20 74 68 65 20 66 6f 6c 6c s.CI.Just.install.using.the.foll
12a60 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 3a 00 4b 65 65 70 20 74 72 61 63 6b 20 6f 66 20 74 68 owing.commands:.Keep.track.of.th
12a80 65 20 70 72 6f 67 72 65 73 73 20 28 77 68 61 74 20 77 65 27 76 65 20 61 6c 72 65 61 64 79 20 64 e.progress.(what.we've.already.d
12aa0 6f 6e 65 20 69 6e 20 74 68 69 73 20 62 72 61 6e 63 68 20 61 6e 64 20 77 68 61 74 20 77 65 20 73 one.in.this.branch.and.what.we.s
12ac0 74 69 6c 6c 20 6e 65 65 64 20 74 6f 20 64 6f 29 2e 00 4b 65 65 70 61 6c 69 76 65 64 20 6e 6f 72 till.need.to.do)..Keepalived.nor
12ae0 6d 61 6c 6c 79 20 69 73 6e 27 74 20 75 70 64 61 74 65 64 20 74 6f 20 6e 65 77 65 72 20 66 65 61 mally.isn't.updated.to.newer.fea
12b00 74 75 72 65 20 72 65 6c 65 61 73 65 73 20 62 65 74 77 65 65 6e 20 44 65 62 69 61 6e 20 76 65 72 ture.releases.between.Debian.ver
12b20 73 69 6f 6e 73 2c 20 73 6f 20 77 65 20 61 72 65 20 62 75 69 6c 64 69 6e 67 20 69 74 20 66 72 6f sions,.so.we.are.building.it.fro
12b40 6d 20 73 6f 75 72 63 65 2e 00 4b 65 72 6e 65 6c 00 4c 61 75 6e 63 68 20 44 6f 63 6b 65 72 20 63 m.source..Kernel.Launch.Docker.c
12b60 6f 6e 74 61 69 6e 65 72 20 61 6e 64 20 62 75 69 6c 64 20 70 61 63 6b 61 67 65 00 4c 65 61 66 20 ontainer.and.build.package.Leaf.
12b80 6e 6f 64 65 73 20 28 6e 6f 64 65 73 20 77 69 74 68 20 76 61 6c 75 65 73 29 20 75 73 65 20 3c 6c nodes.(nodes.with.values).use.<l
12ba0 65 61 66 4e 6f 64 65 3e 20 74 61 67 20 69 6e 73 74 65 61 64 00 4c 65 74 20 75 73 20 61 73 73 75 eafNode>.tag.instead.Let.us.assu
12bc0 6d 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 62 75 67 20 61 20 50 79 74 68 6f 6e 20 73 63 me.you.want.to.debug.a.Python.sc
12be0 72 69 70 74 20 74 68 61 74 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 61 6e 20 6f 70 2d 6d 6f 64 ript.that.is.called.by.an.op-mod
12c00 65 20 63 6f 6d 6d 61 6e 64 2e 20 41 66 74 65 72 20 79 6f 75 20 66 6f 75 6e 64 20 74 68 65 20 73 e.command..After.you.found.the.s
12c20 63 72 69 70 74 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 75 70 20 74 68 65 20 6f 70 2d 6d 6f 64 65 2d cript.by.looking.up.the.op-mode-
12c40 64 65 66 69 74 69 6f 6e 73 20 79 6f 75 20 63 61 6e 20 65 64 69 74 20 74 68 65 20 73 63 72 69 70 defitions.you.can.edit.the.scrip
12c60 74 20 69 6e 20 74 68 65 20 6c 69 76 65 20 73 79 73 74 65 6d 20 75 73 69 6e 67 20 65 2e 67 2e 20 t.in.the.live.system.using.e.g..
12c80 76 69 3a 20 60 60 76 69 20 2f 75 73 72 2f 6c 69 62 65 78 65 63 2f 76 79 6f 73 2f 6f 70 5f 6d 6f vi:.``vi./usr/libexec/vyos/op_mo
12ca0 64 65 2f 73 68 6f 77 5f 78 79 7a 2e 70 79 60 60 00 4c 65 74 27 73 20 66 61 63 65 20 69 74 3a 20 de/show_xyz.py``.Let's.face.it:.
12cc0 56 79 4f 53 20 69 73 20 66 75 6c 6c 20 6f 66 20 73 70 61 67 68 65 74 74 69 20 63 6f 64 65 20 77 VyOS.is.full.of.spaghetti.code.w
12ce0 68 65 72 65 20 6c 6f 67 69 63 20 66 6f 72 20 72 65 61 64 69 6e 67 20 74 68 65 20 56 79 4f 53 20 here.logic.for.reading.the.VyOS.
12d00 63 6f 6e 66 69 67 2c 20 67 65 6e 65 72 61 74 69 6e 67 20 64 61 65 6d 6f 6e 20 63 6f 6e 66 69 67 config,.generating.daemon.config
12d20 73 2c 20 61 6e 64 20 72 65 73 74 61 72 74 69 6e 67 20 70 72 6f 63 65 73 73 65 73 20 69 73 20 61 s,.and.restarting.processes.is.a
12d40 6c 6c 20 6d 69 78 65 64 20 75 70 2e 00 4c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 6a ll.mixed.up..Like.any.other.proj
12d60 65 63 74 20 77 65 20 68 61 76 65 20 73 6f 6d 65 20 73 6d 61 6c 6c 20 67 75 69 64 65 6c 69 6e 65 ect.we.have.some.small.guideline
12d80 73 20 61 62 6f 75 74 20 6f 75 72 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 6f 2e 20 54 68 s.about.our.source.code,.too..Th
12da0 65 20 72 75 6c 65 73 20 77 65 20 68 61 76 65 20 61 72 65 20 6e 6f 74 20 74 68 65 72 65 20 74 6f e.rules.we.have.are.not.there.to
12dc0 20 70 75 6e 69 73 68 20 79 6f 75 20 2d 20 74 68 65 20 72 75 6c 65 73 20 61 72 65 20 69 6e 20 70 .punish.you.-.the.rules.are.in.p
12de0 6c 61 63 65 20 74 6f 20 68 65 6c 70 20 75 73 20 61 6c 6c 2e 20 42 79 20 68 61 76 69 6e 67 20 61 lace.to.help.us.all..By.having.a
12e00 20 63 6f 6e 73 69 73 74 65 6e 74 20 63 6f 64 69 6e 67 20 73 74 79 6c 65 20 69 74 20 62 65 63 6f .consistent.coding.style.it.beco
12e20 6d 65 73 20 76 65 72 79 20 65 61 73 79 20 66 6f 72 20 6e 65 77 20 61 6e 64 20 61 6c 73 6f 20 6c mes.very.easy.for.new.and.also.l
12e40 6f 6e 67 74 69 6d 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 74 6f 20 6e 61 76 69 67 61 74 65 ongtime.contributors.to.navigate
12e60 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 6e 64 20 61 6c 6c 20 74 68 65 .through.the.sources.and.all.the
12e80 20 69 6d 70 6c 69 65 64 20 6c 6f 67 69 63 20 6f 66 20 61 6e 79 20 6f 6e 65 20 73 6f 75 72 63 65 .implied.logic.of.any.one.source
12ea0 20 66 69 6c 65 2e 2e 00 4c 69 6d 69 74 73 3a 00 4c 69 6e 75 78 20 4b 65 72 6e 65 6c 00 4c 69 76 .file...Limits:.Linux.Kernel.Liv
12ec0 65 20 53 79 73 74 65 6d 00 4d 54 55 20 73 69 7a 65 00 4d 61 6b 65 20 79 6f 75 72 20 63 68 61 6e e.System.MTU.size.Make.your.chan
12ee0 67 65 73 20 61 6e 64 20 73 61 76 65 20 74 68 65 6d 2e 20 44 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 ges.and.save.them..Do.the.follow
12f00 69 6e 67 20 66 6f 72 20 61 6c 6c 20 63 68 61 6e 67 65 73 20 66 69 6c 65 73 20 74 6f 20 72 65 63 ing.for.all.changes.files.to.rec
12f20 6f 72 64 20 74 68 65 6d 20 69 6e 20 79 6f 75 72 20 63 72 65 61 74 65 64 20 47 69 74 20 63 6f 6d ord.them.in.your.created.Git.com
12f40 6d 69 74 3a 00 4d 61 6e 75 61 6c 20 53 6d 6f 6b 65 74 65 73 74 20 52 75 6e 00 4d 61 6e 75 61 6c mit:.Manual.Smoketest.Run.Manual
12f60 20 63 6f 6e 66 69 67 20 6c 6f 61 64 20 74 65 73 74 00 4d 61 6e 79 20 62 61 73 65 20 73 79 73 74 .config.load.test.Many.base.syst
12f80 65 6d 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 70 75 6c 6c 65 64 20 73 74 72 61 69 67 68 74 20 em.packages.are.pulled.straight.
12fa0 66 72 6f 6d 20 44 65 62 69 61 6e 27 73 20 6d 61 69 6e 20 61 6e 64 20 63 6f 6e 74 72 69 62 20 72 from.Debian's.main.and.contrib.r
12fc0 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 62 75 74 20 74 68 65 72 65 20 61 72 65 20 65 78 63 65 70 epositories,.but.there.are.excep
12fe0 74 69 6f 6e 73 2e 00 4d 69 67 72 61 74 69 6e 67 20 6f 6c 64 20 43 4c 49 00 4d 6f 76 65 20 64 65 tions..Migrating.old.CLI.Move.de
13000 66 61 75 6c 74 20 76 61 6c 75 65 73 20 74 6f 20 73 63 72 69 70 74 73 00 4e 61 74 69 76 65 20 42 fault.values.to.scripts.Native.B
13020 75 69 6c 64 00 4e 65 77 20 73 79 6e 74 61 78 00 4e 6f 20 63 6f 64 65 20 69 6e 63 6f 6d 70 61 74 uild.New.syntax.No.code.incompat
13040 69 62 6c 65 20 77 69 74 68 20 50 79 74 68 6f 6e 33 00 4e 6f 20 6e 65 77 20 66 65 61 74 75 72 65 ible.with.Python3.No.new.feature
13060 73 20 69 6e 20 50 65 72 6c 00 4e 6f 20 6f 6c 64 20 73 74 79 6c 65 20 63 6f 6d 6d 61 6e 64 20 64 s.in.Perl.No.old.style.command.d
13080 65 66 69 6e 69 74 69 6f 6e 73 00 4e 6f 20 73 70 65 63 69 61 6c 20 62 75 69 6c 64 20 70 72 6f 63 efinitions.No.special.build.proc
130a0 65 64 75 72 65 20 69 73 20 72 65 71 75 69 72 65 64 2e 00 4e 6f 6e 65 00 4e 6f 74 65 73 00 4e 6f edure.is.required..None.Notes.No
130c0 77 20 61 20 66 72 65 73 68 20 62 75 69 6c 64 20 6f 66 20 74 68 65 20 56 79 4f 53 20 49 53 4f 20 w.a.fresh.build.of.the.VyOS.ISO.
130e0 63 61 6e 20 62 65 67 69 6e 2e 20 43 68 61 6e 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 can.begin..Change.directory.to.t
13100 68 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 60 60 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 he.``vyos-build``.directory.and.
13120 72 75 6e 3a 00 4e 6f 77 20 61 73 20 79 6f 75 20 61 72 65 20 61 77 61 72 65 20 6f 66 20 74 68 65 run:.Now.as.you.are.aware.of.the
13140 20 70 72 65 72 65 71 75 69 73 69 74 65 73 20 77 65 20 63 61 6e 20 63 6f 6e 74 69 6e 75 65 20 61 .prerequisites.we.can.continue.a
13160 6e 64 20 62 75 69 6c 64 20 6f 75 72 20 6f 77 6e 20 49 53 4f 20 66 72 6f 6d 20 73 6f 75 72 63 65 nd.build.our.own.ISO.from.source
13180 2e 20 46 6f 72 20 74 68 69 73 20 77 65 20 68 61 76 65 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 ..For.this.we.have.to.fetch.the.
131a0 6c 61 74 65 73 74 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 47 69 74 48 75 62 2e 20 latest.source.code.from.GitHub..
131c0 50 6c 65 61 73 65 20 6e 6f 74 65 20 61 73 20 74 68 69 73 20 77 69 6c 6c 20 64 69 66 66 65 72 20 Please.note.as.this.will.differ.
131e0 66 6f 72 20 62 6f 74 68 20 60 63 75 72 72 65 6e 74 60 20 61 6e 64 20 60 63 72 75 78 60 2e 00 4e for.both.`current`.and.`crux`..N
13200 6f 77 20 69 74 27 73 20 74 69 6d 65 20 74 6f 20 66 69 78 20 74 68 65 20 70 61 63 6b 61 67 65 20 ow.it's.time.to.fix.the.package.
13220 6d 69 72 72 6f 72 20 61 6e 64 20 72 65 72 75 6e 20 74 68 65 20 6c 61 73 74 20 73 74 65 70 20 75 mirror.and.rerun.the.last.step.u
13240 6e 74 69 6c 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 73 75 ntil.the.package.installation.su
13260 63 63 65 65 64 73 20 61 67 61 69 6e 21 00 4e 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 74 68 65 cceeds.again!.Now.we.can.use.the
13280 20 68 65 6c 70 65 72 20 73 63 72 69 70 74 20 60 60 62 75 69 6c 64 2d 6b 65 72 6e 65 6c 2e 73 68 .helper.script.``build-kernel.sh
132a0 60 60 20 77 68 69 63 68 20 64 6f 65 73 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 ``.which.does.all.the.necessary.
132c0 76 6f 6f 64 6f 6f 20 62 79 20 61 70 70 6c 79 69 6e 67 20 72 65 71 75 69 72 65 64 20 70 61 74 63 voodoo.by.applying.required.patc
132e0 68 65 73 20 66 72 6f 6d 20 74 68 65 20 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 hes.from.the.`vyos-build/package
13300 73 2f 6c 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 70 61 74 63 68 65 73 60 20 66 6f 6c 64 65 72 2c 20 s/linux-kernel/patches`.folder,.
13320 63 6f 70 79 69 6e 67 20 6f 75 72 20 6b 65 72 6e 65 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e copying.our.kernel.configuration
13340 20 60 60 78 38 36 5f 36 34 5f 76 79 6f 73 5f 64 65 66 63 6f 6e 66 69 67 60 60 20 74 6f 20 74 68 .``x86_64_vyos_defconfig``.to.th
13360 65 20 72 69 67 68 74 20 6c 6f 63 61 74 69 6f 6e 2c 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 62 75 e.right.location,.and.finally.bu
13380 69 6c 64 69 6e 67 20 74 68 65 20 44 65 62 69 61 6e 20 70 61 63 6b 61 67 65 73 2e 00 4e 6f 77 20 ilding.the.Debian.packages..Now.
133a0 79 6f 75 20 61 72 65 20 70 72 65 70 61 72 65 64 20 77 69 74 68 20 74 77 6f 20 6e 65 77 20 61 6c you.are.prepared.with.two.new.al
133c0 69 61 73 65 73 20 60 60 76 79 62 6c 64 60 60 20 61 6e 64 20 60 60 76 79 62 6c 64 5f 63 72 75 78 iases.``vybld``.and.``vybld_crux
133e0 60 60 20 74 6f 20 73 70 61 77 6e 20 79 6f 75 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 63 6f 6e ``.to.spawn.your.development.con
13400 74 61 69 6e 65 72 73 20 69 6e 20 79 6f 75 72 20 63 75 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 20 tainers.in.your.current.working.
13420 64 69 72 65 63 74 6f 72 79 2e 00 4f 6c 64 20 63 6f 6e 63 65 70 74 2f 73 79 6e 74 61 78 00 4f 6e directory..Old.concept/syntax.On
13440 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 20 2d 20 61 73 20 65 61 63 68 20 74 65 73 74 20 69 .the.other.hand.-.as.each.test.i
13460 73 20 63 6f 6e 74 61 69 6e 20 69 6e 20 69 74 73 20 6f 77 6e 20 66 69 6c 65 20 2d 20 6f 6e 65 20 s.contain.in.its.own.file.-.one.
13480 63 61 6e 20 61 6c 77 61 79 73 20 65 78 65 63 75 74 65 20 61 20 73 69 6e 67 6c 65 20 53 6d 6f 6b can.always.execute.a.single.Smok
134a0 65 74 65 73 74 20 62 79 20 68 61 6e 64 20 62 79 20 73 69 6d 70 6c 79 20 72 75 6e 6e 69 6e 67 20 etest.by.hand.by.simply.running.
134c0 74 68 65 20 50 79 74 68 6f 6e 20 74 65 73 74 20 73 63 72 69 70 74 73 2e 00 4f 6e 63 65 20 79 6f the.Python.test.scripts..Once.yo
134e0 75 20 68 61 76 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 u.have.the.required.dependencies
13500 20 69 6e 73 74 61 6c 6c 65 64 2c 20 79 6f 75 20 6d 61 79 20 70 72 6f 63 65 65 64 20 77 69 74 68 .installed,.you.may.proceed.with
13520 20 74 68 65 20 73 74 65 70 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 3a 72 65 66 3a 60 62 75 .the.steps.described.in.:ref:`bu
13540 69 6c 64 5f 69 73 6f 60 2e 00 4f 6e 63 65 20 79 6f 75 20 72 75 6e 20 60 60 73 68 6f 77 20 78 79 ild_iso`..Once.you.run.``show.xy
13560 7a 60 60 20 61 6e 64 20 79 6f 75 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 74 72 69 67 67 65 z``.and.your.condition.is.trigge
13580 72 65 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 62 65 20 64 72 6f 70 70 65 64 20 69 6e 74 6f 20 74 red.you.should.be.dropped.into.t
135a0 68 65 20 70 79 74 68 6f 6e 20 64 65 62 75 67 67 65 72 3a 00 4f 6e 65 20 69 73 20 6e 6f 74 20 62 he.python.debugger:.One.is.not.b
135c0 6f 75 6e 64 20 74 6f 20 6c 6f 61 64 20 61 6c 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 ound.to.load.all.configurations.
135e0 6f 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 62 75 74 20 63 61 6e 20 61 6c 73 6f 20 6c one.after.another.but.can.also.l
13600 6f 61 64 20 69 6e 64 69 76 69 64 75 61 6c 20 74 65 73 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f oad.individual.test.configuratio
13620 6e 73 20 6f 6e 20 68 69 73 20 6f 77 6e 2e 00 4f 6e 65 20 6f 66 20 74 68 65 20 6d 61 6a 6f 72 20 ns.on.his.own..One.of.the.major.
13640 61 64 76 61 6e 74 61 67 65 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 56 79 4f 53 20 31 2e advantages.introduced.in.VyOS.1.
13660 33 20 69 73 20 61 6e 20 61 75 74 6d 61 74 65 64 20 74 65 73 74 20 66 72 61 6d 65 77 6f 72 6b 2e 3.is.an.autmated.test.framework.
13680 20 57 68 65 6e 20 61 73 73 65 6d 62 6c 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 6d 75 .When.assembling.an.ISO.image.mu
136a0 6c 74 69 70 6c 65 20 74 68 69 6e 67 73 20 63 61 6e 20 67 6f 20 77 72 6f 6e 67 20 62 61 64 6c 79 ltiple.things.can.go.wrong.badly
136c0 20 61 6e 64 20 70 75 62 6c 69 73 68 69 6e 67 20 61 20 66 61 75 6c 74 79 20 49 53 4f 20 6d 61 6b .and.publishing.a.faulty.ISO.mak
136e0 65 73 20 6e 6f 20 73 65 6e 73 65 2e 20 54 68 65 20 75 73 65 72 20 69 73 20 64 69 73 61 70 70 6f es.no.sense..The.user.is.disappo
13700 69 6e 74 65 64 20 62 79 20 74 68 65 20 71 75 61 6c 69 74 79 20 6f 66 20 74 68 65 20 69 6d 61 67 inted.by.the.quality.of.the.imag
13720 65 20 61 6e 64 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 67 65 74 20 66 6c 6f 64 64 65 64 e.and.the.developers.get.flodded
13740 20 77 69 74 68 20 62 75 67 20 72 65 70 6f 72 74 73 20 6f 76 65 72 20 61 6e 64 20 6f 76 65 72 20 .with.bug.reports.over.and.over.
13760 61 67 61 69 6e 2e 00 4f 6e 65 20 6f 66 20 74 68 65 20 6d 61 6a 6f 72 20 61 64 76 61 6e 74 61 67 again..One.of.the.major.advantag
13780 65 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 56 79 4f 53 20 31 2e 33 20 69 73 20 61 6e 20 es.introduced.in.VyOS.1.3.is.an.
137a0 61 75 74 6f 6d 61 74 65 64 20 74 65 73 74 20 66 72 61 6d 65 77 6f 72 6b 2e 20 57 68 65 6e 20 61 automated.test.framework..When.a
137c0 73 73 65 6d 62 6c 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 6d 75 6c 74 69 70 6c 65 20 ssembling.an.ISO.image.multiple.
137e0 74 68 69 6e 67 73 20 63 61 6e 20 67 6f 20 77 72 6f 6e 67 20 62 61 64 6c 79 20 61 6e 64 20 70 75 things.can.go.wrong.badly.and.pu
13800 62 6c 69 73 68 69 6e 67 20 61 20 66 61 75 6c 74 79 20 49 53 4f 20 6d 61 6b 65 73 20 6e 6f 20 73 blishing.a.faulty.ISO.makes.no.s
13820 65 6e 73 65 2e 20 54 68 65 20 75 73 65 72 20 69 73 20 64 69 73 61 70 70 6f 69 6e 74 65 64 20 62 ense..The.user.is.disappointed.b
13840 79 20 74 68 65 20 71 75 61 6c 69 74 79 20 6f 66 20 74 68 65 20 69 6d 61 67 65 20 61 6e 64 20 74 y.the.quality.of.the.image.and.t
13860 68 65 20 64 65 76 65 6c 6f 70 65 72 73 20 67 65 74 20 66 6c 6f 64 64 65 64 20 77 69 74 68 20 62 he.developers.get.flodded.with.b
13880 75 67 20 72 65 70 6f 72 74 73 20 6f 76 65 72 20 61 6e 64 20 6f 76 65 72 20 61 67 61 69 6e 2e 00 ug.reports.over.and.over.again..
138a0 4f 6e 6c 79 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 6c 65 61 66 20 6e 6f 64 65 73 00 4f 74 Only.applicable.to.leaf.nodes.Ot
138c0 68 65 72 20 70 61 63 6b 61 67 65 73 20 28 65 2e 67 2e 20 76 79 6f 73 2d 31 78 29 20 61 64 64 20 her.packages.(e.g..vyos-1x).add.
138e0 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 20 70 72 dependencies.to.the.ISO.build.pr
13900 6f 63 65 64 75 72 65 20 6f 6e 20 65 2e 67 2e 20 74 68 65 20 77 69 72 65 67 75 61 72 64 2d 6d 6f ocedure.on.e.g..the.wireguard-mo
13920 64 75 6c 65 73 20 70 61 63 6b 61 67 65 20 77 68 69 63 68 20 69 74 73 65 6c 66 20 61 64 64 73 20 dules.package.which.itself.adds.
13940 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 a.dependency.on.the.kernel.versi
13960 6f 6e 20 75 73 65 64 20 64 75 65 20 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 69 74 20 73 68 69 on.used.due.to.the.module.it.shi
13980 70 73 2e 20 54 68 69 73 20 6d 61 79 20 63 68 61 6e 67 65 20 28 66 6f 72 20 57 69 72 65 47 75 61 ps..This.may.change.(for.WireGua
139a0 72 64 29 20 69 6e 20 66 75 74 75 72 65 20 6b 65 72 6e 65 6c 20 72 65 6c 65 61 73 65 73 20 62 75 rd).in.future.kernel.releases.bu
139c0 74 20 61 73 20 6c 6f 6e 67 20 61 73 20 77 65 20 68 61 76 65 20 6f 75 74 2d 6f 66 2d 74 72 65 65 t.as.long.as.we.have.out-of-tree
139e0 20 6d 6f 64 75 6c 65 73 2e 00 4f 75 72 20 53 74 72 6f 6e 67 53 57 41 4e 20 62 75 69 6c 64 20 64 .modules..Our.StrongSWAN.build.d
13a00 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 75 70 73 74 72 65 61 6d 3a 00 4f 75 72 20 60 56 iffers.from.the.upstream:.Our.`V
13a20 79 4f 53 20 43 49 60 5f 20 73 79 73 74 65 6d 20 69 73 20 62 61 73 65 64 20 6f 6e 20 4a 65 6e 6b yOS.CI`_.system.is.based.on.Jenk
13a40 69 6e 73 20 61 6e 64 20 62 75 69 6c 64 73 20 61 6c 6c 20 6f 75 72 20 72 65 71 75 69 72 65 64 20 ins.and.builds.all.our.required.
13a60 70 61 63 6b 61 67 65 73 20 66 6f 72 20 56 79 4f 53 20 31 2e 32 20 74 6f 20 31 2e 34 2e 20 49 6e packages.for.VyOS.1.2.to.1.4..In
13a80 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 61 63 6b 61 67 65 20 62 75 69 6c 64 2c 20 .addition.to.the.package.build,.
13aa0 74 68 65 72 65 20 69 73 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 20 4a 6f 62 20 77 68 69 63 there.is.the.vyos-build.Job.whic
13ac0 68 20 62 75 69 6c 64 73 20 61 6e 64 20 74 65 73 74 73 20 74 68 65 20 56 79 4f 53 20 49 53 4f 20 h.builds.and.tests.the.VyOS.ISO.
13ae0 69 6d 61 67 65 20 77 68 69 63 68 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 66 74 65 72 20 61 image.which.is.published.after.a
13b00 20 73 75 63 63 65 73 73 66 75 6c 6c 20 74 65 73 74 20 64 72 69 76 65 2e 00 4f 75 72 20 63 6f 64 .successfull.test.drive..Our.cod
13b20 65 20 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 20 6d 6f 64 75 6c 65 73 2e e.is.split.into.several.modules.
13b40 20 56 79 4f 53 20 69 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 69 6e .VyOS.is.composed.of.multiple.in
13b60 64 69 76 69 64 75 61 6c 20 70 61 63 6b 61 67 65 73 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 20 dividual.packages,.some.of.them.
13b80 61 72 65 20 66 6f 72 6b 73 20 6f 66 20 75 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 20 61 are.forks.of.upstream.packages.a
13ba0 6e 64 20 61 72 65 20 70 65 72 69 6f 64 69 63 61 6c 6c 79 20 73 79 6e 63 65 64 20 77 69 74 68 20 nd.are.periodically.synced.with.
13bc0 75 70 73 74 72 65 61 6d 2c 20 73 6f 20 6b 65 65 70 69 6e 67 20 74 68 65 20 77 68 6f 6c 65 20 73 upstream,.so.keeping.the.whole.s
13be0 6f 75 72 63 65 20 75 6e 64 65 72 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 ource.under.a.single.repository.
13c00 77 6f 75 6c 64 20 62 65 20 76 65 72 79 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 73 would.be.very.inconvenient.and.s
13c20 6c 6f 77 2e 20 54 68 65 72 65 20 69 73 20 6e 6f 77 20 61 6e 20 6f 6e 67 6f 69 6e 67 20 65 66 66 low..There.is.now.an.ongoing.eff
13c40 6f 72 74 20 74 6f 20 63 6f 6e 73 6f 6c 69 64 61 74 65 20 61 6c 6c 20 56 79 4f 53 2d 73 70 65 63 ort.to.consolidate.all.VyOS-spec
13c60 69 66 69 63 20 66 72 61 6d 65 77 6f 72 6b 2f 63 6f 6e 66 69 67 20 70 61 63 6b 61 67 65 73 20 69 ific.framework/config.packages.i
13c80 6e 74 6f 20 76 79 6f 73 2d 31 78 20 70 61 63 6b 61 67 65 2c 20 62 75 74 20 74 68 65 20 62 61 73 nto.vyos-1x.package,.but.the.bas
13ca0 69 63 20 73 74 72 75 63 74 75 72 65 20 69 73 20 67 6f 69 6e 67 20 74 6f 20 73 74 61 79 20 74 68 ic.structure.is.going.to.stay.th
13cc0 65 20 73 61 6d 65 2c 20 6a 75 73 74 20 77 69 74 68 20 66 65 77 65 72 20 61 6e 64 20 66 65 77 65 e.same,.just.with.fewer.and.fewe
13ce0 72 20 70 61 63 6b 61 67 65 73 20 77 68 69 6c 65 20 74 68 65 20 62 61 73 65 20 63 6f 64 65 20 69 r.packages.while.the.base.code.i
13d00 73 20 72 65 77 72 69 74 74 65 6e 20 66 72 6f 6d 20 50 65 72 6c 2f 42 41 53 48 20 69 6e 74 6f 20 s.rewritten.from.Perl/BASH.into.
13d20 50 79 74 68 6f 6e 20 75 73 69 6e 67 20 61 6e 64 20 58 4d 4c 20 62 61 73 65 64 20 69 6e 74 65 72 Python.using.and.XML.based.inter
13d40 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 43 4c 49 2e 00 4f 75 72 face.definition.for.the.CLI..Our
13d60 20 6f 70 20 6d 6f 64 65 20 73 63 72 69 70 74 73 20 75 73 65 20 74 68 65 20 70 79 74 68 6f 6e 2d .op.mode.scripts.use.the.python-
13d80 76 69 63 69 20 6d 6f 64 75 6c 65 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 63 6c 75 64 vici.module,.which.is.not.includ
13da0 65 64 20 69 6e 20 44 65 62 69 61 6e 27 73 20 62 75 69 6c 64 2c 20 61 6e 64 20 69 73 6e 27 74 20 ed.in.Debian's.build,.and.isn't.
13dc0 71 75 69 74 65 20 65 61 73 79 20 74 6f 20 69 6e 74 65 67 72 61 74 65 20 69 6e 20 74 68 61 74 20 quite.easy.to.integrate.in.that.
13de0 62 75 69 6c 64 2e 20 46 6f 72 20 74 68 69 73 20 72 65 61 73 6f 6e 20 77 65 20 64 65 62 69 61 6e build..For.this.reason.we.debian
13e00 69 7a 65 20 74 68 61 74 20 6d 6f 64 75 6c 65 20 62 79 20 68 61 6e 64 20 6e 6f 77 2c 20 75 73 69 ize.that.module.by.hand.now,.usi
13e20 6e 67 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 3a 00 4f 75 72 20 73 6d 6f 6b 65 74 65 73 74 ng.this.procedure:.Our.smoketest
13e40 73 20 6e 6f 74 20 6f 6e 6c 79 20 74 65 73 74 20 64 61 65 6d 6f 6e 73 20 61 6e 64 20 73 65 72 69 s.not.only.test.daemons.and.seri
13e60 76 65 73 2c 20 62 75 74 20 61 6c 73 6f 20 63 68 65 63 6b 20 69 66 20 77 68 61 74 20 77 65 20 63 ves,.but.also.check.if.what.we.c
13e80 6f 6e 66 69 67 75 72 65 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 77 6f 72 6b 73 2e onfigure.for.an.interface.works.
13ea0 20 54 68 75 73 20 74 68 65 72 65 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 62 61 73 65 20 63 6c 61 .Thus.there.is.a.common.base.cla
13ec0 73 73 65 64 20 6e 61 6d 65 64 3a 20 60 60 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 73 5f 74 65 ssed.named:.``base_interfaces_te
13ee0 73 74 2e 70 79 60 60 20 77 68 69 63 68 20 68 6f 6c 64 73 20 61 6c 6c 20 74 68 65 20 63 6f 6d 6d st.py``.which.holds.all.the.comm
13f00 6f 6e 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 73 75 70 70 6f 72 on.code.that.an.interface.suppor
13f20 74 73 20 61 6e 64 20 69 73 20 74 65 73 74 65 64 2e 00 50 61 63 6b 61 67 65 73 00 50 61 74 63 68 ts.and.is.tested..Packages.Patch
13f40 65 73 20 61 72 65 20 61 6c 77 61 79 73 20 6d 6f 72 65 20 74 68 61 6e 20 77 65 6c 63 6f 6d 65 2e es.are.always.more.than.welcome.
13f60 20 54 6f 20 68 61 76 65 20 61 20 63 6c 65 61 6e 20 61 6e 64 20 65 61 73 79 20 74 6f 20 6d 61 69 .To.have.a.clean.and.easy.to.mai
13f80 6e 74 61 69 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 77 65 20 68 61 76 65 20 73 6f 6d 65 20 67 75 ntain.repository.we.have.some.gu
13fa0 69 64 65 6c 69 6e 65 73 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 47 69 74 2e 20 idelines.when.working.with.Git..
13fc0 41 20 63 6c 65 61 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 65 61 73 65 73 20 74 68 65 20 61 75 74 A.clean.repository.eases.the.aut
13fe0 6f 6d 61 74 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 61 20 63 68 61 6e 67 65 6c 6f 67 omatic.generation.of.a.changelog
14000 20 66 69 6c 65 2e 00 50 61 74 63 68 65 73 20 66 6f 72 20 44 4d 56 50 4e 20 61 72 65 20 6d 65 72 .file..Patches.for.DMVPN.are.mer
14020 67 65 64 20 69 6e 00 50 6c 65 61 73 65 20 6c 65 61 76 65 20 61 20 63 6f 6d 6d 65 6e 74 20 65 78 ged.in.Please.leave.a.comment.ex
14040 70 6c 61 69 6e 69 6e 67 20 77 68 79 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 77 61 73 20 63 68 plaining.why.the.priority.was.ch
14060 6f 73 65 6e 20 28 65 2e 67 2e 20 22 61 66 74 65 72 20 69 6e 74 65 72 66 61 63 65 73 20 61 72 65 osen.(e.g.."after.interfaces.are
14080 20 63 6f 6e 66 69 67 75 72 65 64 22 29 00 50 6c 65 61 73 65 20 73 75 62 6d 69 74 20 79 6f 75 72 .configured").Please.submit.your
140a0 20 70 61 74 63 68 65 73 20 75 73 69 6e 67 20 74 68 65 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 47 69 .patches.using.the.well-known.Gi
140c0 74 48 75 62 20 70 75 6c 6c 2d 72 65 71 75 65 73 74 20 61 67 61 69 6e 73 74 20 6f 75 72 20 72 65 tHub.pull-request.against.our.re
140e0 70 6f 73 69 74 6f 72 69 65 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 56 79 4f 53 20 47 69 74 positories.found.in.the.VyOS.Git
14100 48 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 Hub.organisation.at.https://gith
14120 75 62 2e 63 6f 6d 2f 76 79 6f 73 00 50 6c 65 61 73 65 20 75 73 65 20 74 68 65 20 66 6f 6c 6c 6f ub.com/vyos.Please.use.the.follo
14140 77 69 6e 67 20 74 65 6d 70 6c 61 74 65 20 61 73 20 67 6f 6f 64 20 73 74 61 72 74 69 6e 67 20 70 wing.template.as.good.starting.p
14160 6f 69 6e 74 20 77 68 65 6e 20 64 65 76 65 6c 6f 70 69 6e 67 20 6e 65 77 20 6d 6f 64 75 6c 65 73 oint.when.developing.new.modules
14180 20 6f 72 20 65 76 65 6e 20 72 65 77 72 69 74 65 20 61 20 77 68 6f 6c 65 20 62 75 6e 63 68 20 6f .or.even.rewrite.a.whole.bunch.o
141a0 66 20 63 6f 64 65 20 69 6e 20 74 68 65 20 6e 65 77 20 73 74 79 6c 65 20 58 4d 4c 2f 50 79 68 6f f.code.in.the.new.style.XML/Pyho
141c0 6e 20 69 6e 74 65 72 66 61 63 65 2e 00 50 6f 72 74 20 64 65 73 63 72 69 70 74 69 6f 6e 00 50 6f n.interface..Port.description.Po
141e0 72 74 20 64 69 73 61 62 6c 65 00 50 72 65 66 65 72 20 69 6e 66 69 6e 69 74 69 76 65 73 00 50 72 rt.disable.Prefer.infinitives.Pr
14200 65 70 61 72 65 20 70 61 74 63 68 2f 63 6f 6d 6d 69 74 00 50 72 65 70 61 72 65 20 72 65 6c 65 61 epare.patch/commit.Prepare.relea
14220 73 65 20 6e 6f 74 65 73 20 66 6f 72 20 75 70 63 6f 6d 69 6e 67 20 72 65 6c 65 61 73 65 73 00 50 se.notes.for.upcoming.releases.P
14240 72 65 72 65 71 75 69 73 69 74 65 73 00 50 72 69 6f 72 69 74 69 65 73 00 50 72 6f 76 69 64 65 20 rerequisites.Priorities.Provide.
14260 61 73 20 6d 75 63 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 73 20 79 6f 75 20 63 61 6e 00 50 as.much.information.as.you.can.P
14280 79 74 68 6f 6e 00 50 79 74 68 6f 6e 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 6c 61 6e 67 75 ython.Python.(or.any.other.langu
142a0 61 67 65 2c 20 66 6f 72 20 74 68 61 74 20 6d 61 74 74 65 72 29 20 64 6f 65 73 20 6e 6f 74 20 70 age,.for.that.matter).does.not.p
142c0 72 6f 76 69 64 65 20 61 75 74 6f 6d 61 74 69 63 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 72 6f 6d rovide.automatic.protection.from
142e0 20 62 61 64 20 64 65 73 69 67 6e 2c 20 73 6f 20 77 65 20 6e 65 65 64 20 74 6f 20 61 6c 73 6f 20 .bad.design,.so.we.need.to.also.
14300 64 65 76 69 73 65 20 64 65 73 69 67 6e 20 67 75 69 64 65 6c 69 6e 65 73 20 61 6e 64 20 66 6f 6c devise.design.guidelines.and.fol
14320 6c 6f 77 20 74 68 65 6d 20 74 6f 20 6b 65 65 70 20 74 68 65 20 73 79 73 74 65 6d 20 65 78 74 65 low.them.to.keep.the.system.exte
14340 6e 73 69 62 6c 65 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 61 62 6c 65 2e 00 50 79 74 68 6f 6e 20 nsible.and.maintainable..Python.
14360 33 20 2a 2a 73 68 61 6c 6c 2a 2a 20 62 65 20 75 73 65 64 2e 20 48 6f 77 20 6c 6f 6e 67 20 63 61 3.**shall**.be.used..How.long.ca
14380 6e 20 77 65 20 6b 65 65 70 20 50 79 74 68 6f 6e 20 32 20 61 6c 69 76 65 20 61 6e 79 77 61 79 3f n.we.keep.Python.2.alive.anyway?
143a0 20 4e 6f 20 63 6f 6e 73 69 64 65 72 61 74 69 6f 6e 73 20 66 6f 72 20 50 79 74 68 6f 6e 20 32 20 .No.considerations.for.Python.2.
143c0 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 74 61 6b 65 compatibility.**should**.be.take
143e0 6e 20 61 74 20 61 6e 79 20 74 69 6d 65 2e 00 50 79 74 68 6f 6e 3a 20 54 61 62 73 20 2a 2a 73 68 n.at.any.time..Python:.Tabs.**sh
14400 61 6c 6c 20 6e 6f 74 2a 2a 20 62 65 20 75 73 65 64 2e 20 45 76 65 72 79 20 69 6e 64 65 6e 74 61 all.not**.be.used..Every.indenta
14420 74 69 6f 6e 20 6c 65 76 65 6c 20 73 68 6f 75 6c 64 20 62 65 20 34 20 73 70 61 63 65 73 00 51 45 tion.level.should.be.4.spaces.QE
14440 4d 55 00 52 61 74 69 6f 6e 61 6c 65 3a 20 74 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20 74 MU.Rationale:.this.seems.to.be.t
14460 68 65 20 75 6e 77 72 69 74 74 65 6e 20 73 74 61 6e 64 61 72 64 20 69 6e 20 6e 65 74 77 6f 72 6b he.unwritten.standard.in.network
14480 20 64 65 76 69 63 65 20 43 4c 49 73 2c 20 61 6e 64 20 61 20 67 6f 6f 64 20 61 65 73 74 68 65 74 .device.CLIs,.and.a.good.aesthet
144a0 69 63 20 63 6f 6d 70 72 6f 6d 69 73 65 2e 00 52 65 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 75 ic.compromise..Recent.versions.u
144c0 73 65 20 74 68 65 20 60 60 76 79 6f 73 2e 66 72 72 60 60 20 66 72 61 6d 65 77 6f 72 6b 2e 20 54 se.the.``vyos.frr``.framework..T
144e0 68 65 20 50 79 74 68 6f 6e 20 63 6c 61 73 73 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 73 69 64 he.Python.class.is.located.insid
14500 65 20 6f 75 72 20 60 60 76 79 6f 73 2d 31 78 3a 70 79 74 68 6f 6e 2f 76 79 6f 73 2f 66 72 72 2e e.our.``vyos-1x:python/vyos/frr.
14520 70 79 60 60 2e 20 49 74 20 63 6f 6d 65 73 20 77 69 74 68 20 61 6e 20 65 6d 62 65 64 64 65 64 20 py``..It.comes.with.an.embedded.
14540 64 65 62 75 67 67 69 6e 67 2f 20 28 70 72 69 6e 74 20 73 74 79 6c 65 29 20 64 65 62 75 67 67 65 debugging/.(print.style).debugge
14560 72 20 61 73 20 76 79 6f 73 2e 69 66 63 6f 6e 66 69 67 20 64 6f 65 73 2e 00 52 65 70 6f 72 74 20 r.as.vyos.ifconfig.does..Report.
14580 61 20 42 75 67 00 52 75 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 a.Bug.Run.the.following.command.
145a0 61 66 74 65 72 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 49 53 4f 20 69 6d 61 67 65 2e 00 52 75 after.building.the.ISO.image..Ru
145c0 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 61 66 74 65 72 20 62 75 n.the.following.command.after.bu
145e0 69 6c 64 69 6e 67 20 74 68 65 20 51 45 4d 55 20 69 6d 61 67 65 2e 00 53 69 6d 70 6c 79 20 75 73 ilding.the.QEMU.image..Simply.us
14600 65 20 6f 75 72 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 74 6f 20 62 75 69 6c 64 20 61 6c e.our.wrapper.script.to.build.al
14620 6c 20 6f 66 20 74 68 65 20 64 72 69 76 65 72 20 6d 6f 64 75 6c 65 73 2e 00 53 69 6e 63 65 20 56 l.of.the.driver.modules..Since.V
14640 79 4f 53 20 68 61 73 20 73 77 69 74 63 68 65 64 20 74 6f 20 44 65 62 69 61 6e 20 28 31 31 29 20 yOS.has.switched.to.Debian.(11).
14660 42 75 6c 6c 73 65 79 65 20 69 6e 20 69 74 73 20 60 60 63 75 72 72 65 6e 74 60 60 20 62 72 61 6e Bullseye.in.its.``current``.bran
14680 63 68 2c 20 79 6f 75 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20 69 6e 64 69 76 69 64 75 61 6c 20 ch,.you.will.require.individual.
146a0 63 6f 6e 74 61 69 6e 65 72 20 66 6f 72 20 60 63 75 72 72 65 6e 74 60 2c 20 60 65 71 75 75 6c 65 container.for.`current`,.`equule
146c0 75 73 60 20 61 6e 64 20 60 63 72 75 78 60 20 62 75 69 6c 64 73 2e 00 53 6d 6f 6b 65 74 65 73 74 us`.and.`crux`.builds..Smoketest
146e0 73 00 53 6d 6f 6b 65 74 65 73 74 73 20 65 78 65 63 75 74 65 73 20 70 72 65 64 65 66 69 6e 65 64 s.Smoketests.executes.predefined
14700 20 56 79 4f 53 20 43 4c 49 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 63 68 65 63 6b 73 20 69 66 .VyOS.CLI.commands.and.checks.if
14720 20 74 68 65 20 64 65 73 69 72 65 64 20 64 61 65 6d 6f 6e 2f 73 65 72 76 69 63 65 20 63 6f 6e 66 .the.desired.daemon/service.conf
14740 69 67 75 72 61 74 69 6f 6e 20 69 73 20 72 65 6e 64 65 72 74 20 2d 20 74 68 61 74 20 69 73 20 68 iguration.is.rendert.-.that.is.h
14760 6f 77 20 74 6f 20 70 75 74 20 69 74 20 22 73 68 6f 72 74 22 2e 00 53 6f 20 69 66 20 79 6f 75 20 ow.to.put.it."short"..So.if.you.
14780 70 6c 61 6e 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 49 53 plan.to.build.your.own.custom.IS
147a0 4f 20 69 6d 61 67 65 20 61 6e 64 20 77 61 6e 27 74 20 74 6f 20 6d 61 6b 65 20 75 73 65 20 6f 66 O.image.and.wan't.to.make.use.of
147c0 20 6f 75 72 20 73 6d 6f 6b 65 74 65 73 74 73 2c 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 .our.smoketests,.ensure.that.you
147e0 20 68 61 76 65 20 74 68 65 20 60 76 79 6f 73 2d 31 78 2d 73 6d 6f 6b 65 74 65 73 74 60 20 70 61 .have.the.`vyos-1x-smoketest`.pa
14800 63 6b 61 67 65 20 69 6e 73 74 61 6c 6c 65 64 2e 00 53 6f 6d 65 20 56 79 4f 53 20 70 61 63 6b 61 ckage.installed..Some.VyOS.packa
14820 67 65 73 20 28 6e 61 6d 65 6c 79 20 76 79 6f 73 2d 31 78 29 20 63 6f 6d 65 20 77 69 74 68 20 62 ges.(namely.vyos-1x).come.with.b
14840 75 69 6c 64 2d 74 69 6d 65 20 74 65 73 74 73 20 77 68 69 63 68 20 76 65 72 69 66 79 20 73 6f 6d uild-time.tests.which.verify.som
14860 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 79 20 63 61 6c 6c 73 20 e.of.the.internal.library.calls.
14880 74 68 61 74 20 74 68 65 79 20 77 6f 72 6b 20 61 73 20 65 78 70 65 63 74 65 64 2e 20 54 68 6f 73 that.they.work.as.expected..Thos
148a0 65 20 74 65 73 74 73 20 61 72 65 20 63 61 72 72 69 65 64 20 6f 75 74 20 74 68 72 6f 75 67 68 20 e.tests.are.carried.out.through.
148c0 74 68 65 20 50 79 74 68 6f 6e 20 55 6e 69 74 74 65 73 74 20 6d 6f 64 75 6c 65 2e 20 49 66 20 79 the.Python.Unittest.module..If.y
148e0 6f 75 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 60 60 76 79 6f 73 2d 31 78 60 60 ou.want.to.build.the.``vyos-1x``
14900 20 70 61 63 6b 61 67 65 20 28 77 68 69 63 68 20 69 73 20 6f 75 72 20 6d 61 69 6e 20 64 65 76 65 .package.(which.is.our.main.deve
14920 6c 6f 70 6d 65 6e 74 20 70 61 63 6b 61 67 65 29 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 74 61 lopment.package).you.need.to.sta
14940 72 74 20 79 6f 75 72 20 44 6f 63 6b 65 72 20 63 6f 6e 74 61 69 6e 65 72 20 75 73 69 6e 67 20 74 rt.your.Docker.container.using.t
14960 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 3a 20 60 60 2d 2d 73 79 73 63 74 he.following.argument:.``--sysct
14980 6c 20 6e 65 74 2e 69 70 76 36 2e 63 6f 6e 66 2e 6c 6f 2e 64 69 73 61 62 6c 65 5f 69 70 76 36 3d l.net.ipv6.conf.lo.disable_ipv6=
149a0 30 60 60 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 6f 73 65 20 74 65 73 74 73 20 77 69 6c 6c 20 0``,.otherwise.those.tests.will.
149c0 66 61 69 6c 2e 00 53 6f 6d 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 61 72 65 20 74 72 61 fail..Some.abbreviations.are.tra
149e0 64 69 74 69 6f 6e 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 69 6e 20 6d 69 78 65 64 20 63 61 73 65 ditionally.written.in.mixed.case
14a00 2e 20 47 65 6e 65 72 61 6c 6c 79 2c 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 77 6f 72 64 ..Generally,.if.it.contains.word
14a20 73 20 22 6f 76 65 72 22 20 6f 72 20 22 76 65 72 73 69 6f 6e 22 2c 20 74 68 65 20 6c 65 74 74 65 s."over".or."version",.the.lette
14a40 72 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 6c 6f 77 65 72 63 61 73 65 2e 20 49 66 20 74 68 r.**should**.be.lowercase..If.th
14a60 65 72 65 27 73 20 61 6e 20 61 63 63 65 70 74 65 64 20 73 70 65 6c 6c 69 6e 67 20 28 65 73 70 65 ere's.an.accepted.spelling.(espe
14a80 63 69 61 6c 6c 79 20 69 66 20 64 65 66 69 6e 65 64 20 62 79 20 61 6e 20 52 46 43 20 6f 72 20 61 cially.if.defined.by.an.RFC.or.a
14aa0 6e 6f 74 68 65 72 20 73 74 61 6e 64 61 72 64 29 2c 20 69 74 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 nother.standard),.it.**must**.be
14ac0 20 66 6f 6c 6c 6f 77 65 64 2e 00 53 6f 6d 65 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 .followed..Some.of.the.configura
14ae0 74 69 6f 6e 73 20 68 61 76 65 20 70 72 65 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 69 63 68 20 6e tions.have.preconditions.which.n
14b00 65 65 64 20 74 6f 20 62 65 20 6d 65 74 2e 20 54 68 6f 73 65 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 eed.to.be.met..Those.most.likely
14b20 20 69 6e 63 6c 75 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 20 63 72 79 70 6f 67 72 61 70 .include.generation.of.crypograp
14b40 68 69 63 20 6b 65 79 73 20 62 65 66 6f 72 65 20 74 68 65 20 63 6f 6e 66 69 67 20 63 61 6e 20 62 hic.keys.before.the.config.can.b
14b60 65 20 61 70 70 6c 69 65 64 20 2d 20 79 6f 75 20 77 69 6c 6c 20 67 65 74 20 61 20 63 6f 6d 6d 69 e.applied.-.you.will.get.a.commi
14b80 74 20 65 72 72 6f 72 20 6f 74 68 65 72 77 69 73 65 2e 20 49 66 20 79 6f 75 20 61 72 65 20 69 6e t.error.otherwise..If.you.are.in
14ba0 74 65 72 65 73 74 65 64 20 68 6f 77 20 74 68 6f 73 65 20 70 72 65 63 6f 6e 64 69 74 69 6f 6e 73 terested.how.those.preconditions
14bc0 20 61 72 65 20 66 75 6c 66 69 6c 6c 65 64 20 63 68 65 63 6b 20 74 68 65 20 76 79 6f 73 2d 62 75 .are.fulfilled.check.the.vyos-bu
14be0 69 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 74 68 65 20 60 60 73 63 72 69 70 74 ild_.repository.and.the.``script
14c00 73 2f 63 68 65 63 6b 2d 71 65 6d 75 2d 69 6e 73 74 61 6c 6c 60 60 20 66 69 6c 65 2e 00 53 6f 6d s/check-qemu-install``.file..Som
14c20 65 74 69 6d 65 73 20 69 74 20 6d 69 67 68 74 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 64 65 62 etimes.it.might.be.useful.to.deb
14c40 75 67 20 50 79 74 68 6f 6e 20 63 6f 64 65 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 6e 20 ug.Python.code.interactively.on.
14c60 74 68 65 20 6c 69 76 65 20 73 79 73 74 65 6d 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 49 44 the.live.system.rather.than.a.ID
14c80 45 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 61 63 68 69 65 76 65 64 20 75 73 69 6e 67 20 70 64 E..This.can.be.achieved.using.pd
14ca0 62 2e 00 53 74 61 72 74 20 74 68 65 20 62 75 69 6c 64 3a 00 53 74 61 72 74 69 6e 67 20 77 69 74 b..Start.the.build:.Starting.wit
14cc0 68 20 56 79 4f 53 20 31 2e 32 20 74 68 65 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 6c 20 6f 66 20 h.VyOS.1.2.the.release.model.of.
14ce0 56 79 4f 53 20 68 61 73 20 63 68 61 6e 67 65 64 2e 20 56 79 4f 53 20 69 73 20 6e 6f 77 20 2a 2a VyOS.has.changed..VyOS.is.now.**
14d00 66 72 65 65 20 61 73 20 69 6e 20 73 70 65 65 63 68 2c 20 62 75 74 20 6e 6f 74 20 61 73 20 69 6e free.as.in.speech,.but.not.as.in
14d20 20 62 65 65 72 2a 2a 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 68 69 6c 65 20 56 .beer**..This.means.that.while.V
14d40 79 4f 53 20 69 73 20 73 74 69 6c 6c 20 61 6e 20 6f 70 65 6e 20 73 6f 75 72 63 65 20 70 72 6f 6a yOS.is.still.an.open.source.proj
14d60 65 63 74 2c 20 74 68 65 20 72 65 6c 65 61 73 65 20 49 53 4f 73 20 61 72 65 20 6e 6f 20 6c 6f 6e ect,.the.release.ISOs.are.no.lon
14d80 67 65 72 20 66 72 65 65 20 61 6e 64 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 6f 62 74 61 69 6e 65 ger.free.and.can.only.be.obtaine
14da0 64 20 76 69 61 20 73 75 62 73 63 72 69 70 74 69 6f 6e 2c 20 6f 72 20 62 79 20 63 6f 6e 74 72 69 d.via.subscription,.or.by.contri
14dc0 62 75 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 6d 75 6e 69 74 79 2e 00 53 75 62 6d 69 74 20 buting.to.the.community..Submit.
14de0 61 20 50 61 74 63 68 00 53 75 62 6d 69 74 20 74 68 65 20 70 61 74 63 68 20 60 60 67 69 74 20 70 a.Patch.Submit.the.patch.``git.p
14e00 75 73 68 60 60 20 61 6e 64 20 63 72 65 61 74 65 20 74 68 65 20 47 69 74 48 75 62 20 70 75 6c 6c ush``.and.create.the.GitHub.pull
14e20 2d 72 65 71 75 65 73 74 2e 00 53 75 6d 6d 61 72 79 00 53 75 70 70 6f 73 65 20 79 6f 75 20 77 61 -request..Summary.Suppose.you.wa
14e40 6e 74 20 74 6f 20 6d 61 6b 65 20 61 20 63 68 61 6e 67 65 20 69 6e 20 74 68 65 20 77 65 62 70 72 nt.to.make.a.change.in.the.webpr
14e60 6f 78 79 20 73 63 72 69 70 74 20 62 75 74 20 79 65 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20 6b 6e oxy.script.but.yet.you.do.not.kn
14e80 6f 77 20 77 68 69 63 68 20 6f 66 20 74 68 65 20 6d 61 6e 79 20 56 79 4f 53 20 70 61 63 6b 61 67 ow.which.of.the.many.VyOS.packag
14ea0 65 73 20 73 68 69 70 20 74 68 69 73 20 66 69 6c 65 2e 20 59 6f 75 20 63 61 6e 20 64 65 74 65 72 es.ship.this.file..You.can.deter
14ec0 6d 69 6e 65 20 74 68 65 20 56 79 4f 53 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 6e 20 71 75 mine.the.VyOS.package.name.in.qu
14ee0 65 73 74 69 6f 6e 20 62 79 20 75 73 69 6e 67 20 44 65 62 69 61 6e 27 73 20 60 60 64 70 6b 67 20 estion.by.using.Debian's.``dpkg.
14f00 2d 53 60 60 20 63 6f 6d 6d 61 6e 64 20 6f 66 20 79 6f 75 72 20 72 75 6e 6e 69 6e 67 20 56 79 4f -S``.command.of.your.running.VyO
14f20 53 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 00 53 79 73 74 65 6d 20 53 74 61 72 74 75 70 00 54 S.installation..System.Startup.T
14f40 65 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 emplate.processor.**should**.be.
14f60 75 73 65 64 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 73 used.for.generating.config.files
14f80 2e 20 42 75 69 6c 74 2d 69 6e 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 2a 2a 6d ..Built-in.string.formatting.**m
14fa0 61 79 2a 2a 20 62 65 20 75 73 65 64 20 66 6f 72 20 73 69 6d 70 6c 65 20 6c 69 6e 65 2d 6f 72 69 ay**.be.used.for.simple.line-ori
14fc0 65 6e 74 65 64 20 66 6f 72 6d 61 74 73 20 77 68 65 72 65 20 65 76 65 72 79 20 6c 69 6e 65 20 69 ented.formats.where.every.line.i
14fe0 73 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 2c 20 73 75 63 68 20 61 73 20 69 70 74 61 62 6c s.self-contained,.such.as.iptabl
15000 65 73 20 72 75 6c 65 73 2e 20 54 65 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 2a 2a 6d es.rules..Template.processor.**m
15020 75 73 74 2a 2a 20 62 65 20 75 73 65 64 20 66 6f 72 20 73 74 72 75 63 74 75 72 65 64 2c 20 6d 75 ust**.be.used.for.structured,.mu
15040 6c 74 69 2d 6c 69 6e 65 20 66 6f 72 6d 61 74 73 20 73 75 63 68 20 61 73 20 74 68 6f 73 65 20 75 lti-line.formats.such.as.those.u
15060 73 65 64 20 62 79 20 49 53 43 20 44 48 43 50 64 2e 00 54 65 73 74 69 6e 67 00 54 65 78 74 20 67 sed.by.ISC.DHCPd..Testing.Text.g
15080 65 6e 65 72 61 74 69 6f 6e 00 54 68 65 20 43 4c 49 20 70 61 72 73 65 72 20 75 73 65 64 20 69 6e eneration.The.CLI.parser.used.in
150a0 20 56 79 4f 53 20 69 73 20 61 20 6d 69 78 20 6f 66 20 62 61 73 68 2c 20 62 61 73 68 2d 63 6f 6d .VyOS.is.a.mix.of.bash,.bash-com
150c0 70 6c 65 74 69 6f 6e 20 68 65 6c 70 65 72 20 61 6e 64 20 74 68 65 20 43 2b 2b 20 62 61 63 6b 65 pletion.helper.and.the.C++.backe
150e0 6e 64 20 6c 69 62 72 61 72 79 20 5b 76 79 61 74 74 61 2d 63 66 67 5d 28 68 74 74 70 73 3a 2f 2f nd.library.[vyatta-cfg](https://
15100 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 61 2d 63 66 67 29 2e 20 54 68 69 github.com/vyos/vyatta-cfg)..Thi
15120 73 20 73 65 63 74 69 6f 6e 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 6f 66 20 63 6f 6d 6d s.section.is.a.reference.of.comm
15140 6f 6e 20 43 4c 49 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 74 68 65 20 72 65 73 70 65 63 74 69 on.CLI.commands.and.the.respecti
15160 76 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 43 2f 43 2b 2b 20 63 6f 64 65 ve.entry.point.in.the.C/C++.code
15180 2e 00 54 68 65 20 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 20 64 6f 20 6e 6f 74 20 63 ..The.Intel.NIC.drivers.do.not.c
151a0 6f 6d 65 20 66 72 6f 6d 20 61 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 69 6e 73 74 65 ome.from.a.Git.repository,.inste
151c0 61 64 20 77 65 20 6a 75 73 74 20 66 65 74 63 68 20 74 68 65 20 74 61 72 62 61 6c 6c 73 20 66 72 ad.we.just.fetch.the.tarballs.fr
151e0 6f 6d 20 6f 75 72 20 6d 69 72 72 6f 72 20 61 6e 64 20 63 6f 6d 70 69 6c 65 20 74 68 65 6d 2e 00 om.our.mirror.and.compile.them..
15200 54 68 65 20 49 6e 74 65 6c 20 51 41 54 20 28 51 75 69 63 6b 20 41 73 73 69 73 74 20 54 65 63 68 The.Intel.QAT.(Quick.Assist.Tech
15220 6e 6f 6c 6f 67 79 29 20 64 72 69 76 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6d 65 20 66 72 6f 6d nology).drivers.do.not.come.from
15240 20 61 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 69 6e 73 74 65 61 64 20 77 65 20 6a 75 .a.Git.repository,.instead.we.ju
15260 73 74 20 66 65 74 63 68 20 74 68 65 20 74 61 72 62 61 6c 6c 73 20 66 72 6f 6d 20 30 31 2e 6f 72 st.fetch.the.tarballs.from.01.or
15280 67 2c 20 49 6e 74 65 6c 27 73 20 6f 70 65 6e 2d 73 6f 75 72 63 65 20 77 65 62 73 69 74 65 2e 00 g,.Intel's.open-source.website..
152a0 54 68 65 20 4c 69 6e 75 78 20 6b 65 72 6e 65 6c 20 75 73 65 64 20 62 79 20 56 79 4f 53 20 69 73 The.Linux.kernel.used.by.VyOS.is
152c0 20 68 65 61 76 69 6c 79 20 74 69 65 64 20 74 6f 20 74 68 65 20 49 53 4f 20 62 75 69 6c 64 20 70 .heavily.tied.to.the.ISO.build.p
152e0 72 6f 63 65 73 73 2e 20 54 68 65 20 66 69 6c 65 20 60 60 64 61 74 61 2f 64 65 66 61 75 6c 74 73 rocess..The.file.``data/defaults
15300 2e 6a 73 6f 6e 60 60 20 68 6f 73 74 73 20 61 20 4a 53 4f 4e 20 64 65 66 69 6e 69 74 69 6f 6e 20 .json``.hosts.a.JSON.definition.
15320 6f 66 20 74 68 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 6f 6e 20 75 73 65 64 20 60 60 6b 65 72 of.the.kernel.version.used.``ker
15340 6e 65 6c 5f 76 65 72 73 69 6f 6e 60 60 20 61 6e 64 20 74 68 65 20 60 60 6b 65 72 6e 65 6c 5f 66 nel_version``.and.the.``kernel_f
15360 6c 61 76 6f 72 60 60 20 6f 66 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 68 69 63 68 20 72 65 70 72 lavor``.of.the.kernel.which.repr
15380 65 73 65 6e 74 73 20 74 68 65 20 6b 65 72 6e 65 6c 27 73 20 4c 4f 43 41 4c 5f 56 45 52 53 49 4f esents.the.kernel's.LOCAL_VERSIO
153a0 4e 2e 20 42 6f 74 68 20 74 6f 67 65 74 68 65 72 20 66 6f 72 6d 20 74 68 65 20 6b 65 72 6e 65 6c N..Both.together.form.the.kernel
153c0 20 76 65 72 73 69 6f 6e 20 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 3a .version.variable.in.the.system:
153e0 00 54 68 65 20 52 45 41 44 4d 45 2e 6d 64 20 66 69 6c 65 20 77 69 6c 6c 20 67 75 69 64 65 20 79 .The.README.md.file.will.guide.y
15400 6f 75 20 74 6f 20 75 73 65 20 74 68 65 20 74 68 69 73 20 74 6f 70 20 6c 65 76 65 6c 20 72 65 70 ou.to.use.the.this.top.level.rep
15420 6f 73 69 74 6f 72 79 2e 00 54 68 65 20 60 60 61 70 70 6c 79 28 29 60 60 20 61 6e 64 20 60 60 67 ository..The.``apply()``.and.``g
15440 65 6e 65 72 61 74 65 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 73 20 6d 61 79 20 60 60 72 61 69 73 enerate()``.functions.may.``rais
15460 65 20 43 6f 6e 66 69 67 45 72 72 6f 72 60 60 20 69 66 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c e.ConfigError``.if,.for.example,
15480 20 74 68 65 20 64 61 65 6d 6f 6e 20 66 61 69 6c 65 64 20 74 6f 20 73 74 61 72 74 20 77 69 74 68 .the.daemon.failed.to.start.with
154a0 20 74 68 65 20 75 70 64 61 74 65 64 20 63 6f 6e 66 69 67 2e 20 49 74 20 73 68 6f 75 6c 64 6e 27 .the.updated.config..It.shouldn'
154c0 74 20 62 65 20 61 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 70 72 6f 70 65 72 20 63 6f 6e t.be.a.substitute.for.proper.con
154e0 66 69 67 20 63 68 65 63 6b 69 6e 67 20 69 6e 20 74 68 65 20 60 60 76 65 72 69 66 79 28 29 60 60 fig.checking.in.the.``verify()``
15500 20 66 75 6e 63 74 69 6f 6e 2e 20 41 6c 6c 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 .function..All.reasonable.effort
15520 20 73 68 6f 75 6c 64 20 62 65 20 6d 61 64 65 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 67 .should.be.made.to.verify.that.g
15540 65 6e 65 72 61 74 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 76 61 6c 69 64 20 enerated.configuration.is.valid.
15560 61 6e 64 20 77 69 6c 6c 20 62 65 20 61 63 63 65 70 74 65 64 20 62 79 20 74 68 65 20 64 61 65 6d and.will.be.accepted.by.the.daem
15580 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 2c 20 77 68 65 6e 20 6e 65 63 65 73 73 61 72 79 2c 20 63 on,.including,.when.necessary,.c
155a0 72 6f 73 73 2d 20 63 68 65 63 6b 73 20 77 69 74 68 20 6f 74 68 65 72 20 56 79 4f 53 20 63 6f 6e ross-.checks.with.other.VyOS.con
155c0 66 69 67 75 72 61 74 69 6f 6e 20 73 75 62 74 72 65 65 73 2e 00 54 68 65 20 60 60 61 70 70 6c 79 figuration.subtrees..The.``apply
155e0 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 69 65 73 20 74 68 65 20 67 65 6e 65 72 61 ()``.function.applies.the.genera
15600 74 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 6c 69 76 65 20 73 79 ted.configuration.to.the.live.sy
15620 73 74 65 6d 2e 20 49 74 20 73 68 6f 75 6c 64 20 75 73 65 20 6e 6f 6e 2d 64 69 73 72 75 70 74 69 stem..It.should.use.non-disrupti
15640 76 65 20 72 65 6c 6f 61 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 49 74 20 ve.reload.whenever.possible..It.
15660 6d 61 79 20 65 78 65 63 75 74 65 20 64 69 73 72 75 70 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e may.execute.disruptive.operation
15680 73 20 73 75 63 68 20 61 73 20 64 61 65 6d 6f 6e 20 70 72 6f 63 65 73 73 20 72 65 73 74 61 72 74 s.such.as.daemon.process.restart
156a0 20 69 66 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 64 6f 65 73 20 .if.a.particular.component.does.
156c0 6e 6f 74 20 73 75 70 70 6f 72 74 20 6e 6f 6e 2d 64 69 73 72 75 70 74 69 76 65 20 72 65 6c 6f 61 not.support.non-disruptive.reloa
156e0 64 2c 20 6f 72 20 77 68 65 6e 20 74 68 65 20 65 78 70 65 63 74 65 64 20 73 65 72 76 69 63 65 20 d,.or.when.the.expected.service.
15700 64 65 67 72 61 64 61 74 69 6f 6e 20 69 73 20 6d 69 6e 69 6d 61 6c 20 28 66 6f 72 20 65 78 61 6d degradation.is.minimal.(for.exam
15720 70 6c 65 2c 20 69 6e 20 63 61 73 65 20 6f 66 20 61 75 78 69 6c 69 61 72 79 20 73 65 72 76 69 63 ple,.in.case.of.auxiliary.servic
15740 65 73 20 73 75 63 68 20 61 73 20 4c 4c 44 50 64 29 2e 20 49 6e 20 63 61 73 65 20 6f 66 20 68 69 es.such.as.LLDPd)..In.case.of.hi
15760 67 68 20 69 6d 70 61 63 74 20 73 65 72 76 69 63 65 73 20 73 75 63 68 20 61 73 20 56 50 4e 20 64 gh.impact.services.such.as.VPN.d
15780 61 65 6d 6f 6e 20 61 6e 64 20 72 6f 75 74 69 6e 67 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 77 68 65 aemon.and.routing.protocols,.whe
157a0 6e 20 6e 6f 6e 2d 20 64 69 73 72 75 70 74 69 76 65 20 72 65 6c 6f 61 64 20 69 73 20 73 75 70 70 n.non-.disruptive.reload.is.supp
157c0 6f 72 74 65 64 20 66 6f 72 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 61 6c 6c 20 74 79 70 65 73 orted.for.some.but.not.all.types
157e0 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 61 6e 67 65 73 2c 20 73 63 72 69 70 .of.configuration.changes,.scrip
15800 74 73 20 61 75 74 68 6f 72 73 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 65 66 66 6f 72 74 20 74 6f ts.authors.should.make.effort.to
15820 20 64 65 74 65 72 6d 69 6e 65 20 69 66 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 .determine.if.a.configuration.ch
15840 61 6e 67 65 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 69 6e 20 61 20 6e 6f 6e 2d 64 69 73 72 75 70 ange.can.be.done.in.a.non-disrup
15860 74 69 76 65 20 77 61 79 20 61 6e 64 20 6f 6e 6c 79 20 72 65 73 6f 72 74 20 74 6f 20 64 69 73 72 tive.way.and.only.resort.to.disr
15880 75 70 74 69 76 65 20 72 65 73 74 61 72 74 20 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 61 uptive.restart.if.it.cannot.be.a
158a0 76 6f 69 64 65 64 2e 00 54 68 65 20 60 60 67 65 6e 65 72 61 74 65 28 29 60 60 20 66 75 6e 63 74 voided..The.``generate()``.funct
158c0 69 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 63 6f 6e 66 69 67 20 66 69 6c 65 73 20 66 6f 72 20 73 ion.generates.config.files.for.s
158e0 79 73 74 65 6d 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 00 54 68 65 20 60 60 67 65 74 5f 63 6f 6e 66 ystem.components..The.``get_conf
15900 69 67 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 63 6f 6e 76 65 72 74 20 74 68 65 ig()``.function.must.convert.the
15920 20 56 79 4f 53 20 63 6f 6e 66 69 67 20 74 6f 20 61 6e 20 61 62 73 74 72 61 63 74 2c 20 69 6e 74 .VyOS.config.to.an.abstract,.int
15940 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 4e 6f 20 6f 74 68 65 72 20 66 ernal.representation..No.other.f
15960 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 63 61 6c 6c 20 74 68 65 20 60 unction.is.allowed.to.call.the.`
15980 60 76 79 6f 73 2e 63 6f 6e 66 69 67 2e 20 43 6f 6e 66 69 67 60 60 20 6f 62 6a 65 63 74 20 6d 65 `vyos.config..Config``.object.me
159a0 74 68 6f 64 20 64 69 72 65 63 74 6c 79 2e 20 54 68 65 20 72 61 74 69 6f 6e 61 6c 65 20 66 6f 72 thod.directly..The.rationale.for
159c0 20 69 74 20 69 73 20 74 68 61 74 20 77 68 65 6e 20 63 6f 6e 66 69 67 20 72 65 61 64 73 20 61 72 .it.is.that.when.config.reads.ar
159e0 65 20 6d 69 78 65 64 20 77 69 74 68 20 6f 74 68 65 72 20 6c 6f 67 69 63 2c 20 69 74 27 73 20 76 e.mixed.with.other.logic,.it's.v
15a00 65 72 79 20 68 61 72 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 63 6f 6e 66 69 67 20 73 79 ery.hard.to.change.the.config.sy
15a20 6e 74 61 78 20 73 69 6e 63 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 65 65 64 20 6f 75 74 20 ntax.since.you.need.to.weed.out.
15a40 65 76 65 72 79 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 73 79 6e 74 every.occurrence.of.the.old.synt
15a60 61 78 2e 20 49 66 20 73 79 6e 74 61 78 2d 73 70 65 63 69 66 69 63 20 63 6f 64 65 20 69 73 20 63 ax..If.syntax-specific.code.is.c
15a80 6f 6e 66 69 6e 65 64 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 onfined.to.a.single.function,.th
15aa0 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 63 6f 64 65 20 63 61 6e 20 62 65 20 6c 65 66 74 20 75 e.rest.of.the.code.can.be.left.u
15ac0 6e 74 6f 75 63 68 65 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c ntouched.as.long.as.the.internal
15ae0 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 72 65 6d 61 69 6e 73 20 63 6f 6d 70 61 74 69 62 .representation.remains.compatib
15b00 6c 65 2e 00 54 68 65 20 60 60 6d 61 6b 65 20 74 65 73 74 60 60 20 63 6f 6d 6d 61 6e 64 20 66 72 le..The.``make.test``.command.fr
15b20 6f 6d 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 20 77 69 om.the.vyos-build_.repository.wi
15b40 6c 6c 20 6c 61 75 6e 63 68 20 61 20 6e 65 77 20 51 45 6d 75 20 69 6e 73 74 61 6e 63 65 20 61 6e ll.launch.a.new.QEmu.instance.an
15b60 64 20 74 68 65 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 66 69 72 73 74 20 69 6e 73 74 61 6c 6c d.the.ISO.image.is.first.install
15b80 65 64 20 74 6f 20 74 68 65 20 76 69 72 74 75 61 6c 20 68 61 72 64 64 69 73 6b 2e 00 54 68 65 20 ed.to.the.virtual.harddisk..The.
15ba0 60 60 76 65 72 69 66 79 28 29 60 60 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 79 6f 75 72 ``verify()``.function.takes.your
15bc0 20 69 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 .internal.representation.of.the.
15be0 63 6f 6e 66 69 67 20 61 6e 64 20 63 68 65 63 6b 73 20 69 66 20 69 74 27 73 20 76 61 6c 69 64 2c config.and.checks.if.it's.valid,
15c00 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 6d 75 73 74 20 72 61 69 73 65 20 60 60 43 6f 6e 66 69 .otherwise.it.must.raise.``Confi
15c20 67 45 72 72 6f 72 60 60 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 gError``.with.an.error.message.t
15c40 68 61 74 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 61 6e 64 20 70 6f hat.describes.the.problem.and.po
15c60 73 73 69 62 6c 79 20 73 75 67 67 65 73 74 73 20 68 6f 77 20 74 6f 20 66 69 78 20 69 74 2e 20 49 ssibly.suggests.how.to.fix.it..I
15c80 74 20 6d 75 73 74 20 6e 6f 74 20 6d 61 6b 65 20 61 6e 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 t.must.not.make.any.changes.to.t
15ca0 68 65 20 73 79 73 74 65 6d 2e 20 54 68 65 20 72 61 74 69 6f 6e 61 6c 65 20 66 6f 72 20 69 74 20 he.system..The.rationale.for.it.
15cc0 69 73 20 61 67 61 69 6e 20 74 65 73 74 61 62 69 6c 69 74 79 20 61 6e 64 2c 20 69 6e 20 74 68 65 is.again.testability.and,.in.the
15ce0 20 66 75 74 75 72 65 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 66 69 67 20 62 61 63 6b 65 6e 64 20 .future.when.the.config.backend.
15d00 69 73 20 72 65 61 64 79 20 61 6e 64 20 65 76 65 72 79 20 73 63 72 69 70 74 20 69 73 20 72 65 77 is.ready.and.every.script.is.rew
15d20 72 69 74 74 65 6e 20 69 6e 20 74 68 69 73 20 66 61 73 68 69 6f 6e 2c 20 61 62 69 6c 69 74 79 20 ritten.in.this.fashion,.ability.
15d40 74 6f 20 65 78 65 63 75 74 65 20 63 6f 6d 6d 69 74 20 64 72 79 20 72 75 6e 20 28 22 63 6f 6d 6d to.execute.commit.dry.run.("comm
15d60 69 74 20 74 65 73 74 22 20 6c 69 6b 65 20 69 6e 20 4a 75 6e 4f 53 29 20 61 6e 64 20 61 62 6f 72 it.test".like.in.JunOS).and.abor
15d80 74 20 63 6f 6d 6d 69 74 20 62 65 66 6f 72 65 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 t.commit.before.making.any.chang
15da0 65 73 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 69 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 es.to.the.system.if.an.error.is.
15dc0 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 63 6f 6d 70 6f 6e 65 6e 74 2e 00 54 68 65 20 62 61 73 68 found.in.any.component..The.bash
15de0 20 28 6f 72 20 62 65 74 74 65 72 20 76 62 61 73 68 29 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 69 6e .(or.better.vbash).completion.in
15e00 20 56 79 4f 53 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 2a 74 65 6d 70 6c 61 74 65 73 2a 2e .VyOS.is.defined.in.*templates*.
15e20 20 54 65 6d 70 6c 61 74 65 73 20 61 72 65 20 74 65 78 74 20 66 69 6c 65 73 20 28 63 61 6c 6c 65 .Templates.are.text.files.(calle
15e40 64 20 60 60 6e 6f 64 65 2e 64 65 66 60 60 29 20 73 74 6f 72 65 64 20 69 6e 20 61 20 64 69 72 65 d.``node.def``).stored.in.a.dire
15e60 63 74 6f 72 79 20 74 72 65 65 2e 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 ctory.tree..The.directory.names.
15e80 64 65 66 69 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 74 65 define.the.command.names,.and.te
15ea0 6d 70 6c 61 74 65 20 66 69 6c 65 73 20 64 65 66 69 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 mplate.files.define.the.command.
15ec0 62 65 68 61 76 69 6f 75 72 2e 20 42 65 66 6f 72 65 20 56 79 4f 53 20 31 2e 32 20 28 63 72 75 78 behaviour..Before.VyOS.1.2.(crux
15ee0 29 20 74 68 69 73 20 66 69 6c 65 73 20 77 65 72 65 20 63 72 65 61 74 65 64 20 62 79 20 68 61 6e ).this.files.were.created.by.han
15f00 64 2e 20 41 66 74 65 72 20 61 20 63 6f 6d 70 6c 65 78 20 72 65 64 65 73 69 67 6e 20 70 72 6f 63 d..After.a.complex.redesign.proc
15f20 65 73 73 5f 20 74 68 65 20 6e 65 77 20 73 74 79 6c 65 20 74 65 6d 70 6c 61 74 65 20 61 72 65 20 ess_.the.new.style.template.are.
15f40 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f 6d 20 61 20 58 automatically.generated.from.a.X
15f60 4d 4c 20 69 6e 70 75 74 20 66 69 6c 65 2e 00 54 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 ML.input.file..The.build.process
15f80 20 6e 65 65 64 73 20 74 6f 20 62 65 20 62 75 69 6c 74 20 6f 6e 20 61 20 6c 6f 63 61 6c 20 66 69 .needs.to.be.built.on.a.local.fi
15fa0 6c 65 20 73 79 73 74 65 6d 2c 20 62 75 69 6c 64 69 6e 67 20 6f 6e 20 53 4d 42 20 6f 72 20 4e 46 le.system,.building.on.SMB.or.NF
15fc0 53 20 73 68 61 72 65 73 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 63 6f 6e 74 S.shares.will.result.in.the.cont
15fe0 61 69 6e 65 72 20 66 61 69 6c 69 6e 67 20 74 6f 20 62 75 69 6c 64 20 70 72 6f 70 65 72 6c 79 21 ainer.failing.to.build.properly!
16000 20 56 69 72 74 75 61 6c 42 6f 78 20 44 72 69 76 65 20 53 68 61 72 65 20 69 73 20 61 6c 73 6f 20 .VirtualBox.Drive.Share.is.also.
16020 6e 6f 74 20 61 6e 20 6f 70 74 69 6f 6e 20 61 73 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 20 6f 70 not.an.option.as.block.device.op
16040 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 6e 64 erations.are.not.implemented.and
16060 20 74 68 65 20 64 72 69 76 65 20 69 73 20 61 6c 77 61 79 73 20 6d 6f 75 6e 74 65 64 20 61 73 20 .the.drive.is.always.mounted.as.
16080 22 6e 6f 64 65 76 22 00 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 61 72 65 20 61 "nodev".The.configurations.are.a
160a0 6c 6c 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 70 72 6f 64 75 63 74 69 6f 6e 20 73 79 73 74 65 ll.derived.from.production.syste
160c0 6d 73 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 6f 6e 6c 79 20 61 63 74 20 61 73 20 61 20 74 65 73 ms.and.can.not.only.act.as.a.tes
160e0 74 63 61 73 65 20 62 75 74 20 61 6c 73 6f 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 69 66 20 6f tcase.but.also.as.reference.if.o
16100 6e 65 20 77 61 6e 74 73 20 74 6f 20 65 6e 61 62 6c 65 20 61 20 63 65 72 74 61 69 6e 20 66 65 61 ne.wants.to.enable.a.certain.fea
16120 74 75 72 65 2e 20 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 ture..The.configurations.can.be.
16140 66 6f 75 6e 64 20 68 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 found.here:.https://github.com/v
16160 79 6f 73 2f 76 79 6f 73 2d 31 78 2f 74 72 65 65 2f 63 75 72 72 65 6e 74 2f 73 6d 6f 6b 65 74 65 yos/vyos-1x/tree/current/smokete
16180 73 74 2f 63 6f 6e 66 69 67 73 00 54 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 61 6e 20 61 6c 73 st/configs.The.container.can.als
161a0 6f 20 62 65 20 62 75 69 6c 74 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 73 6f 75 72 63 65 3a o.be.built.directly.from.source:
161c0 00 54 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 61 6e 20 62 65 20 62 75 69 6c 74 20 62 79 20 68 .The.container.can.be.built.by.h
161e0 61 6e 64 20 6f 72 20 62 79 20 66 65 74 63 68 69 6e 67 20 74 68 65 20 70 72 65 2d 62 75 69 6c 74 and.or.by.fetching.the.pre-built
16200 20 6f 6e 65 20 66 72 6f 6d 20 44 6f 63 6b 65 72 48 75 62 2e 20 55 73 69 6e 67 20 74 68 65 20 70 .one.from.DockerHub..Using.the.p
16220 72 65 2d 62 75 69 6c 74 20 63 6f 6e 74 61 69 6e 65 72 73 20 66 72 6f 6d 20 74 68 65 20 60 56 79 re-built.containers.from.the.`Vy
16240 4f 53 20 44 6f 63 6b 65 72 48 75 62 20 6f 72 67 61 6e 69 73 61 74 69 6f 6e 60 5f 20 77 69 6c 6c OS.DockerHub.organisation`_.will
16260 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 61 6c .ensure.that.the.container.is.al
16280 77 61 79 73 20 75 70 2d 74 6f 2d 64 61 74 65 2e 20 41 20 72 65 62 75 69 6c 64 20 69 73 20 74 72 ways.up-to-date..A.rebuild.is.tr
162a0 69 67 67 65 72 65 64 20 6f 6e 63 65 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 63 68 61 6e 67 iggered.once.the.container.chang
162c0 65 73 20 28 70 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 69 73 20 77 69 6c 6c 20 74 61 6b 65 20 32 es.(please.note.this.will.take.2
162e0 2d 33 20 68 6f 75 72 73 20 61 66 74 65 72 20 70 75 73 68 69 6e 67 20 74 6f 20 74 68 65 20 76 79 -3.hours.after.pushing.to.the.vy
16300 6f 73 2d 62 75 69 6c 64 20 72 65 70 6f 73 69 74 6f 72 79 29 2e 00 54 68 65 20 64 65 66 61 75 6c os-build.repository)..The.defaul
16320 74 20 74 65 6d 70 6c 61 74 65 20 70 72 6f 63 65 73 73 6f 72 20 66 6f 72 20 56 79 4f 53 20 63 6f t.template.processor.for.VyOS.co
16340 64 65 20 69 73 20 4a 69 6e 6a 61 32 5f 2e 00 54 68 65 20 65 61 73 69 65 73 74 20 77 61 79 20 74 de.is.Jinja2_..The.easiest.way.t
16360 6f 20 63 6f 6d 70 69 6c 65 20 79 6f 75 72 20 70 61 63 6b 61 67 65 20 69 73 20 77 69 74 68 20 74 o.compile.your.package.is.with.t
16380 68 65 20 61 62 6f 76 65 20 6d 65 6e 74 69 6f 6e 65 64 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 64 he.above.mentioned.:ref:`build_d
163a0 6f 63 6b 65 72 60 20 63 6f 6e 74 61 69 6e 65 72 2c 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 6c ocker`.container,.it.includes.al
163c0 6c 20 72 65 71 75 69 72 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 61 6c 6c 20 l.required.dependencies.for.all.
163e0 56 79 4f 53 20 72 65 6c 61 74 65 64 20 70 61 63 6b 61 67 65 73 2e 00 54 68 65 20 65 6e 74 69 72 VyOS.related.packages..The.entir
16400 65 20 74 65 73 74 20 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 6d 61 69 6e e.test.is.controlled.by.the.main
16420 20 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 60 60 2f 75 73 72 2f 62 69 6e 2f 76 79 6f 73 2d .wrapper.script.``/usr/bin/vyos-
16440 63 6f 6e 66 69 67 74 65 73 74 60 60 20 77 68 69 63 68 20 62 65 68 61 76 65 73 20 69 6e 20 74 68 configtest``.which.behaves.in.th
16460 65 20 73 61 6d 65 20 77 61 79 20 61 73 20 74 68 65 20 6d 61 69 6e 20 73 6d 6f 6b 65 74 65 73 74 e.same.way.as.the.main.smoketest
16480 20 73 63 72 69 70 74 2e 20 49 74 20 73 63 61 6e 73 20 74 68 65 20 66 6f 6c 64 65 72 20 66 6f 72 .script..It.scans.the.folder.for
164a0 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 73 20 61 .potential.configuration.files.a
164c0 6e 64 20 69 73 73 75 65 73 20 61 20 60 60 6c 6f 61 64 60 60 20 63 6f 6d 6d 61 6e 64 20 6f 6e 65 nd.issues.a.``load``.command.one
164e0 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 2e 00 54 68 65 20 66 69 6c 65 20 63 61 6e 20 62 65 20 .after.another..The.file.can.be.
16500 70 6c 61 63 65 64 20 69 6e 20 60 60 2f 74 6d 70 60 60 20 66 6f 72 20 6f 6e 65 20 74 69 6d 65 20 placed.in.``/tmp``.for.one.time.
16520 64 65 62 75 67 67 69 6e 67 20 28 61 73 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 72 debugging.(as.the.file.will.be.r
16540 65 6d 6f 76 65 64 20 6f 6e 20 72 65 62 6f 6f 74 29 20 6f 72 20 70 6c 61 63 65 64 20 69 6e 20 27 emoved.on.reboot).or.placed.in.'
16560 2f 63 6f 6e 66 69 67 27 20 74 6f 20 73 74 61 79 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2e 00 54 68 /config'.to.stay.permanently..Th
16580 65 20 66 69 72 73 74 20 77 6f 72 64 20 6f 66 20 65 76 65 72 79 20 68 65 6c 70 20 73 74 72 69 6e e.first.word.of.every.help.strin
165a0 67 20 2a 2a 6d 75 73 74 2a 2a 20 62 65 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 20 54 68 65 72 65 g.**must**.be.capitalized..There
165c0 20 2a 2a 6d 75 73 74 20 6e 6f 74 2a 2a 20 62 65 20 61 20 70 65 72 69 6f 64 20 61 74 20 74 68 65 .**must.not**.be.a.period.at.the
165e0 20 65 6e 64 20 6f 66 20 68 65 6c 70 20 73 74 72 69 6e 67 73 2e 00 54 68 65 20 66 6f 6c 6c 6f 77 .end.of.help.strings..The.follow
16600 69 6e 67 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 66 ing.includes.the.build.process.f
16620 6f 72 20 56 79 4f 53 20 31 2e 32 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f or.VyOS.1.2.to.the.latest.versio
16640 6e 2e 00 54 68 65 20 66 6f 72 6d 61 74 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 64 20 69 73 20 69 n..The.format.should.be.and.is.i
16660 6e 73 70 69 72 65 64 20 62 79 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 2d 73 63 6d 2e 63 6f 6d 2f nspired.by:.https://git-scm.com/
16680 62 6f 6f 6b 2f 63 68 35 2d 32 2e 68 74 6d 6c 20 49 74 20 69 73 20 61 6c 73 6f 20 77 6f 72 74 68 book/ch5-2.html.It.is.also.worth
166a0 20 72 65 61 64 69 6e 67 20 68 74 74 70 73 3a 2f 2f 63 68 72 69 73 2e 62 65 61 6d 73 2e 69 6f 2f .reading.https://chris.beams.io/
166c0 70 6f 73 74 73 2f 67 69 74 2d 63 6f 6d 6d 69 74 2f 00 54 68 65 20 67 72 65 61 74 20 74 68 69 6e posts/git-commit/.The.great.thin
166e0 67 20 61 62 6f 75 74 20 73 63 68 65 6d 61 73 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 61 74 g.about.schemas.is.not.only.that
16700 20 70 65 6f 70 6c 65 20 63 61 6e 20 6b 6e 6f 77 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 67 72 .people.can.know.the.complete.gr
16720 61 6d 6d 61 72 20 66 6f 72 20 63 65 72 74 61 69 6e 2c 20 62 75 74 20 61 6c 73 6f 20 74 68 61 74 ammar.for.certain,.but.also.that
16740 20 69 74 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 76 65 72 69 66 69 65 .it.can.be.automatically.verifie
16760 64 2e 20 54 68 65 20 60 73 63 72 69 70 74 73 2f 62 75 69 6c 64 2d 63 6f 6d 6d 61 6e 64 2d 74 65 d..The.`scripts/build-command-te
16780 6d 70 6c 61 74 65 73 60 20 73 63 72 69 70 74 20 74 68 61 74 20 63 6f 6e 76 65 72 74 73 20 74 68 mplates`.script.that.converts.th
167a0 65 20 58 4d 4c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 6f 6c 64 20 73 74 79 6c 65 20 74 e.XML.definitions.to.old.style.t
167c0 65 6d 70 6c 61 74 65 73 20 61 6c 73 6f 20 76 65 72 69 66 69 65 73 20 74 68 65 6d 20 61 67 61 69 emplates.also.verifies.them.agai
167e0 6e 73 74 20 74 68 65 20 73 63 68 65 6d 61 2c 20 73 6f 20 61 20 62 61 64 20 64 65 66 69 6e 69 74 nst.the.schema,.so.a.bad.definit
16800 69 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 62 75 69 6c 64 ion.will.cause.the.package.build
16820 20 74 6f 20 66 61 69 6c 2e 20 49 20 64 6f 20 61 67 72 65 65 20 74 68 61 74 20 74 68 65 20 66 6f .to.fail..I.do.agree.that.the.fo
16840 72 6d 61 74 20 69 73 20 76 65 72 62 6f 73 65 2c 20 62 75 74 20 74 68 65 72 65 20 69 73 20 6e 6f rmat.is.verbose,.but.there.is.no
16860 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 20 6e 6f 77 20 74 68 61 74 20 77 6f 75 6c 64 20 61 6c 6c .other.format.now.that.would.all
16880 6f 77 20 74 68 69 73 2e 20 42 65 73 69 64 65 73 2c 20 61 20 73 70 65 63 69 61 6c 69 7a 65 64 20 ow.this..Besides,.a.specialized.
168a0 58 4d 4c 20 65 64 69 74 6f 72 20 63 61 6e 20 61 6c 6c 65 76 69 61 74 65 20 74 68 65 20 69 73 73 XML.editor.can.alleviate.the.iss
168c0 75 65 20 77 69 74 68 20 76 65 72 62 6f 73 69 74 79 2e 00 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 ue.with.verbosity..The.informati
168e0 6f 6e 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 72 65 65 20 77 61 79 73 3a 00 54 68 65 20 6b 65 on.is.used.in.three.ways:.The.ke
16900 72 6e 65 6c 20 62 75 69 6c 64 20 69 73 20 71 75 69 74 65 20 65 61 73 79 2c 20 6d 6f 73 74 20 6f rnel.build.is.quite.easy,.most.o
16920 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 73 74 65 70 73 20 63 61 6e 20 62 65 20 66 6f 75 6e f.the.required.steps.can.be.foun
16940 64 20 69 6e 20 74 68 65 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c d.in.the.``vyos-build/packages/l
16960 69 6e 75 78 2d 6b 65 72 6e 65 6c 2f 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 62 75 74 20 77 65 inux-kernel/Jenkinsfile``.but.we
16980 20 77 69 6c 6c 20 77 61 6c 6b 20 79 6f 75 20 74 68 72 6f 75 67 68 20 69 74 2e 00 54 68 65 20 6d .will.walk.you.through.it..The.m
169a0 6f 73 74 20 6f 62 76 69 6f 75 73 20 72 65 61 73 6f 6e 73 20 63 6f 75 6c 64 20 62 65 3a 00 54 68 ost.obvious.reasons.could.be:.Th
169c0 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 70 6f 20 69 73 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 e.original.repo.is.at.https://gi
169e0 74 68 75 62 2e 63 6f 6d 2f 64 6d 62 61 74 75 72 69 6e 2f 68 76 69 6e 66 6f 00 54 68 65 20 6f 74 thub.com/dmbaturin/hvinfo.The.ot
16a00 68 65 72 20 70 61 72 74 20 6f 66 20 6f 75 72 20 74 65 73 74 73 20 61 72 65 20 63 61 6c 6c 65 64 her.part.of.our.tests.are.called
16a20 20 22 63 6f 6e 66 69 67 20 6c 6f 61 64 20 74 65 73 74 73 22 2e 20 54 68 65 20 63 6f 6e 66 69 67 ."config.load.tests"..The.config
16a40 20 6c 6f 61 64 20 74 65 73 74 73 20 77 69 6c 6c 20 6c 6f 61 64 20 2d 20 6f 6e 65 20 61 66 74 65 .load.tests.will.load.-.one.afte
16a60 72 20 61 6e 6f 74 68 65 72 20 2d 20 61 72 62 69 74 72 61 72 79 20 63 6f 6e 66 69 67 75 72 61 74 r.another.-.arbitrary.configurat
16a80 69 6f 6e 20 66 69 6c 65 73 20 74 6f 20 74 65 73 74 20 69 66 20 74 68 65 20 63 6f 6e 66 69 67 75 ion.files.to.test.if.the.configu
16aa0 72 61 74 69 6f 6e 20 6d 69 67 72 61 74 69 6f 6e 20 73 63 72 69 70 74 73 20 77 6f 72 6b 20 61 73 ration.migration.scripts.work.as
16ac0 20 64 65 73 69 67 6e 65 64 20 61 6e 64 20 74 68 61 74 20 61 20 67 69 76 65 6e 20 73 65 74 20 6f .designed.and.that.a.given.set.o
16ae0 66 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 73 74 69 6c 6c 20 63 61 6e 20 62 65 20 6c 6f 61 f.functionality.still.can.be.loa
16b00 64 65 64 20 77 69 74 68 20 61 20 66 72 65 73 68 20 56 79 4f 53 20 49 53 4f 20 69 6d 61 67 65 2e ded.with.a.fresh.VyOS.ISO.image.
16b20 00 54 68 65 20 6f 75 74 70 75 74 20 79 6f 75 20 67 65 74 20 77 68 65 6e 20 79 6f 75 20 66 69 6e .The.output.you.get.when.you.fin
16b40 64 20 61 20 62 75 67 20 63 61 6e 20 70 72 6f 76 69 64 65 20 6c 6f 74 73 20 6f 66 20 69 6e 66 6f d.a.bug.can.provide.lots.of.info
16b60 72 6d 61 74 69 6f 6e 2e 20 49 66 20 79 6f 75 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 rmation..If.you.get.an.error.mes
16b80 73 61 67 65 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 2c 20 63 6f 70 79 20 69 74 20 65 78 61 63 sage.on.the.screen,.copy.it.exac
16ba0 74 6c 79 2e 20 48 61 76 69 6e 67 20 74 68 65 20 65 78 61 63 74 20 6d 65 73 73 61 67 65 20 63 61 tly..Having.the.exact.message.ca
16bc0 6e 20 70 72 6f 76 69 64 65 20 64 65 74 61 69 6c 20 74 68 61 74 20 74 68 65 20 64 65 76 65 6c 6f n.provide.detail.that.the.develo
16be0 70 65 72 73 20 63 61 6e 20 75 73 65 2e 20 4c 69 6b 65 20 77 69 73 65 20 69 66 20 79 6f 75 20 68 pers.can.use..Like.wise.if.you.h
16c00 61 76 65 20 61 6e 79 20 6c 6f 67 20 6d 65 73 73 61 67 65 73 20 74 68 61 74 20 61 6c 73 6f 20 61 ave.any.log.messages.that.also.a
16c20 72 65 20 66 72 6f 6d 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 69 73 73 75 65 2c 20 69 re.from.the.time.of.the.issue,.i
16c40 6e 63 6c 75 64 65 20 74 68 6f 73 65 2e 20 54 68 65 79 20 6d 61 79 20 61 6c 73 6f 20 63 6f 6e 74 nclude.those..They.may.also.cont
16c60 61 69 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 68 65 6c 70 66 75 6c 20 ain.information.that.is.helpful.
16c80 66 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 74 65 61 6d 2e 00 54 68 65 20 70 61 for.the.development.team..The.pa
16ca0 63 6b 61 67 65 20 65 6e 64 73 20 75 70 20 69 6e 20 64 65 62 5f 64 69 73 74 20 64 69 72 2e 00 54 ckage.ends.up.in.deb_dist.dir..T
16cc0 68 65 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 he.reason.is.that.the.configurat
16ce0 69 6f 6e 20 6d 69 67 72 61 74 69 6f 6e 20 62 61 63 6b 65 6e 64 20 69 73 20 72 65 77 72 69 74 74 ion.migration.backend.is.rewritt
16d00 65 6e 20 61 6e 64 20 75 73 65 73 20 61 20 6e 65 77 20 66 6f 72 6d 20 6f 66 20 22 6d 61 67 69 63 en.and.uses.a.new.form.of."magic
16d20 20 73 74 72 69 6e 67 22 20 77 68 69 63 68 20 69 73 20 61 70 70 6c 69 65 64 20 6f 6e 20 64 65 6d .string".which.is.applied.on.dem
16d40 61 6e 64 20 77 68 65 6e 20 72 65 61 6c 20 63 6f 6e 66 69 67 20 6d 69 67 72 61 74 69 6f 6e 20 69 and.when.real.config.migration.i
16d60 73 20 72 75 6e 20 6f 6e 20 62 6f 6f 74 2e 20 57 68 65 6e 20 72 75 6e 6e 69 6e 74 20 69 6e 64 69 s.run.on.boot..When.runnint.indi
16d80 76 69 64 75 61 6c 20 6d 69 67 72 61 74 6f 72 73 20 66 6f 72 20 74 65 73 74 69 6e 67 2c 20 79 6f vidual.migrators.for.testing,.yo
16da0 75 20 6e 65 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 22 6d 61 67 69 63 20 73 74 72 u.need.to.convert.the."magic.str
16dc0 69 6e 67 22 20 6f 6e 20 79 6f 75 72 20 6f 77 6e 20 62 79 3a 00 54 68 65 20 72 65 70 6f 73 69 74 ing".on.your.own.by:.The.reposit
16de0 6f 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 74 68 65 20 49 53 4f 20 62 75 ory.that.contains.all.the.ISO.bu
16e00 69 6c 64 20 73 63 72 69 70 74 73 20 69 73 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ild.scripts.is:.https://github.c
16e20 6f 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 62 75 69 6c 64 00 54 68 65 20 73 63 72 69 70 74 20 6f 6e om/vyos/vyos-build.The.script.on
16e40 6c 79 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 22 74 65 73 74 ly.searches.for.executable."test
16e60 2d 63 61 73 65 73 22 20 75 6e 64 65 72 20 60 60 2f 75 73 72 2f 6c 69 62 65 78 65 63 2f 76 79 6f -cases".under.``/usr/libexec/vyo
16e80 73 2f 74 65 73 74 73 2f 73 6d 6f 6b 65 2f 63 6c 69 2f 60 60 20 61 6e 64 20 65 78 65 63 75 74 65 s/tests/smoke/cli/``.and.execute
16ea0 73 20 74 68 65 6d 20 6f 6e 65 20 62 79 20 6f 6e 65 2e 00 54 68 65 20 73 6f 75 72 63 65 20 63 6f s.them.one.by.one..The.source.co
16ec0 64 65 20 72 65 6d 61 69 6e 73 20 70 75 62 6c 69 63 20 61 6e 64 20 61 6e 20 49 53 4f 20 63 61 6e de.remains.public.and.an.ISO.can
16ee0 20 62 65 20 62 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 75 74 6c .be.built.using.the.process.outl
16f00 69 6e 65 64 20 69 6e 20 74 68 69 73 20 63 68 61 70 74 65 72 2e 00 54 68 65 20 73 6f 75 72 63 65 ined.in.this.chapter..The.source
16f20 20 69 73 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 .is.at.https://github.com/vyos/v
16f40 79 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 00 54 68 65 20 73 6f 75 72 63 65 20 69 73 20 6c 6f 63 yos-strongswan.The.source.is.loc
16f60 61 74 65 64 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f ated.at.https://github.com/vyos/
16f80 76 79 6f 73 2d 6e 65 74 70 6c 75 67 00 54 68 65 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 50 vyos-netplug.The.switch.to.the.P
16fa0 79 74 68 6f 6e 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 66 6f 72 20 6e ython.programming.language.for.n
16fc0 65 77 20 63 6f 64 65 20 69 73 20 6e 6f 74 20 6d 65 72 65 6c 79 20 61 20 63 68 61 6e 67 65 20 6f ew.code.is.not.merely.a.change.o
16fe0 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 62 75 74 20 61 20 63 68 61 6e 63 65 20 74 6f 20 f.the.language,.but.a.chance.to.
17000 72 65 74 68 69 6e 6b 20 61 6e 64 20 69 6d 70 72 6f 76 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d rethink.and.improve.the.programm
17020 69 6e 67 20 61 70 70 72 6f 61 63 68 2e 00 54 68 65 20 73 79 73 74 65 6d 20 73 74 61 72 74 75 70 ing.approach..The.system.startup
17040 20 63 61 6e 20 62 65 20 64 65 62 75 67 67 65 64 20 28 6c 69 6b 65 20 6c 6f 61 64 69 6e 67 20 69 .can.be.debugged.(like.loading.i
17060 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 66 72 6f 6d 20 60 60 n.the.configuration.file.from.``
17080 2f 63 6f 6e 66 69 67 2f 63 6f 6e 66 69 67 2e 62 6f 6f 74 60 60 2e 20 54 68 69 73 20 63 61 6e 20 /config/config.boot``..This.can.
170a0 62 65 20 61 63 68 69 65 76 65 20 62 79 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 4b 65 72 6e be.achieve.by.extending.the.Kern
170c0 65 6c 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 69 6e 20 74 68 65 20 62 6f 6f 74 6c 6f 61 64 65 el.command-line.in.the.bootloade
170e0 72 2e 00 54 68 65 72 65 20 61 72 65 20 28 72 61 72 65 29 20 73 69 74 75 61 74 69 6f 6e 73 20 77 r..There.are.(rare).situations.w
17100 68 65 72 65 20 62 75 69 6c 64 69 6e 67 20 61 6e 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 6e 6f here.building.an.ISO.image.is.no
17120 74 20 70 6f 73 73 69 62 6c 65 20 61 74 20 61 6c 6c 20 64 75 65 20 74 6f 20 61 20 62 72 6f 6b 65 t.possible.at.all.due.to.a.broke
17140 6e 20 70 61 63 6b 61 67 65 20 66 65 65 64 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 n.package.feed.in.the.background
17160 2e 20 41 50 54 20 69 73 20 6e 6f 74 20 76 65 72 79 20 67 6f 6f 64 20 61 74 20 72 65 70 6f 72 74 ..APT.is.not.very.good.at.report
17180 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 63 61 75 73 65 20 6f 66 20 74 68 65 20 69 73 73 75 65 2e ing.the.root.cause.of.the.issue.
171a0 20 59 6f 75 72 20 49 53 4f 20 62 75 69 6c 64 20 77 69 6c 6c 20 6c 69 6b 65 6c 79 20 66 61 69 6c .Your.ISO.build.will.likely.fail
171c0 20 77 69 74 68 20 61 20 6d 6f 72 65 20 6f 72 20 6c 65 73 73 20 73 69 6d 69 6c 61 72 20 6c 6f 6f .with.a.more.or.less.similar.loo
171e0 6b 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 00 54 68 65 72 65 20 61 72 65 20 64 69 king.error.message:.There.are.di
17200 66 66 65 72 65 6e 74 20 77 61 79 73 20 79 6f 75 20 63 61 6e 20 62 75 69 6c 64 20 56 79 4f 53 2e fferent.ways.you.can.build.VyOS.
17220 00 54 68 65 72 65 20 61 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 65 2e 67 2e 20 56 49 .There.are.extensions.to.e.g..VI
17240 4d 20 28 78 6d 6c 6c 69 6e 74 29 20 77 68 69 63 68 20 77 69 6c 6c 20 68 65 6c 70 20 79 6f 75 20 M.(xmllint).which.will.help.you.
17260 74 6f 20 67 65 74 20 79 6f 75 72 20 69 6e 64 65 6e 74 69 6f 6e 20 6c 65 76 65 6c 73 20 63 6f 72 to.get.your.indention.levels.cor
17280 72 65 63 74 2e 20 41 64 64 20 74 6f 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 79 6f 75 72 20 2e rect..Add.to.following.to.your..
172a0 76 69 6d 72 63 20 66 69 6c 65 3a 20 60 60 61 75 20 46 69 6c 65 54 79 70 65 20 78 6d 6c 20 73 65 vimrc.file:.``au.FileType.xml.se
172c0 74 6c 6f 63 61 6c 20 65 71 75 61 6c 70 72 67 3d 78 6d 6c 6c 69 6e 74 5c 20 2d 2d 66 6f 72 6d 61 tlocal.equalprg=xmllint\.--forma
172e0 74 5c 20 2d 2d 72 65 63 6f 76 65 72 5c 20 2d 5c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 60 20 6e t\.--recover\.-\.2>/dev/null``.n
17300 6f 77 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 74 68 65 20 6c 69 6e 74 65 72 20 75 73 69 6e 67 ow.you.can.call.the.linter.using
17320 20 60 60 67 67 3d 47 60 60 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 6d 6f 64 65 2e 00 54 68 65 72 65 .``gg=G``.in.command.mode..There
17340 20 61 72 65 20 74 77 6f 20 66 6c 61 67 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 61 69 64 20 .are.two.flags.available.to.aid.
17360 69 6e 20 64 65 62 75 67 67 69 6e 67 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70 in.debugging.configuration.scrip
17380 74 73 2e 20 53 69 6e 63 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6c 6f 61 64 69 6e 67 20 ts..Since.configuration.loading.
173a0 69 73 73 75 65 73 20 77 69 6c 6c 20 6d 61 6e 69 66 65 73 74 20 64 75 72 69 6e 67 20 62 6f 6f 74 issues.will.manifest.during.boot
173c0 2c 20 74 68 65 20 66 6c 61 67 73 20 61 72 65 20 70 61 73 73 65 64 20 61 73 20 6b 65 72 6e 65 6c ,.the.flags.are.passed.as.kernel
173e0 20 62 6f 6f 74 20 70 61 72 61 6d 65 74 65 72 73 2e 00 54 68 69 73 20 49 53 4f 20 63 61 6e 20 62 .boot.parameters..This.ISO.can.b
17400 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 e.customized.with.the.following.
17420 6c 69 73 74 20 6f 66 20 63 6f 6e 66 69 67 75 72 65 20 6f 70 74 69 6f 6e 73 2e 20 54 68 65 20 66 list.of.configure.options..The.f
17440 75 6c 6c 20 61 6e 64 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 63 61 6e 20 62 65 20 67 65 6e 65 ull.and.current.list.can.be.gene
17460 72 61 74 65 64 20 77 69 74 68 20 60 60 2e 2f 62 75 69 6c 64 2d 76 79 6f 73 2d 69 6d 61 67 65 20 rated.with.``./build-vyos-image.
17480 2d 2d 68 65 6c 70 60 60 3a 00 54 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 64 6f 6e 65 20 --help``:.This.can.also.be.done.
174a0 70 65 72 6d 61 6e 65 6e 74 6c 79 20 62 79 20 63 68 61 6e 67 69 6e 67 20 60 60 2f 62 6f 6f 74 2f permanently.by.changing.``/boot/
174c0 67 72 75 62 2f 67 72 75 62 2e 63 66 67 60 60 2e 00 54 68 69 73 20 63 68 61 70 74 65 72 20 6c 69 grub/grub.cfg``..This.chapter.li
174e0 73 74 73 20 74 68 6f 73 65 20 65 78 63 65 70 74 69 6f 6e 73 20 61 6e 64 20 67 69 76 65 73 20 79 sts.those.exceptions.and.gives.y
17500 6f 75 20 61 20 62 72 69 65 66 20 6f 76 65 72 76 69 65 77 20 77 68 61 74 20 77 65 20 68 61 76 65 ou.a.brief.overview.what.we.have
17520 20 64 6f 6e 65 20 6f 6e 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 20 49 66 20 79 6f 75 20 .done.on.those.packages..If.you.
17540 6f 6e 6c 79 20 77 61 6e 74 20 74 6f 20 62 75 69 6c 64 20 79 6f 75 72 73 65 6c 66 20 61 20 66 72 only.want.to.build.yourself.a.fr
17560 65 73 68 20 49 53 4f 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 6b 69 70 20 esh.ISO.you.can.completely.skip.
17580 74 68 69 73 20 63 68 61 70 74 65 72 2e 20 49 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 69 6e 74 65 this.chapter..It.may.become.inte
175a0 72 65 73 74 69 6e 67 20 6f 6e 63 65 20 79 6f 75 20 68 61 76 65 20 61 20 56 79 4f 53 20 64 65 65 resting.once.you.have.a.VyOS.dee
175c0 70 20 64 69 76 65 2e 00 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 75 74 69 6c 69 7a 69 6e p.dive..This.is.done.by.utilizin
175e0 67 20 74 68 65 20 60 60 73 79 73 74 65 6d 64 2d 62 6f 6f 74 63 68 61 72 74 60 60 20 70 61 63 6b g.the.``systemd-bootchart``.pack
17600 61 67 65 20 77 68 69 63 68 20 69 73 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 age.which.is.now.installed.by.de
17620 66 61 75 6c 74 20 6f 6e 20 74 68 65 20 56 79 4f 53 20 31 2e 33 20 28 65 71 75 75 6c 65 75 73 29 fault.on.the.VyOS.1.3.(equuleus)
17640 20 62 72 61 6e 63 68 2e 20 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 20 61 6c .branch..The.configuration.is.al
17660 73 6f 20 76 65 72 73 69 6f 6e 65 64 20 73 6f 20 77 65 20 67 65 74 20 63 6f 6d 70 61 72 61 62 6c so.versioned.so.we.get.comparabl
17680 65 20 72 65 73 75 6c 74 73 2e 20 60 60 73 79 73 74 65 6d 64 2d 62 6f 6f 74 63 68 61 72 74 60 60 e.results..``systemd-bootchart``
176a0 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 75 73 69 6e 67 20 74 68 69 73 20 66 69 6c 65 3a 20 .is.configured.using.this.file:.
176c0 62 6f 6f 74 63 68 61 72 74 2e 63 6f 6e 66 5f 00 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 66 bootchart.conf_.This.means.the.f
176e0 69 6c 65 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 28 60 60 2f 6f 70 74 2f 76 79 61 74 74 61 2f 73 ile.in.question.(``/opt/vyatta/s
17700 62 69 6e 2f 76 79 61 74 74 61 2d 75 70 64 61 74 65 2d 77 65 62 70 72 6f 78 79 2e 70 6c 60 60 29 bin/vyatta-update-webproxy.pl``)
17720 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 60 60 76 79 61 74 74 61 2d 77 65 62 70 .is.located.in.the.``vyatta-webp
17740 72 6f 78 79 60 60 20 70 61 63 6b 61 67 65 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 66 6f 75 6e roxy``.package.which.can.be.foun
17760 64 20 68 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f d.here:.https://github.com/vyos/
17780 76 79 61 74 74 61 2d 77 65 62 70 72 6f 78 79 00 54 68 69 73 20 70 61 63 6b 61 67 65 20 64 6f 65 vyatta-webproxy.This.package.doe
177a0 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 44 65 62 69 61 6e 2e 20 41 20 64 65 62 69 61 6e 69 7a sn't.exist.in.Debian..A.debianiz
177c0 65 64 20 66 6f 72 6b 20 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 ed.fork.is.kept.at.https://githu
177e0 62 2e 63 6f 6d 2f 76 79 6f 73 2f 6d 64 6e 73 2d 72 65 70 65 61 74 65 72 00 54 68 69 73 20 70 61 b.com/vyos/mdns-repeater.This.pa
17800 63 6b 61 67 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 44 65 62 69 61 6e 2e 20 41 ckage.doesn't.exist.in.Debian..A
17820 20 64 65 62 69 61 6e 69 7a 65 64 20 66 6f 72 6b 20 69 73 20 6b 65 70 74 20 61 74 20 68 74 74 70 .debianized.fork.is.kept.at.http
17840 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 75 64 70 2d 62 72 6f 61 64 63 61 73 s://github.com/vyos/udp-broadcas
17860 74 2d 72 65 6c 61 79 00 54 68 69 73 20 74 72 69 65 73 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 t-relay.This.tries.to.automatica
17880 6c 6c 79 20 64 65 74 65 63 74 20 77 68 69 63 68 20 62 6c 6f 62 73 20 61 72 65 20 6e 65 65 64 65 lly.detect.which.blobs.are.neede
178a0 64 20 62 61 73 65 64 20 6f 6e 20 77 68 69 63 68 20 64 72 69 76 65 72 73 20 77 65 72 65 20 62 75 d.based.on.which.drivers.were.bu
178c0 69 6c 74 2e 20 49 66 20 69 74 20 66 61 69 6c 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 63 6f 72 ilt..If.it.fails.to.find.the.cor
178e0 72 65 63 74 20 66 69 6c 65 73 20 79 6f 75 20 63 61 6e 20 61 64 64 20 74 68 65 6d 20 6d 61 6e 75 rect.files.you.can.add.them.manu
17900 61 6c 6c 79 20 74 6f 20 60 60 76 79 6f 73 2d 62 75 69 6c 64 2f 70 61 63 6b 61 67 65 73 2f 6c 69 ally.to.``vyos-build/packages/li
17920 6e 75 78 2d 6b 65 72 6e 65 6c 2f 62 75 69 6c 64 2d 6c 69 6e 75 78 2d 66 69 72 6d 77 61 72 65 2e nux-kernel/build-linux-firmware.
17940 73 68 60 60 3a 00 54 68 69 73 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 sh``:.This.will.guide.you.throug
17960 68 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 61 20 56 79 4f 53 h.the.process.of.building.a.VyOS
17980 20 49 53 4f 20 75 73 69 6e 67 20 44 6f 63 6b 65 72 2e 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 .ISO.using.Docker..This.process.
179a0 68 61 73 20 62 65 65 6e 20 74 65 73 74 65 64 20 6f 6e 20 63 6c 65 61 6e 20 69 6e 73 74 61 6c 6c has.been.tested.on.clean.install
179c0 73 20 6f 66 20 44 65 62 69 61 6e 20 42 75 6c 6c 73 65 79 65 20 28 31 31 29 20 61 6e 64 20 42 6f s.of.Debian.Bullseye.(11).and.Bo
179e0 6f 6b 77 6f 72 6d 20 28 31 32 29 2e 00 54 68 69 73 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 okworm.(12)..This.will.guide.you
17a00 20 74 68 72 6f 75 67 68 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 62 75 69 6c 64 69 6e 67 .through.the.process.of.building
17a20 20 61 20 56 79 4f 53 20 49 53 4f 20 75 73 69 6e 67 20 44 6f 63 6b 65 72 5f 2e 20 54 68 69 73 20 .a.VyOS.ISO.using.Docker_..This.
17a40 70 72 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 74 65 73 74 65 64 20 6f 6e 20 63 6c 65 61 6e process.has.been.tested.on.clean
17a60 20 69 6e 73 74 61 6c 6c 73 20 6f 66 20 44 65 62 69 61 6e 20 4a 65 73 73 69 65 2c 20 53 74 72 65 .installs.of.Debian.Jessie,.Stre
17a80 74 63 68 2c 20 61 6e 64 20 42 75 73 74 65 72 2e 00 54 68 69 73 20 77 69 6c 6c 20 6c 69 6d 69 74 tch,.and.Buster..This.will.limit
17aa0 20 74 68 65 20 60 62 6f 6e 64 60 20 69 6e 74 65 72 66 61 63 65 20 74 65 73 74 20 74 6f 20 6f 6e .the.`bond`.interface.test.to.on
17ac0 6c 79 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 60 65 74 68 31 60 20 61 6e 64 20 60 65 74 68 32 60 ly.make.use.of.`eth1`.and.`eth2`
17ae0 20 61 73 20 6d 65 6d 62 65 72 20 70 6f 72 74 73 2e 00 54 68 6f 73 65 20 63 6f 6d 6d 6f 6e 20 74 .as.member.ports..Those.common.t
17b00 65 73 74 73 20 63 6f 6e 73 69 73 74 73 20 6f 75 74 20 6f 66 3a 00 54 69 70 73 20 61 6e 64 20 54 ests.consists.out.of:.Tips.and.T
17b20 72 69 63 6b 73 00 54 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 75 73 65 20 44 6f 63 6b 65 72 5f 20 ricks.To.be.able.to.use.Docker_.
17b40 77 69 74 68 6f 75 74 20 60 60 73 75 64 6f 60 60 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 6f without.``sudo``,.the.current.no
17b60 6e 2d 72 6f 6f 74 20 75 73 65 72 20 6d 75 73 74 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 n-root.user.must.be.added.to.the
17b80 20 60 60 64 6f 63 6b 65 72 60 60 20 67 72 6f 75 70 20 62 79 20 63 61 6c 6c 69 6e 67 3a 20 60 60 .``docker``.group.by.calling:.``
17ba0 73 75 64 6f 20 75 73 65 72 6d 6f 64 20 2d 61 47 20 64 6f 63 6b 65 72 20 79 6f 75 72 75 73 65 72 sudo.usermod.-aG.docker.youruser
17bc0 6e 61 6d 65 60 60 2e 00 54 6f 20 62 75 69 6c 64 20 56 79 4f 53 20 6e 61 74 69 76 65 6c 79 20 79 name``..To.build.VyOS.natively.y
17be0 6f 75 20 72 65 71 75 69 72 65 20 61 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 ou.require.a.properly.configured
17c00 20 62 75 69 6c 64 20 68 6f 73 74 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 .build.host.with.the.following.D
17c20 65 62 69 61 6e 20 76 65 72 73 69 6f 6e 73 20 69 6e 73 74 61 6c 6c 65 64 3a 00 54 6f 20 62 75 69 ebian.versions.installed:.To.bui
17c40 6c 64 20 6f 75 72 20 6d 6f 64 75 6c 65 73 20 77 65 20 75 74 69 6c 69 7a 65 20 61 20 43 49 2f 43 ld.our.modules.we.utilize.a.CI/C
17c60 44 20 50 69 70 65 6c 69 6e 65 20 73 63 72 69 70 74 2e 20 45 61 63 68 20 61 6e 64 20 65 76 65 72 D.Pipeline.script..Each.and.ever
17c80 79 20 56 79 4f 53 20 63 6f 6d 70 6f 6e 65 6e 74 20 63 6f 6d 65 73 20 77 69 74 68 20 69 74 27 73 y.VyOS.component.comes.with.it's
17ca0 20 6f 77 6e 20 60 60 4a 65 6e 6b 69 6e 73 66 69 6c 65 60 60 20 77 68 69 63 68 20 69 73 20 28 6d .own.``Jenkinsfile``.which.is.(m
17cc0 6f 72 65 20 6f 72 20 6c 65 73 73 29 20 61 20 63 6f 70 79 2e 20 54 68 65 20 50 69 70 65 6c 69 6e ore.or.less).a.copy..The.Pipelin
17ce0 65 20 75 74 69 6c 69 7a 65 73 20 74 68 65 20 44 6f 63 6b 65 72 20 63 6f 6e 74 61 69 6e 65 72 20 e.utilizes.the.Docker.container.
17d00 66 72 6f 6d 20 74 68 65 20 3a 72 65 66 3a 60 62 75 69 6c 64 5f 69 73 6f 60 20 73 65 63 74 69 6f from.the.:ref:`build_iso`.sectio
17d20 6e 20 2d 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 69 74 20 66 n.-.but.instead.of.building.it.f
17d40 72 6f 6d 20 73 6f 75 72 63 65 20 6f 6e 20 65 76 65 72 79 20 72 75 6e 2c 20 77 65 20 72 61 74 68 rom.source.on.every.run,.we.rath
17d60 65 72 20 61 6c 77 61 79 73 20 66 65 74 63 68 20 61 20 66 72 65 73 68 20 63 6f 70 79 20 28 69 66 er.always.fetch.a.fresh.copy.(if
17d80 20 6e 65 65 64 65 64 29 20 66 72 6f 6d 20 44 6f 63 6b 65 72 68 75 62 5f 2e 00 54 6f 20 64 65 62 .needed).from.Dockerhub_..To.deb
17da0 75 67 20 69 73 73 75 65 73 20 69 6e 20 70 72 69 6f 72 69 74 69 65 73 20 6f 72 20 74 6f 20 73 65 ug.issues.in.priorities.or.to.se
17dc0 65 20 77 68 61 74 27 73 20 67 6f 69 6e 67 20 6f 6e 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f e.what's.going.on.in.the.backgro
17de0 75 6e 64 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 60 60 2f 6f 70 74 2f 76 79 61 74 74 und.you.can.use.the.``/opt/vyatt
17e00 61 2f 73 62 69 6e 2f 70 72 69 6f 72 69 74 79 2e 70 6c 60 60 20 73 63 72 69 70 74 20 77 68 69 63 a/sbin/priority.pl``.script.whic
17e20 68 20 6c 69 73 74 73 20 74 6f 20 79 6f 75 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 72 64 h.lists.to.you.the.execution.ord
17e40 65 72 20 6f 66 20 74 68 65 20 73 63 72 69 70 74 73 2e 00 54 6f 20 64 65 62 75 67 20 74 68 65 20 er.of.the.scripts..To.debug.the.
17e60 62 75 69 6c 64 20 70 72 6f 63 65 73 73 20 61 6e 64 20 67 61 69 6e 20 61 64 64 69 74 69 6f 6e 61 build.process.and.gain.additiona
17e80 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 77 68 61 74 20 63 6f 75 6c 64 20 62 65 20 74 l.information.of.what.could.be.t
17ea0 68 65 20 72 6f 6f 74 20 63 61 75 73 65 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 60 he.root.cause,.you.need.to.use.`
17ec0 63 68 72 6f 6f 74 60 20 74 6f 20 63 68 61 6e 67 65 20 69 6e 74 6f 20 74 68 65 20 62 75 69 6c 64 chroot`.to.change.into.the.build
17ee0 20 64 69 72 65 63 74 72 79 2e 20 54 68 69 73 20 69 73 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 .directry..This.is.explained.in.
17f00 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 65 70 20 62 79 20 73 74 65 70 20 70 72 6f 63 65 the.following.step.by.step.proce
17f20 64 75 72 65 3a 00 54 6f 20 65 6e 61 62 6c 65 20 62 6f 6f 74 20 74 69 6d 65 20 67 72 61 70 68 69 dure:.To.enable.boot.time.graphi
17f40 6e 67 20 63 68 61 6e 67 65 20 74 68 65 20 4b 65 72 6e 65 6c 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 ng.change.the.Kernel.commandline
17f60 20 61 6e 64 20 61 64 64 20 74 68 65 20 66 6f 6c 6f 77 69 6e 67 20 73 74 72 69 6e 67 3a 20 60 60 .and.add.the.folowing.string:.``
17f80 69 6e 69 74 3d 2f 75 73 72 2f 6c 69 62 2f 73 79 73 74 65 6d 64 2f 73 79 73 74 65 6d 64 2d 62 6f init=/usr/lib/systemd/systemd-bo
17fa0 6f 74 63 68 61 72 74 60 60 00 54 6f 20 65 6e 61 62 6c 65 20 64 65 62 75 67 67 69 6e 67 20 6a 75 otchart``.To.enable.debugging.ju
17fc0 73 74 20 72 75 6e 3a 20 60 60 24 20 74 6f 75 63 68 20 2f 74 6d 70 2f 76 79 6f 73 2e 66 72 72 2e st.run:.``$.touch./tmp/vyos.frr.
17fe0 64 65 62 75 67 60 60 00 54 6f 20 65 6e 73 75 72 65 20 75 6e 69 66 6f 72 6d 20 6c 6f 6f 6b 20 61 debug``.To.ensure.uniform.look.a
18000 6e 64 20 66 65 65 6c 2c 20 61 6e 64 20 69 6d 70 72 6f 76 65 20 72 65 61 64 61 62 69 6c 69 74 79 nd.feel,.and.improve.readability
18020 2c 20 77 65 20 73 68 6f 75 6c 64 20 66 6f 6c 6c 6f 77 20 61 20 73 65 74 20 6f 66 20 67 75 69 64 ,.we.should.follow.a.set.of.guid
18040 65 6c 69 6e 65 73 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 2e 00 54 6f 20 6d 61 6b 65 20 74 68 69 elines.consistently..To.make.thi
18060 73 20 61 70 70 72 6f 61 63 68 20 77 6f 72 6b 2c 20 65 76 65 72 79 20 63 68 61 6e 67 65 20 6d 75 s.approach.work,.every.change.mu
18080 73 74 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 61 73 6b 20 6e 75 6d st.be.associated.with.a.task.num
180a0 62 65 72 20 28 70 72 65 66 69 78 65 64 20 77 69 74 68 20 2a 2a 54 2a 2a 29 20 61 6e 64 20 61 20 ber.(prefixed.with.**T**).and.a.
180c0 63 6f 6d 70 6f 6e 65 6e 74 2e 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 62 75 67 20 72 65 component..If.there.is.no.bug.re
180e0 70 6f 72 74 2f 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 20 66 6f 72 20 74 68 65 20 63 68 61 port/feature.request.for.the.cha
18100 6e 67 65 73 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 6d 61 6b 65 2c 20 79 6f 75 20 nges.you.are.going.to.make,.you.
18120 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 61 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 74 61 have.to.create.a.Phabricator_.ta
18140 73 6b 20 66 69 72 73 74 2e 20 4f 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 6e 74 72 79 sk.first..Once.there.is.an.entry
18160 20 69 6e 20 50 68 61 62 72 69 63 61 74 6f 72 5f 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 72 65 66 .in.Phabricator_,.you.should.ref
18180 65 72 65 6e 63 65 20 69 74 73 20 69 64 20 69 6e 20 79 6f 75 72 20 63 6f 6d 6d 69 74 20 6d 65 73 erence.its.id.in.your.commit.mes
181a0 73 61 67 65 2c 20 61 73 20 73 68 6f 77 6e 20 62 65 6c 6f 77 3a 00 54 6f 20 6d 61 6e 75 61 6c 6c sage,.as.shown.below:.To.manuall
181c0 79 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 66 72 6f 6d 20 44 6f y.download.the.container.from.Do
181e0 63 6b 65 72 48 75 62 2c 20 72 75 6e 3a 00 54 6f 20 73 74 61 72 74 2c 20 63 6c 6f 6e 65 20 74 68 ckerHub,.run:.To.start,.clone.th
18200 65 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 6d 61 63 68 69 e.repository.to.your.local.machi
18220 6e 65 3a 00 54 6f 20 74 61 6b 65 20 79 6f 75 72 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 70 ne:.To.take.your.newly.created.p
18240 61 63 6b 61 67 65 20 6f 6e 20 61 20 74 65 73 74 20 64 72 69 76 65 20 79 6f 75 20 63 61 6e 20 73 ackage.on.a.test.drive.you.can.s
18260 69 6d 70 6c 79 20 53 43 50 20 69 74 20 74 6f 20 61 20 72 75 6e 6e 69 6e 67 20 56 79 4f 53 20 69 imply.SCP.it.to.a.running.VyOS.i
18280 6e 73 74 61 6e 63 65 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6e 65 77 20 60 2a 2e 64 nstance.and.install.the.new.`*.d
182a0 65 62 60 20 70 61 63 6b 61 67 65 20 6f 76 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 75 6e eb`.package.over.the.current.run
182c0 6e 69 6e 67 20 6f 6e 65 2e 00 54 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 00 55 6e 6c 65 73 73 ning.one..Troubleshooting.Unless
182e0 20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 65 63 65 73 73 61 72 79 2c 20 63 6f 6e 66 69 67 75 72 61 .absolutely.necessary,.configura
18300 74 69 6f 6e 20 73 63 72 69 70 74 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 tion.scripts.should.not.modify.t
18320 68 65 20 61 63 74 69 76 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20 73 79 73 74 65 he.active.configuration.of.syste
18340 6d 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 64 69 72 65 63 74 6c 79 2e 20 57 68 65 6e 65 76 65 72 20 m.components.directly..Whenever.
18360 61 74 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 2c 20 73 63 72 69 70 74 73 20 73 68 6f 75 6c 64 20 at.all.possible,.scripts.should.
18380 67 65 6e 65 72 61 74 65 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 6f 72 generate.a.configuration.file.or
183a0 20 66 69 6c 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 61 70 70 6c 69 65 64 20 77 69 74 68 20 .files.that.can.be.applied.with.
183c0 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 61 6e 64 20 73 75 63 68 20 61 73 20 72 65 6c 6f 61 64 69 a.single.command.such.as.reloadi
183e0 6e 67 20 61 20 73 65 72 76 69 63 65 20 74 68 72 6f 75 67 68 20 73 79 73 74 65 6d 64 20 69 6e 69 ng.a.service.through.systemd.ini
18400 74 2e 20 49 6e 73 65 72 74 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 6e 65 20 62 79 20 6f t..Inserting.statements.one.by.o
18420 6e 65 20 69 73 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 64 69 73 63 6f 75 72 61 67 65 64 2c 20 ne.is.particularly.discouraged,.
18440 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 6e 65 for.example,.when.configuring.ne
18460 74 66 69 6c 74 65 72 20 72 75 6c 65 73 2c 20 73 61 76 69 6e 67 20 74 68 65 6d 20 74 6f 20 61 20 tfilter.rules,.saving.them.to.a.
18480 66 69 6c 65 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 69 74 20 77 69 74 68 20 69 70 74 61 62 6c 65 file.and.loading.it.with.iptable
184a0 73 2d 72 65 73 74 6f 72 65 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 70 72 65 66 65 s-restore.should.always.be.prefe
184c0 72 72 65 64 20 74 6f 20 65 78 65 63 75 74 69 6e 67 20 69 70 74 61 62 6c 65 73 20 64 69 72 65 63 rred.to.executing.iptables.direc
184e0 74 6c 79 2e 00 55 70 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 00 55 73 65 20 6f 66 20 61 62 tly..Upstream.packages.Use.of.ab
18500 62 72 65 76 69 61 74 69 6f 6e 73 20 61 6e 64 20 61 63 72 6f 6e 79 6d 73 00 55 73 65 20 6f 66 20 breviations.and.acronyms.Use.of.
18520 6e 75 6d 62 65 72 73 00 55 73 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 69 6e 20 63 6f 6d 6d 61 6e numbers.Use.of.numbers.in.comman
18540 64 20 6e 61 6d 65 73 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 61 76 6f 69 64 65 64 20 75 6e d.names.**should**.be.avoided.un
18560 6c 65 73 73 20 61 20 6e 75 6d 62 65 72 20 69 73 20 61 20 70 61 72 74 20 6f 66 20 61 20 70 72 6f less.a.number.is.a.part.of.a.pro
18580 74 6f 63 6f 6c 20 6e 61 6d 65 20 6f 72 20 73 69 6d 69 6c 61 72 2e 20 54 68 75 73 2c 20 60 60 70 tocol.name.or.similar..Thus,.``p
185a0 72 6f 74 6f 63 6f 6c 73 20 6f 73 70 66 76 33 60 60 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 66 rotocols.ospfv3``.is.perfectly.f
185c0 69 6e 65 2c 20 62 75 74 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 60 73 65 72 76 65 72 ine,.but.something.like.``server
185e0 2d 31 60 60 20 69 73 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 61 74 20 62 65 73 74 2e 00 55 73 -1``.is.questionable.at.best..Us
18600 65 20 6f 66 20 76 65 72 62 73 00 55 73 65 20 72 65 67 65 78 00 55 73 65 66 75 6c 20 63 6f 6d 6d e.of.verbs.Use.regex.Useful.comm
18620 61 6e 64 73 20 61 72 65 3a 00 56 49 46 20 28 69 6e 63 6c 2e 20 56 49 46 2d 53 2f 56 49 46 2d 43 ands.are:.VIF.(incl..VIF-S/VIF-C
18640 29 00 56 4c 41 4e 73 20 28 51 69 6e 51 20 61 6e 64 20 72 65 67 75 6c 61 72 20 38 30 32 2e 31 71 ).VLANs.(QinQ.and.regular.802.1q
18660 29 00 56 4d 77 61 72 65 00 56 65 72 62 73 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 61 76 6f ).VMware.Verbs.**should**.be.avo
18680 69 64 65 64 2e 20 49 66 20 61 20 76 65 72 62 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 2c 20 ided..If.a.verb.can.be.omitted,.
186a0 6f 6d 69 74 20 69 74 2e 00 56 65 72 62 73 2c 20 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 6e 65 omit.it..Verbs,.when.they.are.ne
186c0 63 65 73 73 61 72 79 2c 20 2a 2a 73 68 6f 75 6c 64 2a 2a 20 62 65 20 69 6e 20 74 68 65 69 72 20 cessary,.**should**.be.in.their.
186e0 69 6e 66 69 6e 69 74 69 76 65 20 66 6f 72 6d 2e 00 56 69 72 74 75 61 6c 69 7a 61 74 69 6f 6e 20 infinitive.form..Virtualization.
18700 50 6c 61 74 66 6f 72 6d 73 00 56 79 4f 53 20 43 4c 49 20 69 73 20 61 6c 6c 20 61 62 6f 75 74 20 Platforms.VyOS.CLI.is.all.about.
18720 70 72 69 6f 72 69 74 69 65 73 2e 20 45 76 65 72 79 20 43 4c 49 20 6e 6f 64 65 20 68 61 73 20 61 priorities..Every.CLI.node.has.a
18740 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 60 60 6e 6f 64 65 2e 64 65 66 60 60 20 66 69 6c 65 .corresponding.``node.def``.file
18760 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 61 6e 20 61 74 74 61 63 68 65 64 20 73 63 72 69 70 74 .and.possibly.an.attached.script
18780 20 74 68 61 74 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6e 6f 64 65 20 .that.is.executed.when.the.node.
187a0 69 73 20 70 72 65 73 65 6e 74 2e 20 4e 6f 64 65 73 20 63 61 6e 20 68 61 76 65 20 61 20 70 72 69 is.present..Nodes.can.have.a.pri
187c0 6f 72 69 74 79 2c 20 61 6e 64 20 6f 6e 20 73 79 73 74 65 6d 20 62 6f 6f 74 75 70 20 2d 20 6f 72 ority,.and.on.system.bootup.-.or
187e0 20 61 6e 79 20 6f 74 68 65 72 20 60 60 63 6f 6d 6d 69 74 60 60 20 74 6f 20 74 68 65 20 63 6f 6e .any.other.``commit``.to.the.con
18800 66 69 67 20 61 6c 6c 20 73 63 72 69 70 74 73 20 61 72 65 20 65 78 65 63 75 74 65 64 20 66 72 6f fig.all.scripts.are.executed.fro
18820 6d 20 6c 6f 77 65 73 74 20 74 6f 20 68 69 67 65 73 74 20 70 72 69 6f 72 69 74 79 2e 20 54 68 69 m.lowest.to.higest.priority..Thi
18840 73 20 69 73 20 67 6f 6f 64 20 61 73 20 74 68 69 73 20 67 69 76 65 73 20 61 20 64 65 74 65 72 6d s.is.good.as.this.gives.a.determ
18860 69 6e 69 73 74 69 63 20 62 65 68 61 76 69 6f 72 2e 00 56 79 4f 53 20 68 61 73 20 73 77 69 74 63 inistic.behavior..VyOS.has.switc
18880 68 65 64 20 74 6f 20 44 65 62 69 61 6e 20 28 31 32 29 20 42 6f 6f 6b 77 6f 72 6d 20 69 6e 20 69 hed.to.Debian.(12).Bookworm.in.i
188a0 74 73 20 60 60 63 75 72 72 65 6e 74 60 60 20 62 72 61 6e 63 68 2c 20 44 75 65 20 74 6f 20 73 6f ts.``current``.branch,.Due.to.so
188c0 66 74 77 61 72 65 20 76 65 72 73 69 6f 6e 20 75 70 64 61 74 65 73 2c 20 69 74 20 69 73 20 72 65 ftware.version.updates,.it.is.re
188e0 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 66 66 69 63 69 61 6c 20 44 6f commended.to.use.the.official.Do
18900 63 6b 65 72 20 48 75 62 20 69 6d 61 67 65 20 74 6f 20 62 75 69 6c 64 20 56 79 4f 53 20 49 53 4f cker.Hub.image.to.build.VyOS.ISO
18920 2e 00 56 79 4f 53 20 69 74 73 65 6c 66 20 63 6f 6d 65 73 20 77 69 74 68 20 61 20 62 75 6e 63 68 ..VyOS.itself.comes.with.a.bunch
18940 20 6f 66 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20 74 .of.packages.that.are.specific.t
18960 6f 20 6f 75 72 20 73 79 73 74 65 6d 20 61 6e 64 20 74 68 75 73 20 63 61 6e 6e 6f 74 20 62 65 20 o.our.system.and.thus.cannot.be.
18980 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 44 65 62 69 61 6e 20 6d 69 72 72 6f 72 2e 20 54 68 6f 73 found.in.any.Debian.mirror..Thos
189a0 65 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 61 74 20 74 68 65 20 60 e.packages.can.be.found.at.the.`
189c0 56 79 4f 53 20 47 69 74 48 75 62 20 70 72 6f 6a 65 63 74 60 5f 20 69 6e 20 74 68 65 69 72 20 73 VyOS.GitHub.project`_.in.their.s
189e0 6f 75 72 63 65 20 66 6f 72 6d 61 74 20 63 61 6e 20 65 61 73 69 6c 79 20 62 65 20 63 6f 6d 70 69 ource.format.can.easily.be.compi
18a00 6c 65 64 20 69 6e 74 6f 20 61 20 63 75 73 74 6f 6d 20 44 65 62 69 61 6e 20 28 60 2a 2e 64 65 62 led.into.a.custom.Debian.(`*.deb
18a20 60 29 20 70 61 63 6b 61 67 65 2e 00 56 79 4f 53 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 4a 65 `).package..VyOS.makes.use.of.Je
18a40 6e 6b 69 6e 73 5f 20 61 73 20 6f 75 72 20 43 6f 6e 74 69 6e 75 6f 75 73 20 49 6e 74 65 67 72 61 nkins_.as.our.Continuous.Integra
18a60 74 69 6f 6e 20 28 43 49 29 20 73 65 72 76 69 63 65 2e 20 4f 75 72 20 60 56 79 4f 53 20 43 49 60 tion.(CI).service..Our.`VyOS.CI`
18a80 5f 20 73 65 72 76 65 72 20 69 73 20 70 75 62 6c 69 63 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 _.server.is.publicly.accessible.
18aa0 68 65 72 65 3a 20 68 74 74 70 73 3a 2f 2f 63 69 2e 76 79 6f 73 2e 6e 65 74 2e 20 59 6f 75 20 63 here:.https://ci.vyos.net..You.c
18ac0 61 6e 20 67 65 74 20 61 20 62 72 69 65 66 20 6f 76 65 72 76 69 65 77 20 6f 66 20 61 6c 6c 20 72 an.get.a.brief.overview.of.all.r
18ae0 65 71 75 69 72 65 64 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 73 68 69 70 70 65 64 20 69 6e 20 61 20 equired.components.shipped.in.a.
18b00 56 79 4f 53 20 49 53 4f 2e 00 57 65 20 61 67 61 69 6e 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 61 VyOS.ISO..We.again.make.use.of.a
18b20 20 68 65 6c 70 65 72 20 73 63 72 69 70 74 20 61 6e 64 20 73 6f 6d 65 20 70 61 74 63 68 65 73 20 .helper.script.and.some.patches.
18b40 74 6f 20 6d 61 6b 65 20 74 68 65 20 62 75 69 6c 64 20 77 6f 72 6b 2e 20 4a 75 73 74 20 72 75 6e to.make.the.build.work..Just.run
18b60 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 3a 00 57 65 20 64 69 66 66 65 .the.following.command:.We.diffe
18b80 72 65 6e 74 69 61 74 65 20 69 6e 20 74 77 6f 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 74 65 73 74 rentiate.in.two.independent.test
18ba0 73 2c 20 77 68 69 63 68 20 61 72 65 20 62 6f 74 68 20 72 75 6e 20 69 6e 20 70 61 72 61 6c 6c 65 s,.which.are.both.run.in.paralle
18bc0 6c 20 62 79 20 74 77 6f 20 73 65 70 61 72 61 74 65 20 51 45 6d 75 20 69 6e 73 74 61 6e 63 65 73 l.by.two.separate.QEmu.instances
18be0 20 77 68 69 63 68 20 61 72 65 20 6c 61 75 6e 63 68 65 64 20 76 69 61 20 60 60 6d 61 6b 65 20 74 .which.are.launched.via.``make.t
18c00 65 73 74 60 60 20 61 6e 64 20 60 60 6d 61 6b 65 20 74 65 73 74 63 60 60 20 66 72 6f 6d 20 77 69 est``.and.``make.testc``.from.wi
18c20 74 68 69 6e 20 74 68 65 20 76 79 6f 73 2d 62 75 69 6c 64 5f 20 72 65 70 6f 73 69 74 6f 72 79 2e thin.the.vyos-build_.repository.
18c40 00 57 65 20 6e 6f 77 20 61 72 65 20 66 72 65 65 20 74 6f 20 72 75 6e 20 61 6e 79 20 63 6f 6d 6d .We.now.are.free.to.run.any.comm
18c60 61 6e 64 20 77 65 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 66 6f 72 20 64 65 62 and.we.would.like.to.use.for.deb
18c80 75 67 67 69 6e 67 2c 20 65 2e 67 2e 20 72 65 2d 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 66 ugging,.e.g..re-installing.the.f
18ca0 61 69 6c 65 64 20 70 61 63 6b 61 67 65 20 61 66 74 65 72 20 75 70 64 61 74 69 6e 67 20 74 68 65 ailed.package.after.updating.the
18cc0 20 72 65 70 6f 73 69 74 6f 72 79 2e 00 57 65 20 6e 6f 77 20 6e 65 65 64 20 74 6f 20 6d 6f 75 6e .repository..We.now.need.to.moun
18ce0 74 20 73 6f 6d 65 20 72 65 71 75 69 72 65 64 2c 20 76 6f 6c 61 74 69 6c 65 20 66 69 6c 65 73 79 t.some.required,.volatile.filesy
18d00 73 74 65 6d 73 00 57 65 20 6f 6e 6c 79 20 61 63 63 65 70 74 20 62 75 67 66 69 78 65 73 20 69 6e stems.We.only.accept.bugfixes.in
18d20 20 70 61 63 6b 61 67 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 68 74 74 70 73 3a 2f 2f 67 69 74 .packages.other.than.https://git
18d40 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 6f 73 2d 31 78 20 61 73 20 6e 6f 20 6e 65 77 20 66 hub.com/vyos/vyos-1x.as.no.new.f
18d60 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 6f 6c 64 20 unctionality.should.use.the.old.
18d80 73 74 79 6c 65 20 74 65 6d 70 6c 61 74 65 73 20 28 60 60 6e 6f 64 65 2e 64 65 66 60 60 20 61 6e style.templates.(``node.def``.an
18da0 64 20 50 65 72 6c 2f 42 41 53 48 20 63 6f 64 65 2e 20 55 73 65 20 74 68 65 20 6e 65 77 20 73 74 d.Perl/BASH.code..Use.the.new.st
18dc0 79 6c 65 20 58 4d 4c 2f 50 79 74 68 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 69 6e 73 74 65 61 64 yle.XML/Python.interface.instead
18de0 2e 00 57 68 61 74 20 63 6f 6d 6d 61 6e 64 73 20 64 69 64 20 79 6f 75 20 75 73 65 3f 20 55 73 65 ..What.commands.did.you.use?.Use
18e00 20 65 2e 67 2e 20 60 60 72 75 6e 20 73 68 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 .e.g..``run.show.configuration.c
18e20 6f 6d 6d 61 6e 64 73 60 60 00 57 68 61 74 20 77 61 73 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 ommands``.What.was.the.configura
18e40 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 74 68 65 20 63 68 61 6e 67 65 3f 00 57 68 61 74 20 77 tion.prior.to.the.change?.What.w
18e60 65 72 65 20 79 6f 75 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 61 63 68 69 65 76 65 3f 00 57 ere.you.attempting.to.achieve?.W
18e80 68 61 74 2f 77 68 79 2f 68 6f 77 20 73 6f 6d 65 74 68 69 6e 67 20 68 61 73 20 62 65 65 6e 20 63 hat/why/how.something.has.been.c
18ea0 68 61 6e 67 65 64 2c 20 6d 61 6b 65 73 20 65 76 65 72 79 6f 6e 65 27 73 20 6c 69 66 65 20 65 61 hanged,.makes.everyone's.life.ea
18ec0 73 69 65 72 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 60 67 69 74 20 62 69 73 65 sier.when.working.with.`git.bise
18ee0 63 74 60 00 57 68 65 6e 20 61 6e 64 20 49 53 4f 20 69 6d 61 67 65 20 69 73 20 61 73 73 65 6d 62 ct`.When.and.ISO.image.is.assemb
18f00 6c 65 64 20 62 79 20 74 68 65 20 60 56 79 4f 53 20 43 49 60 5f 2c 20 74 68 65 20 60 60 42 55 49 led.by.the.`VyOS.CI`_,.the.``BUI
18f20 4c 44 5f 53 4d 4f 4b 45 54 45 53 54 60 60 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 65 6e 61 62 LD_SMOKETEST``.parameter.is.enab
18f40 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 65 78 74 65 6e led.by.default,.which.will.exten
18f60 64 20 74 68 65 20 49 53 4f 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6c 69 6e 65 20 77 69 74 d.the.ISO.configuration.line.wit
18f80 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 6b 61 67 65 73 3a 00 57 68 65 6e 20 68 h.the.following.packages:.When.h
18fa0 61 76 69 6e 67 20 74 72 6f 75 62 6c 65 20 63 6f 6d 70 69 6c 69 6e 67 20 79 6f 75 72 20 6f 77 6e aving.trouble.compiling.your.own
18fc0 20 49 53 4f 20 69 6d 61 67 65 20 6f 72 20 64 65 62 75 67 67 69 6e 67 20 4a 65 6e 6b 69 6e 73 20 .ISO.image.or.debugging.Jenkins.
18fe0 69 73 73 75 65 73 20 79 6f 75 20 63 61 6e 20 66 6f 6c 6c 6f 77 20 74 68 65 20 73 74 65 70 73 20 issues.you.can.follow.the.steps.
19000 61 74 20 3a 72 65 66 3a 60 69 73 6f 5f 62 75 69 6c 64 5f 69 73 73 75 65 73 60 2e 00 57 68 65 6e at.:ref:`iso_build_issues`..When
19020 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 72 65 6d 65 .modifying.the.source.code,.reme
19040 6d 62 65 72 20 74 68 65 73 65 20 72 75 6c 65 73 20 6f 66 20 74 68 65 20 6c 65 67 61 63 79 20 65 mber.these.rules.of.the.legacy.e
19060 6c 69 6d 69 6e 61 74 69 6f 6e 20 63 61 6d 70 61 69 67 6e 3a 00 57 68 65 6e 20 74 68 65 20 62 75 limination.campaign:.When.the.bu
19080 69 6c 64 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ild.is.successful,.the.resulting
190a0 20 69 73 6f 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 73 69 64 65 20 74 68 65 20 60 60 62 .iso.can.be.found.inside.the.``b
190c0 75 69 6c 64 60 60 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 60 60 6c 69 76 65 2d 69 6d 61 67 65 uild``.directory.as.``live-image
190e0 2d 5b 61 72 63 68 69 74 65 63 74 75 72 65 5d 2e 68 79 62 72 69 64 2e 69 73 6f 60 60 2e 00 57 68 -[architecture].hybrid.iso``..Wh
19100 65 6e 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d en.writing.a.new.configuration.m
19120 69 67 72 61 74 6f 72 20 69 74 20 6d 61 79 20 68 61 70 70 65 6e 20 74 68 61 74 20 79 6f 75 20 73 igrator.it.may.happen.that.you.s
19140 65 65 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 79 6f 75 20 74 72 79 20 74 6f 20 69 6e 76 6f ee.an.error.when.you.try.to.invo
19160 6b 65 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6f 6e 20 61 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ke.it.manually.on.a.development.
19180 73 79 73 74 65 6d 2e 20 54 68 69 73 20 65 72 72 6f 72 20 77 69 6c 6c 20 6c 6f 6f 6b 20 6c 69 6b system..This.error.will.look.lik
191a0 65 3a 00 57 68 65 6e 20 79 6f 75 20 61 72 65 20 61 62 6c 65 20 74 6f 20 76 65 72 69 66 79 20 74 e:.When.you.are.able.to.verify.t
191c0 68 61 74 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 62 75 67 2c 20 73 70 65 6e 64 20 hat.it.is.actually.a.bug,.spend.
191e0 73 6f 6d 65 20 74 69 6d 65 20 74 6f 20 64 6f 63 75 6d 65 6e 74 20 68 6f 77 20 74 6f 20 72 65 70 some.time.to.document.how.to.rep
19200 72 6f 64 75 63 65 20 74 68 65 20 69 73 73 75 65 2e 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 roduce.the.issue..This.documenta
19220 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6e 76 61 6c 75 61 62 6c 65 2e 00 57 68 65 6e 20 79 6f 75 tion.can.be.invaluable..When.you
19240 20 61 72 65 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 69 6e 74 65 72 66 61 63 65 20 63 6f 6e 66 69 67 .are.working.on.interface.config
19260 75 72 61 74 69 6f 6e 20 61 6e 64 20 79 6f 75 20 61 6c 73 6f 20 77 61 6e 27 74 20 74 6f 20 74 65 uration.and.you.also.wan't.to.te
19280 73 74 20 69 66 20 74 68 65 20 53 6d 6f 6b 65 74 65 73 74 73 20 70 61 73 73 20 79 6f 75 20 77 6f st.if.the.Smoketests.pass.you.wo
192a0 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 6c 6f 6f 73 65 20 74 68 65 20 72 65 6d 6f 74 65 20 53 53 uld.normally.loose.the.remote.SS
192c0 48 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 79 6f 75 72 20 3a 61 62 62 72 3a 60 44 55 54 20 H.connection.to.your.:abbr:`DUT.
192e0 28 44 65 76 69 63 65 20 55 6e 64 65 72 20 54 65 73 74 29 60 2e 20 54 6f 20 68 61 6e 64 6c 65 20 (Device.Under.Test)`..To.handle.
19300 74 68 69 73 20 69 73 73 75 65 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 66 61 63 this.issue,.some.of.the.interfac
19320 65 20 62 61 73 65 64 20 74 65 73 74 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 e.based.tests.can.be.called.with
19340 20 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 62 65 66 6f 72 65 68 .an.environment.variable.beforeh
19360 61 6e 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 74 65 72 and.to.limit.the.number.of.inter
19380 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 74 65 73 74 2e 20 42 79 20 64 65 66 61 75 faces.used.in.the.test..By.defau
193a0 6c 74 20 61 6c 6c 20 69 6e 74 65 72 66 61 63 65 20 65 2e 67 2e 20 61 6c 6c 20 45 74 68 65 72 6e lt.all.interface.e.g..all.Ethern
193c0 65 74 20 69 6e 74 65 72 66 61 63 65 73 20 61 72 65 20 75 73 65 64 2e 00 57 68 65 6e 20 79 6f 75 et.interfaces.are.used..When.you
193e0 20 62 65 6c 69 65 76 65 20 79 6f 75 20 68 61 76 65 20 66 6f 75 6e 64 20 61 20 62 75 67 2c 20 69 .believe.you.have.found.a.bug,.i
19400 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 76 65 72 69 66 t.is.always.a.good.idea.to.verif
19420 79 20 74 68 65 20 69 73 73 75 65 20 70 72 69 6f 72 20 74 6f 20 6f 70 65 6e 69 6e 67 20 61 20 62 y.the.issue.prior.to.opening.a.b
19440 75 67 20 72 65 71 75 65 73 74 2e 00 57 68 65 6e 20 79 6f 75 20 77 69 73 68 20 74 6f 20 68 61 76 ug.request..When.you.wish.to.hav
19460 65 20 61 20 64 65 76 65 6c 6f 70 65 72 20 66 69 78 20 61 20 62 75 67 20 74 68 61 74 20 79 6f 75 e.a.developer.fix.a.bug.that.you
19480 20 66 6f 75 6e 64 2c 20 68 65 6c 70 69 6e 67 20 74 68 65 6d 20 72 65 70 72 6f 64 75 63 65 20 74 .found,.helping.them.reproduce.t
194a0 68 65 20 69 73 73 75 65 20 69 73 20 62 65 6e 65 66 69 63 69 61 6c 20 74 6f 20 65 76 65 72 79 6f he.issue.is.beneficial.to.everyo
194c0 6e 65 2e 20 42 65 20 73 75 72 65 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e 66 6f 72 6d 61 74 69 ne..Be.sure.to.include.informati
194e0 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 68 61 72 64 77 61 72 65 20 79 6f 75 20 61 72 65 20 75 73 on.about.the.hardware.you.are.us
19500 69 6e 67 2c 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 79 6f 75 20 77 65 72 65 20 72 75 6e 6e ing,.commands.that.you.were.runn
19520 69 6e 67 2c 20 61 6e 79 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 74 68 61 74 20 79 ing,.any.other.activities.that.y
19540 6f 75 20 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 64 6f 69 6e 67 20 61 74 20 74 68 65 20 74 69 ou.may.have.been.doing.at.the.ti
19560 6d 65 2e 20 54 68 69 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 me..This.additional.information.
19580 63 61 6e 20 62 65 20 76 65 72 79 20 75 73 65 66 75 6c 2e 00 57 68 69 63 68 20 76 65 72 73 69 6f can.be.very.useful..Which.versio
195a0 6e 20 6f 66 20 56 79 4f 53 20 61 72 65 20 79 6f 75 20 75 73 69 6e 67 3f 20 60 60 72 75 6e 20 73 n.of.VyOS.are.you.using?.``run.s
195c0 68 6f 77 20 76 65 72 73 69 6f 6e 60 60 00 57 69 72 65 47 75 61 72 64 00 57 72 69 74 69 6e 67 20 how.version``.WireGuard.Writing.
195e0 67 6f 6f 64 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 00 58 4d 4c 20 28 75 73 65 64 20 66 good.commit.messages.XML.(used.f
19600 6f 72 20 43 4c 49 20 64 65 66 69 6e 69 74 69 6f 6e 73 29 00 58 4d 4c 20 69 6e 74 65 72 66 61 63 or.CLI.definitions).XML.interfac
19620 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 75 73 65 20 74 68 65 20 60 78 6d 6c 2e e.definition.files.use.the.`xml.
19640 69 6e 60 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 77 68 69 63 68 20 77 61 73 20 69 6d 70 in`.file.extension.which.was.imp
19660 6c 65 6d 65 6e 74 65 64 20 69 6e 20 3a 76 79 74 61 73 6b 3a 60 54 31 38 34 33 60 2e 20 58 4d 4c lemented.in.:vytask:`T1843`..XML
19680 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 65 6e 64 20 74 6f 20 68 .interface.definitions.tend.to.h
196a0 61 76 65 20 61 20 6c 6f 74 20 6f 66 20 64 75 70 6c 69 63 61 74 65 64 20 63 6f 64 65 20 69 6e 20 ave.a.lot.of.duplicated.code.in.
196c0 61 72 65 61 73 20 73 75 63 68 20 61 73 3a 00 58 4d 4c 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 areas.such.as:.XML.interface.def
196e0 69 6e 69 74 69 6f 6e 73 20 66 6f 72 20 56 79 4f 53 20 63 6f 6d 65 20 77 69 74 68 20 61 20 52 65 initions.for.VyOS.come.with.a.Re
19700 6c 61 78 4e 47 20 73 63 68 65 6d 61 20 61 6e 64 20 61 72 65 20 6c 6f 63 61 74 65 64 20 69 6e 20 laxNG.schema.and.are.located.in.
19720 74 68 65 20 76 79 6f 73 2d 31 78 5f 20 6d 6f 64 75 6c 65 2e 20 54 68 69 73 20 73 63 68 65 6d 61 the.vyos-1x_.module..This.schema
19740 20 69 73 20 61 20 73 6c 69 67 68 74 6c 79 20 6d 6f 64 69 66 69 65 64 20 73 63 68 65 6d 61 20 66 .is.a.slightly.modified.schema.f
19760 72 6f 6d 20 56 79 43 6f 6e 66 5f 20 61 6c 69 61 73 20 56 79 4f 53 20 32 2e 30 20 53 6f 20 56 79 rom.VyConf_.alias.VyOS.2.0.So.Vy
19780 4f 53 20 31 2e 32 2e 78 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 OS.1.2.x.interface.definitions.w
197a0 69 6c 6c 20 62 65 20 72 65 75 73 61 62 6c 65 20 69 6e 20 4e 65 78 74 67 65 6e 20 56 79 4f 53 20 ill.be.reusable.in.Nextgen.VyOS.
197c0 56 65 72 73 69 6f 6e 73 20 77 69 74 68 20 76 65 72 79 20 6d 69 6e 69 6d 61 6c 20 63 68 61 6e 67 Versions.with.very.minimal.chang
197e0 65 73 2e 00 58 4d 4c 3a 20 54 61 62 73 20 2a 2a 73 68 61 6c 6c 20 6e 6f 74 2a 2a 20 62 65 20 75 es..XML:.Tabs.**shall.not**.be.u
19800 73 65 64 2e 20 45 76 65 72 79 20 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6c 65 76 65 6c 20 73 68 6f sed..Every.indentation.level.sho
19820 75 6c 64 20 62 65 20 32 20 73 70 61 63 65 73 00 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 70 6c 61 uld.be.2.spaces.You.can.also.pla
19840 63 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 60 2a 2e 64 65 62 60 20 69 6e 74 6f 20 79 6f ce.the.generated.`*.deb`.into.yo
19860 75 72 20 49 53 4f 20 62 75 69 6c 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 74 6f 20 69 6e 63 6c ur.ISO.build.environment.to.incl
19880 75 64 65 20 69 74 20 69 6e 20 61 20 63 75 73 74 6f 6d 20 69 73 6f 2c 20 73 65 65 20 3a 72 65 66 ude.it.in.a.custom.iso,.see.:ref
198a0 3a 60 62 75 69 6c 64 5f 63 75 73 74 6f 6d 5f 70 61 63 6b 61 67 65 73 60 20 66 6f 72 20 6d 6f 72 :`build_custom_packages`.for.mor
198c0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 00 59 6f 75 20 63 61 6e 20 63 72 65 61 74 65 20 79 6f e.information..You.can.create.yo
198e0 75 72 73 65 6c 66 20 73 6f 6d 65 20 68 61 6e 64 79 20 42 61 73 68 20 61 6c 69 61 73 65 73 20 74 urself.some.handy.Bash.aliases.t
19900 6f 20 61 6c 77 61 79 73 20 6c 61 75 6e 63 68 20 74 68 65 20 6c 61 74 65 73 74 20 2d 20 70 65 72 o.always.launch.the.latest.-.per
19920 20 72 65 6c 65 61 73 65 20 74 72 61 69 6e 20 28 60 63 75 72 72 65 6e 74 60 20 6f 72 20 60 63 72 .release.train.(`current`.or.`cr
19940 75 78 60 29 20 2d 20 63 6f 6e 74 61 69 6e 65 72 2e 20 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 ux`).-.container..Add.the.follow
19960 69 6e 67 20 74 6f 20 79 6f 75 72 20 60 60 2e 62 61 73 68 5f 61 6c 69 61 73 65 73 60 60 20 66 69 ing.to.your.``.bash_aliases``.fi
19980 6c 65 3a 00 59 6f 75 20 63 61 6e 20 74 79 70 65 20 60 60 68 65 6c 70 60 60 20 74 6f 20 67 65 74 le:.You.can.type.``help``.to.get
199a0 20 61 6e 20 6f 76 65 72 76 69 65 77 20 6f 66 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 6f .an.overview.of.the.available.co
199c0 6d 6d 61 6e 64 73 2c 20 61 6e 64 20 60 60 68 65 6c 70 20 63 6f 6d 6d 61 6e 64 60 60 20 74 6f 20 mmands,.and.``help.command``.to.
199e0 67 65 74 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 65 61 63 68 20 63 6f 6d get.more.information.on.each.com
19a00 6d 61 6e 64 2e 00 59 6f 75 20 68 61 76 65 20 61 6e 20 69 64 65 61 20 6f 66 20 68 6f 77 20 74 6f mand..You.have.an.idea.of.how.to
19a20 20 6d 61 6b 65 20 56 79 4f 53 20 62 65 74 74 65 72 20 6f 72 20 79 6f 75 20 61 72 65 20 69 6e 20 .make.VyOS.better.or.you.are.in.
19a40 6e 65 65 64 20 6f 66 20 61 20 73 70 65 63 69 66 69 63 20 66 65 61 74 75 72 65 20 77 68 69 63 68 need.of.a.specific.feature.which
19a60 20 61 6c 6c 20 75 73 65 72 73 20 6f 66 20 56 79 4f 53 20 77 6f 75 6c 64 20 62 65 6e 65 66 69 74 .all.users.of.VyOS.would.benefit
19a80 20 66 72 6f 6d 3f 20 54 6f 20 73 65 6e 64 20 61 20 66 65 61 74 75 72 65 20 72 65 71 75 65 73 74 .from?.To.send.a.feature.request
19aa0 20 70 6c 65 61 73 65 20 73 65 61 72 63 68 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 69 66 20 74 .please.search.Phabricator_.if.t
19ac0 68 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 72 65 71 75 65 73 74 20 70 65 6e 64 69 6e here.is.already.a.request.pendin
19ae0 67 2e 20 59 6f 75 20 63 61 6e 20 65 6e 68 61 6e 63 65 20 69 74 20 6f 72 20 69 66 20 79 6f 75 20 g..You.can.enhance.it.or.if.you.
19b00 64 6f 6e 27 74 20 66 69 6e 64 20 6f 6e 65 2c 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 6f 6e 65 don't.find.one,.create.a.new.one
19b20 20 62 79 20 75 73 65 20 74 68 65 20 71 75 69 63 6b 20 6c 69 6e 6b 20 69 6e 20 74 68 65 20 6c 65 .by.use.the.quick.link.in.the.le
19b40 66 74 20 73 69 64 65 20 75 6e 64 65 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 70 72 6f 6a 65 ft.side.under.the.specific.proje
19b60 63 74 2e 00 59 6f 75 20 68 61 76 65 20 79 6f 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 6b 65 72 ct..You.have.your.own.custom.ker
19b80 6e 65 6c 20 60 2a 2e 64 65 62 60 20 70 61 63 6b 61 67 65 73 20 69 6e 20 74 68 65 20 60 70 61 63 nel.`*.deb`.packages.in.the.`pac
19ba0 6b 61 67 65 73 60 20 66 6f 6c 64 65 72 20 62 75 74 20 6e 65 67 6c 65 63 74 65 64 20 74 6f 20 63 kages`.folder.but.neglected.to.c
19bc0 72 65 61 74 65 20 61 6c 6c 20 72 65 71 75 69 72 65 64 20 6f 75 74 2d 6f 66 20 74 72 65 65 20 6d reate.all.required.out-of.tree.m
19be0 6f 64 75 6c 65 73 20 6c 69 6b 65 20 41 63 63 65 6c 2d 50 50 50 2c 20 49 6e 74 65 6c 20 51 41 54 odules.like.Accel-PPP,.Intel.QAT
19c00 20 6f 72 20 49 6e 74 65 6c 20 4e 49 43 20 64 72 69 76 65 72 73 00 59 6f 75 20 68 61 76 65 20 79 .or.Intel.NIC.drivers.You.have.y
19c20 6f 75 72 20 6f 77 6e 20 63 75 73 74 6f 6d 20 6b 65 72 6e 65 6c 20 60 2a 2e 64 65 62 60 20 70 61 our.own.custom.kernel.`*.deb`.pa
19c40 63 6b 61 67 65 73 20 69 6e 20 74 68 65 20 60 70 61 63 6b 61 67 65 73 60 20 66 6f 6c 64 65 72 20 ckages.in.the.`packages`.folder.
19c60 62 75 74 20 6e 65 67 6c 65 63 74 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 6c 6c 20 72 65 71 75 but.neglected.to.create.all.requ
19c80 69 72 65 64 20 6f 75 74 2d 6f 66 20 74 72 65 65 20 6d 6f 64 75 6c 65 73 20 6c 69 6b 65 20 41 63 ired.out-of.tree.modules.like.Ac
19ca0 63 65 6c 2d 50 50 50 2c 20 57 69 72 65 47 75 61 72 64 2c 20 49 6e 74 65 6c 20 51 41 54 2c 20 49 cel-PPP,.WireGuard,.Intel.QAT,.I
19cc0 6e 74 65 6c 20 4e 49 43 00 59 6f 75 20 73 68 6f 75 64 6c 20 6e 6f 77 20 73 65 65 20 61 20 50 79 ntel.NIC.You.shoudl.now.see.a.Py
19ce0 74 68 6f 6e 20 62 61 63 6b 74 72 61 63 65 20 77 68 69 63 68 20 77 69 6c 6c 20 68 65 6c 70 20 75 thon.backtrace.which.will.help.u
19d00 73 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 69 73 73 75 65 2c 20 70 6c 65 61 73 65 20 61 74 s.to.handle.the.issue,.please.at
19d20 74 61 63 68 20 69 74 20 74 6f 20 74 68 65 20 50 68 61 62 72 69 63 61 74 6f 72 5f 20 74 61 73 6b tach.it.to.the.Phabricator_.task
19d40 2e 00 59 6f 75 20 74 68 65 6e 20 63 61 6e 20 70 72 6f 63 65 65 64 20 77 69 74 68 20 63 6c 6f 6e ..You.then.can.proceed.with.clon
19d60 69 6e 67 20 79 6f 75 72 20 66 6f 72 6b 20 6f 72 20 61 64 64 20 61 20 6e 65 77 20 72 65 6d 6f 74 ing.your.fork.or.add.a.new.remot
19d80 65 20 74 6f 20 79 6f 75 72 20 6c 6f 63 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 3a 00 59 6f 75 72 e.to.your.local.repository:.Your
19da0 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70 74 20 6f 72 20 6f 70 65 72 61 74 69 .configuration.script.or.operati
19dc0 6f 6e 20 6d 6f 64 65 20 73 63 72 69 70 74 20 77 68 69 63 68 20 69 73 20 61 6c 73 6f 20 77 72 69 on.mode.script.which.is.also.wri
19de0 74 74 65 6e 20 69 6e 20 50 79 74 68 6f 6e 33 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 6c 69 tten.in.Python3.should.have.a.li
19e00 6e 65 20 62 72 65 61 6b 20 6f 6e 20 38 30 20 63 68 61 72 61 63 74 65 72 73 2e 20 54 68 69 73 20 ne.break.on.80.characters..This.
19e20 73 65 65 6d 73 20 74 6f 20 62 65 20 61 20 62 69 74 20 6f 64 64 20 6e 6f 77 61 64 61 79 73 20 62 seems.to.be.a.bit.odd.nowadays.b
19e40 75 74 20 61 73 20 73 6f 6d 65 20 70 65 6f 70 6c 65 20 61 6c 73 6f 20 77 6f 72 6b 20 72 65 6d 6f ut.as.some.people.also.work.remo
19e60 74 65 6c 79 20 6f 72 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20 76 69 28 6d 29 20 74 68 69 73 tely.or.program.using.vi(m).this
19e80 20 69 73 20 61 20 66 61 69 72 20 67 6f 6f 64 20 73 74 61 6e 64 61 72 64 20 77 68 69 63 68 20 49 .is.a.fair.good.standard.which.I
19ea0 20 68 6f 70 65 20 77 65 20 63 61 6e 20 72 65 6c 79 20 6f 6e 2e 00 60 2e 2f 63 6f 6e 66 69 67 75 .hope.we.can.rely.on..`./configu
19ec0 72 65 20 2d 2d 65 6e 61 62 6c 65 2d 70 79 74 68 6f 6e 2d 65 67 67 73 60 00 60 49 50 76 34 2c 20 re.--enable-python-eggs`.`IPv4,.
19ee0 49 50 76 36 20 61 6e 64 20 44 48 43 50 28 76 36 29 60 5f 20 61 64 64 72 65 73 73 20 61 73 73 69 IPv6.and.DHCP(v6)`_.address.assi
19f00 67 6e 6d 65 6e 74 00 60 49 50 76 34 2c 20 49 50 76 36 60 5f 20 61 64 64 72 65 73 73 20 61 73 73 gnment.`IPv4,.IPv6`_.address.ass
19f20 69 67 6e 6d 65 6e 74 00 60 4d 41 43 20 61 64 64 72 65 73 73 60 5f 20 61 73 73 69 67 6e 6d 65 6e ignment.`MAC.address`_.assignmen
19f40 74 00 60 56 4c 41 4e 20 28 56 49 46 29 60 5f 20 64 65 66 69 6e 69 74 69 6f 6e 00 60 60 4a 65 6e t.`VLAN.(VIF)`_.definition.``Jen
19f60 6b 69 6e 73 3a 20 61 64 64 20 63 75 72 72 65 6e 74 20 47 69 74 20 63 6f 6d 6d 69 74 20 49 44 20 kins:.add.current.Git.commit.ID.
19f80 74 6f 20 62 75 69 6c 64 20 64 65 73 63 72 69 70 74 69 6f 6e 60 60 00 60 60 63 6f 6d 6d 61 6e 64 to.build.description``.``command
19fa0 60 60 20 2d 20 4f 6e 63 65 20 73 65 74 2c 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 ``.-.Once.set,.all.commands.used
19fc0 2c 20 61 6e 64 20 74 68 65 69 72 20 72 65 73 70 6f 6e 73 65 73 20 72 65 63 65 69 76 65 64 20 66 ,.and.their.responses.received.f
19fe0 72 6f 6d 20 74 68 65 20 4f 53 2c 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 6f 6e rom.the.OS,.will.be.presented.on
1a000 20 74 68 65 20 73 63 72 65 65 6e 20 66 6f 72 20 69 6e 73 70 65 63 74 69 6f 6e 2e 00 60 60 63 6f .the.screen.for.inspection..``co
1a020 6d 6d 69 74 60 60 00 60 60 64 64 63 6c 69 65 6e 74 3a 20 54 31 30 33 30 3a 20 61 75 74 6f 20 63 mmit``.``ddclient:.T1030:.auto.c
1a040 72 65 61 74 65 20 72 75 6e 74 69 6d 65 20 64 69 72 65 63 74 6f 72 69 65 73 60 60 00 60 60 64 65 reate.runtime.directories``.``de
1a060 76 65 6c 6f 70 65 72 60 60 20 2d 20 53 68 6f 75 6c 64 20 61 20 63 6f 6d 6d 61 6e 64 20 66 61 69 veloper``.-.Should.a.command.fai
1a080 6c 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 61 20 6d 65 73 73 61 67 65 l,.instead.of.printing.a.message
1a0a0 20 74 6f 20 74 68 65 20 75 73 65 72 20 65 78 70 6c 61 69 6e 69 6e 67 20 68 6f 77 20 74 6f 20 72 .to.the.user.explaining.how.to.r
1a0c0 65 70 6f 72 74 20 69 73 73 75 65 73 2c 20 74 68 65 20 70 79 74 68 6f 6e 20 69 6e 74 65 72 70 72 eport.issues,.the.python.interpr
1a0e0 65 74 65 72 20 77 69 6c 6c 20 73 74 61 72 74 20 61 20 50 42 44 20 70 6f 73 74 2d 6d 6f 72 74 65 eter.will.start.a.PBD.post-morte
1a100 6d 20 73 65 73 73 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 m.session.to.allow.the.developer
1a120 20 74 6f 20 64 65 62 75 67 20 74 68 65 20 69 73 73 75 65 2e 20 41 73 20 74 68 65 20 64 65 62 75 .to.debug.the.issue..As.the.debu
1a140 67 67 65 72 20 77 69 6c 6c 20 77 61 69 74 20 66 72 6f 6d 20 69 6e 70 75 74 20 66 72 6f 6d 20 74 gger.will.wait.from.input.from.t
1a160 68 65 20 64 65 76 65 6c 6f 70 65 72 2c 20 69 74 20 68 61 73 20 74 68 65 20 63 61 70 61 63 69 74 he.developer,.it.has.the.capacit
1a180 79 20 74 6f 20 70 72 65 76 65 6e 74 20 61 20 72 6f 75 74 65 72 20 74 6f 20 62 6f 6f 74 20 61 6e y.to.prevent.a.router.to.boot.an
1a1a0 64 20 74 68 65 72 65 66 6f 72 65 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 70 65 72 6d 61 d.therefore.should.only.be.perma
1a1c0 6e 65 6e 74 6c 79 20 73 65 74 20 75 70 20 6f 6e 20 70 72 6f 64 75 63 74 69 6f 6e 20 69 66 20 79 nently.set.up.on.production.if.y
1a1e0 6f 75 20 61 72 65 20 72 65 61 64 79 20 74 6f 20 73 65 65 20 74 68 65 20 4f 53 20 66 61 69 6c 20 ou.are.ready.to.see.the.OS.fail.
1a200 74 6f 20 62 6f 6f 74 2e 00 60 60 69 66 63 6f 6e 66 69 67 60 60 20 2d 20 4f 6e 63 65 20 73 65 74 to.boot..``ifconfig``.-.Once.set
1a220 2c 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 69 72 20 72 ,.all.commands.used,.and.their.r
1a240 65 73 70 6f 6e 73 65 73 20 72 65 63 65 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 4f 53 2c 20 77 esponses.received.from.the.OS,.w
1a260 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 65 64 20 6f 6e 20 74 68 65 20 73 63 72 65 65 6e 20 66 ill.be.presented.on.the.screen.f
1a280 6f 72 20 69 6e 73 70 65 63 74 69 6f 6e 2e 00 60 60 6c 6f 67 60 60 20 2d 20 49 6e 20 73 6f 6d 65 or.inspection..``log``.-.In.some
1a2a0 20 72 61 72 65 20 63 61 73 65 73 2c 20 69 74 20 6d 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f .rare.cases,.it.may.be.useful.to
1a2c0 20 73 65 65 20 77 68 61 74 20 74 68 65 20 4f 53 20 69 73 20 64 6f 69 6e 67 2c 20 69 6e 63 6c 75 .see.what.the.OS.is.doing,.inclu
1a2e0 64 69 6e 67 20 64 75 72 69 6e 67 20 62 6f 6f 74 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 73 65 ding.during.boot..This.option.se
1a300 6e 64 73 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20 62 79 20 56 79 4f 53 20 74 6f nds.all.commands.used.by.VyOS.to
1a320 20 61 20 66 69 6c 65 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 66 69 6c 65 20 69 73 20 60 60 2f .a.file..The.default.file.is.``/
1a340 74 6d 70 2f 66 75 6c 6c 2d 6c 6f 67 60 60 20 62 75 74 20 69 74 20 63 61 6e 20 62 65 20 63 68 61 tmp/full-log``.but.it.can.be.cha
1a360 6e 67 65 64 2e 00 60 60 73 65 74 60 60 00 60 60 76 79 6f 73 2d 62 75 69 6c 64 60 60 20 72 65 70 nged..``set``.``vyos-build``.rep
1a380 6f 20 69 73 20 6f 75 74 64 61 74 65 64 2c 20 70 6c 65 61 73 65 20 60 60 67 69 74 20 70 75 6c 6c o.is.outdated,.please.``git.pull
1a3a0 60 60 20 74 6f 20 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 72 65 6c 65 61 ``.to.update.to.the.latest.relea
1a3c0 73 65 20 6b 65 72 6e 65 6c 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 75 73 2e 00 60 60 76 79 6f se.kernel.version.from.us..``vyo
1a3e0 73 2d 63 6f 6e 66 69 67 2d 64 65 62 75 67 60 60 20 2d 20 44 75 72 69 6e 67 20 64 65 76 65 6c 6f s-config-debug``.-.During.develo
1a400 70 6d 65 6e 74 2c 20 63 6f 64 69 6e 67 20 65 72 72 6f 72 73 20 63 61 6e 20 6c 65 61 64 20 74 6f pment,.coding.errors.can.lead.to
1a420 20 61 20 63 6f 6d 6d 69 74 20 66 61 69 6c 75 72 65 20 6f 6e 20 62 6f 6f 74 2c 20 70 6f 73 73 69 .a.commit.failure.on.boot,.possi
1a440 62 6c 79 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 66 61 69 6c 65 64 20 69 6e 69 74 69 61 bly.resulting.in.a.failed.initia
1a460 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 43 4c 49 2e 20 49 6e 20 74 68 69 73 20 63 69 72 lization.of.the.CLI..In.this.cir
1a480 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 6b 65 72 6e 65 6c 20 62 6f 6f 74 20 70 61 72 61 6d cumstance,.the.kernel.boot.param
1a4a0 65 74 65 72 20 60 60 76 79 6f 73 2d 63 6f 6e 66 69 67 2d 64 65 62 75 67 60 60 20 77 69 6c 6c 20 eter.``vyos-config-debug``.will.
1a4c0 65 6e 73 75 72 65 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 61 73 20 75 ensure.access.to.the.system.as.u
1a4e0 73 65 72 20 60 60 76 79 6f 73 60 60 2c 20 61 6e 64 20 77 69 6c 6c 20 6c 6f 67 20 61 20 50 79 74 ser.``vyos``,.and.will.log.a.Pyt
1a500 68 6f 6e 20 73 74 61 63 6b 20 74 72 61 63 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 60 60 2f 74 hon.stack.trace.to.the.file.``/t
1a520 6d 70 2f 62 6f 6f 74 2d 63 6f 6e 66 69 67 2d 74 72 61 63 65 60 60 2e 20 46 69 6c 65 20 60 60 62 mp/boot-config-trace``..File.``b
1a540 6f 6f 74 2d 63 6f 6e 66 69 67 2d 74 72 61 63 65 60 60 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 oot-config-trace``.will.generate
1a560 20 6f 6e 6c 79 20 69 66 20 63 6f 6e 66 69 67 20 6c 6f 61 64 65 64 20 77 69 74 68 20 61 20 66 61 .only.if.config.loaded.with.a.fa
1a580 69 6c 75 72 65 20 73 74 61 74 75 73 2e 00 60 60 76 79 6f 73 2d 64 65 62 75 67 60 60 20 2d 20 41 ilure.status..``vyos-debug``.-.A
1a5a0 64 64 69 6e 67 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 74 68 65 20 6c 69 6e 75 78 dding.the.parameter.to.the.linux
1a5c0 20 62 6f 6f 74 20 6c 69 6e 65 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 74 69 6d 69 6e 67 20 72 .boot.line.will.produce.timing.r
1a5e0 65 73 75 6c 74 73 20 66 6f 72 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 73 63 72 69 esults.for.the.execution.of.scri
1a600 70 74 73 20 64 75 72 69 6e 67 20 63 6f 6d 6d 69 74 2e 20 49 66 20 6f 6e 65 20 69 73 20 73 65 65 pts.during.commit..If.one.is.see
1a620 69 6e 67 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 64 65 6c 61 79 20 64 75 72 69 6e 67 20 6d ing.an.unexpected.delay.during.m
1a640 61 6e 75 61 6c 20 6f 72 20 62 6f 6f 74 20 63 6f 6d 6d 69 74 2c 20 74 68 69 73 20 6d 61 79 20 62 anual.or.boot.commit,.this.may.b
1a660 65 20 75 73 65 66 75 6c 20 69 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 62 6f 74 74 6c 65 6e 65 e.useful.in.identifying.bottlene
1a680 63 6b 73 2e 20 54 68 65 20 69 6e 74 65 72 6e 61 6c 20 66 6c 61 67 20 69 73 20 60 60 56 59 4f 53 cks..The.internal.flag.is.``VYOS
1a6a0 5f 44 45 42 55 47 60 60 2c 20 61 6e 64 20 69 73 20 66 6f 75 6e 64 20 69 6e 20 76 79 61 74 74 61 _DEBUG``,.and.is.found.in.vyatta
1a6c0 2d 63 66 67 5f 2e 20 4f 75 74 70 75 74 20 69 73 20 64 69 72 65 63 74 65 64 20 74 6f 20 60 60 2f -cfg_..Output.is.directed.to.``/
1a6e0 76 61 72 2f 6c 6f 67 2f 76 79 61 74 74 61 2f 63 66 67 2d 73 74 64 6f 75 74 2e 6c 6f 67 60 60 2e var/log/vyatta/cfg-stdout.log``.
1a700 00 60 63 64 20 73 72 63 2f 6c 69 62 63 68 61 72 6f 6e 2f 70 6c 75 67 69 6e 73 2f 76 69 63 69 2f .`cd.src/libcharon/plugins/vici/
1a720 70 79 74 68 6f 6e 60 00 60 63 64 20 76 79 6f 73 2d 73 74 72 6f 6e 67 73 77 61 6e 60 00 60 6d 61 python`.`cd.vyos-strongswan`.`ma
1a740 6b 65 60 00 60 70 79 74 68 6f 6e 33 20 73 65 74 75 70 2e 70 79 20 2d 2d 63 6f 6d 6d 61 6e 64 2d ke`.`python3.setup.py.--command-
1a760 70 61 63 6b 61 67 65 73 3d 73 74 64 65 62 2e 63 6f 6d 6d 61 6e 64 20 62 64 69 73 74 5f 64 65 62 packages=stdeb.command.bdist_deb
1a780 60 00 61 6c 6c 6f 77 65 64 3a 20 2f 70 61 74 68 2f 74 6f 2f 73 63 72 69 70 74 00 61 6c 6c 6f 77 `.allowed:./path/to/script.allow
1a7a0 65 64 3a 20 63 6c 69 2d 73 68 65 6c 6c 2d 61 70 69 20 6c 69 73 74 4e 6f 64 65 73 20 76 70 6e 20 ed:.cli-shell-api.listNodes.vpn.
1a7c0 69 70 73 65 63 20 65 73 70 2d 67 72 6f 75 70 00 61 6c 6c 6f 77 65 64 3a 20 65 63 68 6f 20 66 6f ipsec.esp-group.allowed:.echo.fo
1a7e0 6f 20 62 61 72 00 62 65 67 69 6e 3a 2f 63 72 65 61 74 65 3a 2f 64 65 6c 65 74 65 3a 00 63 6f 6d o.bar.begin:/create:/delete:.com
1a800 6d 69 74 3a 65 78 70 72 65 73 73 69 6f 6e 3a 00 63 6f 6e 74 69 6e 65 20 65 78 65 63 75 74 69 6f mit:expression:.contine.executio
1a820 6e 20 75 73 69 6e 67 20 60 60 63 6f 6e 74 60 60 00 64 65 66 61 75 6c 74 3a 00 65 78 61 6d 69 6e n.using.``cont``.default:.examin
1a840 65 20 76 61 72 69 61 62 6c 65 73 20 75 73 69 6e 67 20 60 60 70 70 28 76 61 72 29 60 60 00 67 65 e.variables.using.``pp(var)``.ge
1a860 74 20 61 20 62 61 63 6b 74 72 61 63 65 20 75 73 69 6e 67 20 60 60 62 74 60 60 00 68 65 6c 70 3a t.a.backtrace.using.``bt``.help:
1a880 20 4d 79 20 6e 6f 64 65 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 .My.node.https://github.com/vyos
1a8a0 2f 76 79 61 74 74 61 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 38 36 61 30 62 33 2f 73 72 63 /vyatta-cfg/blob/0f42786a0b3/src
1a8c0 2f 63 6f 6d 6d 69 74 2f 63 6f 6d 6d 69 74 2d 61 6c 67 6f 72 69 74 68 6d 2e 63 70 70 23 4c 31 32 /commit/commit-algorithm.cpp#L12
1a8e0 35 32 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 52.https://github.com/vyos/vyatt
1a900 61 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 38 36 61 30 62 33 2f 73 72 63 2f 63 73 74 6f 72 a-cfg/blob/0f42786a0b3/src/cstor
1a920 65 2f 63 73 74 6f 72 65 2e 63 70 70 23 4c 32 35 34 39 00 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 e/cstore.cpp#L2549.https://githu
1a940 62 2e 63 6f 6d 2f 76 79 6f 73 2f 76 79 61 74 74 61 2d 63 66 67 2f 62 6c 6f 62 2f 30 66 34 32 37 b.com/vyos/vyatta-cfg/blob/0f427
1a960 38 36 61 30 62 33 2f 73 72 63 2f 63 73 74 6f 72 65 2f 63 73 74 6f 72 65 2e 63 70 70 23 4c 33 35 86a0b3/src/cstore/cstore.cpp#L35
1a980 32 00 68 76 69 6e 66 6f 00 6b 65 65 70 61 6c 69 76 65 64 00 6d 64 6e 73 2d 72 65 70 65 61 74 65 2.hvinfo.keepalived.mdns-repeate
1a9a0 72 00 6d 75 6c 74 69 3a 00 6d 79 6e 6f 64 65 2f 6e 6f 64 65 2e 64 65 66 00 6d 79 6e 6f 64 65 2f r.multi:.mynode/node.def.mynode/
1a9c0 6e 6f 64 65 2e 74 61 67 20 2c 20 74 61 67 3a 00 70 72 69 6f 72 69 74 79 3a 20 39 39 39 00 73 74 node.tag.,.tag:.priority:.999.st
1a9e0 72 6f 6e 67 73 77 61 6e 00 73 74 72 6f 6e 67 73 77 61 6e 2d 6e 6d 20 70 61 63 6b 61 67 65 20 62 rongswan.strongswan-nm.package.b
1aa00 75 69 6c 64 20 69 73 20 64 69 73 61 62 6c 65 64 20 73 69 6e 63 65 20 77 65 20 64 6f 6e 27 74 20 uild.is.disabled.since.we.don't.
1aa20 75 73 65 20 4e 65 74 77 6f 72 6b 4d 61 6e 61 67 65 72 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 use.NetworkManager.syntax:expres
1aa40 73 69 6f 6e 3a 20 24 56 41 52 28 40 29 20 69 6e 20 22 66 6f 6f 22 2c 20 22 62 61 72 22 2c 20 22 sion:.$VAR(@).in."foo",."bar",."
1aa60 62 61 7a 22 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f 6e 3a 20 28 61 72 69 74 68 6d 65 baz".syntax:expression:.(arithme
1aa80 74 69 63 20 65 78 70 72 65 73 73 69 6f 6e 29 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f tic.expression).syntax:expressio
1aaa0 6e 3a 20 65 78 65 63 20 2e 2e 2e 00 73 79 6e 74 61 78 3a 65 78 70 72 65 73 73 69 6f 6e 3a 20 70 n:.exec.....syntax:expression:.p
1aac0 61 74 74 65 72 6e 00 75 64 70 2d 62 72 6f 61 64 63 61 73 74 2d 72 65 6c 61 79 00 76 61 6c 5f 68 attern.udp-broadcast-relay.val_h
1aae0 65 6c 70 3a 20 3c 66 6f 72 6d 61 74 3e 3b 20 73 6f 6d 65 20 73 74 72 69 6e 67 00 76 79 6f 73 2d elp:.<format>;.some.string.vyos-
1ab00 6e 65 74 70 6c 75 67 00 netplug.