{"id":455361,"date":"2025-04-10T09:02:07","date_gmt":"2025-04-10T09:02:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=455361"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=455361","title":{"rendered":"<span>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e Linux<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435 \u0442\u0435\u0445\u043b\u0438\u0434 \u043f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u043c\u043d\u0435 \u043f\u0440\u043e\u0448\u0442\u0443\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043d\u0438\u0433\u0443 <em>Understanding the Linux Kernel<\/em>\u00a0\u0411\u043e\u0432\u0435 \u0438 \u0427\u0435\u0437\u0430\u0442\u0438. \u0412 \u043d\u0435\u0439 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Linux 2.6, \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0435 \u0434\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 6.0. \u041d\u043e \u0432 \u043d\u0435\u0439 \u044f\u0432\u043d\u043e \u0435\u0449\u0451 \u043c\u043d\u043e\u0433\u043e \u0446\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u041a\u043d\u0438\u0433\u0430 \u0442\u043e\u043b\u0441\u0442\u0430\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0435\u0451 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0417\u0430\u043d\u0438\u043c\u0430\u044f\u0441\u044c \u043f\u043e \u043d\u0435\u0439, \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043c\u043e\u0433 \u0431\u044b \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u044f\u0434\u0440\u0430 Linux \u2014 \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435.  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u044f\u0434\u0440\u043e Linux. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0430\u0447\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u044e \u0438 \u043f\u043e\u0434\u0430\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<h2>\u276f \u042d\u0442\u0430\u043f\u044b<\/h2>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u043e\u0439\u0434\u0451\u0442 \u0432 2 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 Busybox <\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0435\u0440\u0435\u0437 qemu \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u043f\u0440\u044f\u043c\u043e \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u044f\u0434\u0440\u0443 Linux. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043d\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0443\u043c\u0430\u043b, \u0443\u0432\u0438\u0434\u0435\u0432, \u0447\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043b\u0438\u043d\u043d\u043e\u0439. <a href=\"https:\/\/www.kernel.org\/doc\/html\/v4.14\/dev-tools\/kgdb.html\"><u>\u0417\u0434\u0435\u0441\u044c<\/u><\/a> \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e kgdb. \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u2013 \u0440\u0430\u043d\u044c\u0448\u0435 \u044f \u0441 \u043d\u0435\u0439 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/p>\n<h2>\u276f \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 qemu<\/h2>\n<p>\u0411\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c Qemu, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0436\u0435\u043b\u0435\u0437\u043e. \u0418\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043d\u0451\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u0442 Linux, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 bs \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c. \u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n<pre><code class=\"yaml\">~ sudo apt install qemu qemu-system<\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c qemu, \u0432\u0437\u044f\u0432 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u043d\u043e \u0443 \u043d\u0435\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438 \u0432\u0441\u043a\u043e\u0440\u0435 \u044f \u0441\u0442\u0430\u043b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0441\u043d\u043e \u0442\u0435\u0440\u044f\u044e \u0432\u0440\u0435\u043c\u044f.<\/p>\n<h2>\u276f \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c Linux,\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0435\u0442\u043a\u0443 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435<\/h2>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 Linux.<\/p>\n<pre><code>~ git clone https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<pre><code class=\"yaml\">~ du --max-depth=1 --block-size=GB | grep linux 6GB     .\/linux<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0442\u043c\u0435\u0442\u0438\u043c \u0433\u0430\u043b\u043e\u0447\u043a\u043e\u0439 \u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442. \u042f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 5.19. <\/p>\n<pre><code>~ cd linux # alias gco=\"git checkout\" ~ gco v5.19 ~ git branch -M 5.19<\/code><\/pre>\n<h2>\u276f \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c Linux<\/h2>\n<p>\u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0440\u044f\u043c\u043e \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 Linux, \u0441\u043c. <a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/README.rst\"><u>readme<\/u><\/a>. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u00a0<code>make help<\/code>, \u0438 \u043e\u043d\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438. \u041d\u0438\u0436\u0435 \u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u043f\u0438\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043b.<\/p>\n<h4>\u041e\u0447\u0438\u0441\u0442\u043a\u0430 (\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430)<\/h4>\n<p>\u0418\u0437\u0431\u0430\u0432\u044c\u0442\u0435\u0441\u044c \u043e\u0442 \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u00a0<code>.o<\/code>, \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a. \u041d\u0430\u043c \u044d\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u0431\u043e\u0440\u043a\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u043d\u0435 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442 \u0443\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0431\u043b\u0430\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n<pre><code>~ make mrproper<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/README.rst\"><u>\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/u><\/a><\/p>\n<h4>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430<\/h4>\n<p>\u0423 \u044f\u0434\u0440\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u2014 \u0432\u044b\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432, \u0432\u0430\u043c \u0436\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0443\u0436\u043d\u044b \u043b\u0438\u0448\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445. \u0415\u0441\u043b\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0441\u0440\u0430\u0437\u0443 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u043c\u0438, \u044d\u0442\u043e \u0434\u0430\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0442\u043a\u0430\u0437\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u2013 \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440. \u0415\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438 \u0442.\u0434. \u041c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c! \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u044f\u0434\u0440\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0433, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f, \u0430 \u043b\u0438\u0448\u044c \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u0442\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0431\u043e\u0440\u043a\u0435.  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 \u043f\u0443\u0442\u044c\u00a0<code>\/home\/$USER\/linux-build<\/code>, \u0442\u043e \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u00a0<code>O<\/code>\u00a0(\u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0432\u044b\u0432\u043e\u0434\u0430) \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n<pre><code>~ OUTPUT_DIR=\/home\/$USER\/linux\/build # \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 # \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 no. \u0412 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0438\u0447,  # \u0442\u0430\u043a \u0443 \u0432\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. # \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c tinyconfig \u0432\u043c\u0435\u0441\u0442\u043e allnoconfig. # \u041d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e, \u0447\u0435\u043c \u043e\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f. ~ make O=$OUTPUT_DIR allnoconfig # \u0417\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044f\u0434\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. # \u0422\u0443\u0442 \u043f\u043e\u043a\u0430 \u043d\u0435\u0447\u0435\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c. ~ make O=$OUTPUT_DIR menuconfig # \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u0430\u043c\u043e \u044f\u0434\u0440\u043e # \u0417\u0430\u043c\u0435\u043d\u044f\u0435\u043c 8 \u043d\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440. # cat \/proc\/cpuinfo | grep processor | wc -l. ~ make O=$OUTPUT_DIR -j8<\/code><\/pre>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430 &#8212;\u0444\u0430\u0439\u043b\u00a0<code>bzImage<\/code>\u2014\u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 1,5 \u041c\u0411.<\/p>\n<h2>\u276f \u042d\u0442\u0430\u043f \u0432\u0442\u043e\u0440\u043e\u0439: \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 qemu \u0442\u043e \u044f\u0434\u0440\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c.<\/p>\n<p><a href=\"https:\/\/manpages.debian.org\/jessie\/qemu-system-x86\/qemu-system-x86_64.1.en.html\"><u>\u0412 man-\u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u0441\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u043e qemu<\/u><\/a>\u00a0\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u043e, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438.<\/p>\n<pre><code>~ OUTPUT_DIR=\/home\/$USER\/linux\/build # -nographic \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u0448\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u0438 \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 gui\/\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c. # -append \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 qemu \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u044f\u0434\u0440\u0430. #     \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438: #     - console=ttyS0 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u044f\u0434\u0440\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. #     - earlyprintk=serial,ttyS0 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u044f\u0434\u0440\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043b\u043e\u0433\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043d\u0435\u0451,   #        \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0432 \u0435\u0449\u0451 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u2013 \u0438 \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f!  # -kernel \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. #  ~ qemu-system-x86_64 -kernel $OUTPUT_DIR\/arch\/x86\/boot\/bzImage -nographic -append \"earlyprintk=serial,ttyS0 console=ttyS0\"<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c <code>ctrl + a<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c\u00a0<code>x<\/code>, \u0442\u043e \u043c\u044b \u043f\u043e\u043a\u0438\u043d\u0435\u043c \u044d\u043a\u0440\u0430\u043d \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c\u00a0 <code>ctrl + a<\/code>,\u00a0\u0430 \u0437\u0430\u0442\u0435\u043c\u00a0<code>h<\/code>,\u00a0\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043c\u0435\u043d\u044e \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u043f\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u0447\u0435\u0440\u0435\u0437 qemu, \u0432 \u044f\u0434\u0440\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u043f\u0430\u043d\u0438\u043a\u0430:<\/p>\n<pre><code>Warning: unable to open an initial console. List of all partitions: No filesystem could mount root, tried:  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)<\/code><\/pre>\n<p>\u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u043e\u0442 \u044d\u0442\u043e\u0439 \u043f\u0430\u043d\u0438\u043a\u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u043c\u0441\u044f.<\/p>\n<h2>\u276f \u041e\u0431\u0437\u0430\u0432\u043e\u0434\u0438\u043c\u0441\u044f Busybox<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u044f\u0434\u0440\u043e Linux, \u043d\u043e \u043d\u0435\u0442 \u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (<a href=\"https:\/\/wiki.gentoo.org\/wiki\/Custom_Initramfs\"><u>initramfs<\/u><\/a>, \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u044d\u0442\u0443 \u0441\u0441\u044b\u043b\u043a\u0443 Gentoo \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0438\u0437\u0435\u0440\u0430). \u0427\u0442\u043e-\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0443\u0441\u0442\u043e\u0432\u0430\u043b\u043e.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f Busybox. \u0412 \u043d\u0451\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u0430\u043a <code>ls<\/code>,\u00a0<code>cd<\/code>,\u00a0<code>cp<\/code>,\u00a0<code>mv<\/code>,\u00a0<code>vim<\/code>,\u00a0<code>tar<\/code>,\u00a0<code>grep<\/code>,\u00a0<code>dhcp<\/code>,\u00a0<code>mdev<\/code>\u00a0(\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0433\u043e\u0440\u044f\u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043a Linux),\u00a0<code>ifplugd<\/code>\u00a0(\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430\/\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430) \u2013 \u0432\u0441\u0451 \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438, \u043a\u0430\u043a \u0438\u0445 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u0432\u043d\u0435 Busybox, \u043d\u043e \u0438\u0445 \u043d\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u0442.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b README \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 busybox \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0430\u0435\u0442\u0435 \u0435\u0433\u043e \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0438\u0436\u0435 \u2013 \u0442\u0430\u043c \u0432\u0441\u0451 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"https:\/\/busybox.net\/\">https:\/\/busybox.net\/<\/a> \u0438 \u0437\u0430\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e busybox.<\/p>\n<h2>\u276f \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c Busybox<\/h2>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u044f\u0434\u0440\u043e\u043c Linux.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b INSTALL file \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043a busybox, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u0441\u043a\u0430\u0447\u0430\u044e\u0442\u0441\u044f. <\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0436\u0435\u043b\u0430\u0435\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Busybox, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u0431\u043e\u0440\u043a\u0435. <\/p>\n<pre><code class=\"yaml\">~ cd busybox-1.33.2 ~ mkdir -pv build ~ OUTPUT_DIR=\/home\/$USER\/busybox-1.33.2\/build # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b .config, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u00abyes\u00bb. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c # \u043c\u0430\u0441\u0441\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Busybox, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.  # \u042f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e\u0441\u044c \u0432 \u0442\u0435\u043c\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 allnoconfig # \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2013 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u043e\u0442 \u043e\u043d.  # \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0438 \u043a\u0440\u0443\u043f\u043d\u0435\u0435, \u0447\u0435\u043c \u044f\u0434\u0440\u043e \u043d\u0430 1,5 \u041c\u0411. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c  ~ make O=$OUTPUT_DIR defconfig # \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 UI ~ make O=$OUTPUT_DIR menuconfig<\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043e\u0442\u043a\u0440\u044b\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u043d\u0451\u043c &#171;Settings&#187; (\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438) (\u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u0432\u0432\u043e\u0434\u0430), \u0430 \u0437\u0430\u0442\u0435\u043c &#171;Build Busybox as a static binary&#187; (\u0421\u043e\u0431\u0440\u0430\u0442\u044c Busybox \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b) (\u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u043f\u0440\u043e\u0431\u0435\u043b\u0430). \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u044f\u0434\u0440\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435. <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e14\/01e\/86d\/e1401e86d845daee3926ded2ce6e47f9.jpg\" width=\"1780\" height=\"787\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e14\/01e\/86d\/e1401e86d845daee3926ded2ce6e47f9.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e14\/01e\/86d\/e1401e86d845daee3926ded2ce6e47f9.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0441\u0431\u043e\u0440\u043a\u0435!<\/p>\n<pre><code class=\"yaml\"># \u0432\u0432\u0435\u0434\u0438\u0442\u0435 make help, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438, # \u043d\u043e, \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c make all \u0438\u043b\u0438 make busybox. # \u041f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043f\u0440\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 - \u0442\u043e\u043b\u044c\u043a\u043e busybox. ~ make O=$OUTPUT_DIR -j8 busybox<\/code><\/pre>\n<p>\u0418 \u0432\u043e\u0442,<\/p>\n<pre><code class=\"yaml\">~ ls -la $OUTPUT_DIR --block-size=KB | grep busybox -rw-r--r--  1 yangwenli yangwenli    2kB Aug 23 15:33 .busybox_unstripped.cmd -rwxr-xr-x  1 yangwenli yangwenli 2694kB Aug 23 15:33 busybox -rwxr-xr-x  1 yangwenli yangwenli 2987kB Aug 23 15:33 busybox_unstripped -rw-r--r--  1 yangwenli yangwenli 2340kB Aug 23 15:33 busybox_unstripped.map -rw-r--r--  1 yangwenli yangwenli  105kB Aug 23 15:33 busybox_unstripped.out<\/code><\/pre>\n<p>\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\u00a0<code>busybox<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u043a\u043e\u043b\u043e\u00a0 2,7 \u041c\u0411, \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043c\u0438 \u044f\u0434\u0440\u043e. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 <code>busybox_unstripped<\/code>\u00a0\u043d\u0430\u0441 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442. \u041e\u043d \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u0435\u0435 \u0438, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0442\u0430\u043a, \u043a\u0430\u043a\u00a0<a href=\"https:\/\/busybox.net\/FAQ.html\"><u>\u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 Busybox FAQ<\/u><\/a>.<\/p>\n<h2>\u276f \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432<\/h2>\n<p><em>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0432\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432\u0438\u043a\u0438-\u0441\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043f\u043e Gentoo, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 Custom Initramfs\u00a0<\/em><a href=\"https:\/\/wiki.gentoo.org\/wiki\/Custom_Initramfs\"><em><u>\u0437\u0434\u0435\u0441\u044c<\/u><\/em><\/a><em>.<\/em><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430\u0448\u0435\u0433\u043e Linux.<\/p>\n<p>\u041d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430, \u0447\u0442\u043e \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>busybox<\/code>\u00a0\u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043c\u0435\u0441\u0442\u0435. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\/\u0441\u043a\u0440\u0438\u043f\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<pre><code>~ mkdir \/home\/$USER\/initramfs &amp;&amp; cd initramfs # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0440\u044f\u0434 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043d\u0430\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 Linux  # dev, proc \u0438 sys \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u044f\u043a\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u044f\u0434\u0440\u0430 \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, procfs, sysfs \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. # \u0412 etc \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c. # \u0418\u0437 root \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. # \u0412 bin \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b. ~ mkdir {bin,dev,etc,proc,root,sys} # busybox \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 \u043d\u0451\u043c \u0431\u0443\u0434\u0443\u0442 \u044d\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438,  # \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438\u0445 \u0434\u043b\u044f \u043d\u0435\u0433\u043e ~ mkdir {usr\/bin,usr\/sbin,sbin} # \u041c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b busybox \u0431\u044b\u043b \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 \u043d\u0430\u0448 initramfs ~ cp \/home\/$USER\/busybox-1.33.2\/build\/busybox bin\/busybox<\/code><\/pre>\n<h2>\u276f \u0421\u043e\u0437\u0434\u0430\u0451\u043c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441 <\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435<code> initramfs<\/code>\u00a0\u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>init<\/code><\/p>\n<pre><code>~ touch init &amp;&amp; chmod +x init<\/code><\/pre>\n<p>\u0418 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c:<\/p>\n<pre><code>#!\/bin\/busybox sh # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c busybox, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0436\u0451\u0441\u0442\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b  \/bin\/busybox --install -s # \u041c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \/proc \u0438 \/sys. # \u041c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0430\u0433, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435. \u041f\u0440\u043e\u0441\u0442\u043e \u043c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0431\u044b \u0438\u0445 \u0438\u043c\u0435\u0442\u044c. mount -t proc none \/proc mount -t sysfs none \/sys # \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043c\u044f\u0433\u043a\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 busybox exec \/bin\/sh<\/code><\/pre>\n<h2>\u276f \u0421\u043e\u0437\u0434\u0430\u0451\u043c initramfs cpio<\/h2>\n<p>Cpio \u2013 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442-\u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440. \u0412 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d \u0431\u0435\u0440\u0451\u0442 \u043d\u0430\u0431\u043e\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0438\u0445 \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u0430\u043a tar. \u041d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u043f\u043e\u0447\u0435\u043c\u0443, \u043d\u043e initramfs \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 cpio, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u0435\u0433\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c. \u0414\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f gzip.<\/p>\n<pre><code>~ find . -print0 | cpio --null --create --verbose --format=newc | gzip --best &gt; .\/custom-initramfs.cpio.gz . .\/etc .\/root .\/sys .\/dev .\/bin .\/bin\/busybox .\/init .\/proc cpio: File .\/custom-initramfs.cpio.gz grew, 1310720 new bytes not copied .\/custom-initramfs.cpio.gz 7824 blocks<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u043c\u044b \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 initramfs, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f!<\/p>\n<h2>\u276f \u042d\u0442\u0430\u043f: \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c Linux \u043d\u0430 qemu \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Busybox (\u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c initramfs)<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u044f\u0434\u0440\u043e Linux \u0441 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u043c initramfs!<\/p>\n<p>\u0412\u043e\u0437\u044c\u043c\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 qemu, \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u0443\u044e \u0432\u044b\u0448\u0435, \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u043b\u0430\u0433 command from above and add an\u00a0initrd, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c initramfs.<\/p>\n<pre><code>~ LINUX_BUILD_DIR=\/home\/$USER\/linux\/build ~ INITRAMFS_DIR=\/home\/$USER\/initramfs\/custom-initramfs.cpio.gz # \u0412 \u043f\u0440\u043f\u0438\u043d\u0446\u0438\u043f\u0435, \u0444\u043b\u0430\u0433 --initrd \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 Linux \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u0442 ram-\u0434\u0438\u0441\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438  ~ qemu-system-x86_64 -kernel $LINUX_BUILD_DIR\/arch\/x86\/boot\/bzImage -nographic -append \"earlyprintk=serial,ttyS0 console=ttyS0\" --initrd $INITRAMFS_DIR<\/code><\/pre>\n<p>\u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0432\u0430\u0441 \u0440\u0430\u0441\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u043d\u0438\u043a\u0430 \u044f\u0434\u0440\u0430 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 initramfs \u0432 \u044f\u0434\u0440\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435.<\/p>\n<p>\u0421\u043b\u0435\u0433\u043a\u0430 \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044f\u0434\u0440\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e, \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0443\u0437\u043d\u0430\u0451\u0442, \u0433\u0434\u0435 \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 <code>init<\/code>. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u044f\u0434\u0440\u043e \u0438\u0449\u0435\u0442\u00a0<a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/6991a564f59742a0926be7421dff370135c44a97\/init\/main.c#L1540\"><u>\/init<\/u><\/a>, \u0430 \u0437\u0430\u0442\u0435\u043c\u00a0<a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/6991a564f59742a0926be7421dff370135c44a97\/init\/main.c#L1556-L1559\"><u>\/sbin\/init,\u00a0\/etc\/init,\u00a0\/bin\/init\u00a0\u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, finally\u00a0\/bin\/sh<\/u><\/a>\u00a0\u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u042f \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 <a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/6991a564f59742a0926be7421dff370135c44a97\/init\/main.c#L1547\"><u>\u0437\u0434\u0435\u0441\u044c<\/u><\/a>. \u042f \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043b \u0444\u0430\u0439\u043b init \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443\u00a0\/bin\/init.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430\u043b\u0430\u0434\u0438\u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 initramfs, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0435\u0449\u0451 \u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u0448\u0430\u0433\u0438, \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435 (\u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438) \u0438 \u0441\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u044f\u0434\u0440\u043e:<\/p>\n<pre><code>~ cd \/home\/$USER\/linux ~ make O=$LINUX_BUILD_DIR menuconfig<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432<code>\u00a0General Setup\u00a0<\/code>\u0438 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u0442\u0430\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443\u00a0<code>Initial RAM<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0438\u0441\u043a \u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (RAM), \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u043f\u0440\u043e\u0431\u0435\u043b\u00bb. <\/p>\n<p>\u0412 \u0441\u0430\u043c\u043e\u043c \u0432\u0435\u0440\u0445\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 64-\u0431\u0438\u0442\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c Busybox \u0432\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 file, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u0431\u0440\u0430\u043d \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b x86_64. \u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0444\u0430\u0439\u043b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 elf, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u044f\u0434\u0440\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0432 \u043d\u0430\u0448\u0435\u043c init-\u0444\u0430\u0439\u043b\u0435 \u043d\u043e\u0442\u0430\u0446\u0438\u044e <code>!#<\/code>, \u043d\u0430\u043c \u0438 \u0434\u043b\u044f \u043d\u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/722\/d2e\/9cc\/722d2e9cc1c698688c8e74bebd50d60e.jpg\" width=\"1573\" height=\"751\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/722\/d2e\/9cc\/722d2e9cc1c698688c8e74bebd50d60e.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/722\/d2e\/9cc\/722d2e9cc1c698688c8e74bebd50d60e.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5ce\/071\/fff\/5ce071fffa56e5b6d2691bd52257a7e5.jpg\" width=\"1561\" height=\"757\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/5ce\/071\/fff\/5ce071fffa56e5b6d2691bd52257a7e5.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5ce\/071\/fff\/5ce071fffa56e5b6d2691bd52257a7e5.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446 \u0441\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u0441\u044c \u0438\u0437 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0430\u0439\u043b\u0430 \u043a\u00a0<code>Device Drivers\u00a0&gt;\u00a0Character devices\u00a0&gt;\u00a0Serial drivers<\/code>\u00a0\u0438\u00a0<code>8250\/16550<\/code> \u0438 <code>compatible serial support<\/code>\u00a0\u0438\u00a0<code>Console on 8250\/16550<\/code> \u0438 <code>compatible serial port<\/code>. \u042d\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0432\u00a0<a href=\"https:\/\/www.kernel.org\/doc\/html\/v4.15\/admin-guide\/serial-console.html\"><u>\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/u><\/a>.\u00a0\u0415\u0441\u043b\u0438 \u043d\u0435 \u0432\u043d\u0435\u0441\u0442\u0438 \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, init\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442. \u0414\u0443\u043c\u0430\u044e, \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u043d\u0443\u0436\u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u00a0<code>exec \/bin\/sh<\/code>.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9d5\/3f2\/b9f\/9d53f2b9fd027e1d3addb4e4c2609760.jpg\" width=\"1563\" height=\"774\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/9d5\/3f2\/b9f\/9d53f2b9fd027e1d3addb4e4c2609760.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9d5\/3f2\/b9f\/9d53f2b9fd027e1d3addb4e4c2609760.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u044f\u0434\u0440\u043e:<\/p>\n<pre><code>~ make O=$LINUX_BUILD_DIR -j8<\/code><\/pre>\n<p>\u0410 \u043f\u043e\u0442\u043e\u043c \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c qemu:<\/p>\n<pre><code>~ qemu-system-x86_64 -kernel $LINUX_BUILD_DIR\/arch\/x86\/boot\/bzImage -nographic -append \"earlyprintk=serial,ttyS0 console=ttyS0 debug\" --initrd $INITRAMFS_DIR<\/code><\/pre>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 Linux. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043e\u043f\u044b\u0442 \u0438 \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0439 \u0437\u0434\u0435\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0430\u0448 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432.<\/p>\n<hr\/>\n<blockquote>\n<p><a href=\"https:\/\/t.me\/timewebru\"><strong>\u041d\u043e\u0432\u043e\u0441\u0442\u0438, \u043e\u0431\u0437\u043e\u0440\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u044b \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\u00a0<\/strong><\/a><a href=\"http:\/\/Timeweb.Cloud\"><strong>Timeweb.Cloud<\/strong><\/a><a href=\"https:\/\/t.me\/timewebru\"><strong>\u00a0\u2014 \u0432 \u043d\u0430\u0448\u0435\u043c Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/strong><\/a>\u00a0<strong>\u21a9<\/strong><\/p>\n<\/blockquote>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png\" alt=\"\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u21a9\" title=\"\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u21a9\" width=\"1560\" height=\"564\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><a href=\"https:\/\/timeweb.cloud\/?utm_source=habr&amp;utm_medium=banner&amp;utm_campaign=promo\"><strong><em>\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c<\/em><\/strong><\/a><strong><em> \u21a9<\/em><\/strong><\/figcaption><\/div>\n<\/figure>\n<hr\/>\n<p><strong>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/www.centennialsoftwaresolutions.com\/post\/build-the-linux-kernel-and-busybox-and-run-them-on-qemu\"><u>Build the Linux kernel and busybox and run them on qemu<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/medium.com\/@daeseok.youn\/prepare-the-environment-for-developing-linux-kernel-with-qemu-c55e37ba8ade\"><u>Prepare the environment for developing linux kernel with qemu<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.kernel.org\/doc\/html\/v4.14\/admin-guide\/kernel-parameters.html\"><u>Kernel parameter guide<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/stackoverflow.com\/a\/30383581\"><u>Stack Overflow answer about kernel serial console command line<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/README.rst\"><u>Linux source tree &gt; Documentation &gt; admin-guide &gt; README<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/manpages.debian.org\/jessie\/qemu-system-x86\/qemu-system-x86_64.1.en.html\"><u>qemu man page<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.kraxel.org\/blog\/2019\/09\/display-devices-in-qemu\/\"><u>Display devices in qemu<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wiki.gentoo.org\/wiki\/Custom_Initramfs\"><u>Gentoo wiki &gt; Custom Initramfs<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/init.rst\"><u>Linux source tree &gt; Documentation &gt; admin-guide &gt; init.rst<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"http:\/\/Kernel.org\"><u>Kernel.org<\/u><\/a><a href=\"https:\/\/www.kernel.org\/doc\/html\/v4.15\/admin-guide\/serial-console.html\"><u> &gt; Linux Serial Consol<\/u><\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/899312\/\"> https:\/\/habr.com\/ru\/articles\/899312\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435 \u0442\u0435\u0445\u043b\u0438\u0434 \u043f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u043c\u043d\u0435 \u043f\u0440\u043e\u0448\u0442\u0443\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043d\u0438\u0433\u0443 <em>Understanding the Linux Kernel<\/em>\u00a0\u0411\u043e\u0432\u0435 \u0438 \u0427\u0435\u0437\u0430\u0442\u0438. \u0412 \u043d\u0435\u0439 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Linux 2.6, \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0435 \u0434\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 6.0. \u041d\u043e \u0432 \u043d\u0435\u0439 \u044f\u0432\u043d\u043e \u0435\u0449\u0451 \u043c\u043d\u043e\u0433\u043e \u0446\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u041a\u043d\u0438\u0433\u0430 \u0442\u043e\u043b\u0441\u0442\u0430\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0435\u0451 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0417\u0430\u043d\u0438\u043c\u0430\u044f\u0441\u044c \u043f\u043e \u043d\u0435\u0439, \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043c\u043e\u0433 \u0431\u044b \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u044f\u0434\u0440\u0430 Linux \u2014 \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435.  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u044f\u0434\u0440\u043e Linux. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0430\u0447\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u044e \u0438 \u043f\u043e\u0434\u0430\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.<\/p>\n<h2>\u276f \u042d\u0442\u0430\u043f\u044b<\/h2>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u043e\u0439\u0434\u0451\u0442 \u0432 2 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044d\u0442\u0430\u043f\u0430:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 Busybox <\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0435\u0440\u0435\u0437 qemu \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u043f\u0440\u044f\u043c\u043e \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u044f\u0434\u0440\u0443 Linux. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043e \u043d\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e, \u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0443\u043c\u0430\u043b, \u0443\u0432\u0438\u0434\u0435\u0432, \u0447\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043b\u0438\u043d\u043d\u043e\u0439. <a href=\"https:\/\/www.kernel.org\/doc\/html\/v4.14\/dev-tools\/kgdb.html\"><u>\u0417\u0434\u0435\u0441\u044c<\/u><\/a> \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e kgdb. \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u2013 \u0440\u0430\u043d\u044c\u0448\u0435 \u044f \u0441 \u043d\u0435\u0439 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/p>\n<h2>\u276f \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 qemu<\/h2>\n<p>\u0411\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c Qemu, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0436\u0435\u043b\u0435\u0437\u043e. \u0418\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043d\u0451\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u0442 Linux, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 bs \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c. \u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435:<\/p>\n<pre><code class=\"yaml\">~ sudo apt install qemu qemu-system<\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c qemu, \u0432\u0437\u044f\u0432 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u043d\u043e \u0443 \u043d\u0435\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438 \u0432\u0441\u043a\u043e\u0440\u0435 \u044f \u0441\u0442\u0430\u043b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0441\u043d\u043e \u0442\u0435\u0440\u044f\u044e \u0432\u0440\u0435\u043c\u044f.<\/p>\n<h2>\u276f \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c Linux,\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0435\u0442\u043a\u0443 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435<\/h2>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 Linux.<\/p>\n<pre><code>~ git clone https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/<\/code><\/pre>\n<p>\u041e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<pre><code class=\"yaml\">~ du --max-depth=1 --block-size=GB | grep linux 6GB     .\/linux<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0442\u043c\u0435\u0442\u0438\u043c \u0433\u0430\u043b\u043e\u0447\u043a\u043e\u0439 \u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442. \u042f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 5.19. <\/p>\n<pre><code>~ cd linux # alias gco=\"git checkout\" ~ gco v5.19 ~ git branch -M 5.19<\/code><\/pre>\n<h2>\u276f \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c Linux<\/h2>\n<p>\u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u0440\u044f\u043c\u043e \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 Linux, \u0441\u043c. <a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/README.rst\"><u>readme<\/u><\/a>. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443\u00a0<code>make help<\/code>, \u0438 \u043e\u043d\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438. \u041d\u0438\u0436\u0435 \u044f \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u043e\u043f\u0438\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043b.<\/p>\n<h4>\u041e\u0447\u0438\u0441\u0442\u043a\u0430 (\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430)<\/h4>\n<p>\u0418\u0437\u0431\u0430\u0432\u044c\u0442\u0435\u0441\u044c \u043e\u0442 \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u00a0<code>.o<\/code>, \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u043e\u043f\u044b\u0442\u043e\u043a. \u041d\u0430\u043c \u044d\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u0431\u043e\u0440\u043a\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u043d\u0435 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442 \u0443\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0431\u043b\u0430\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n<pre><code>~ make mrproper<\/code><\/pre>\n<p><a href=\"https:\/\/github.com\/torvalds\/linux\/blob\/df26327ea097eb78e7967c45df6b23010c43c28d\/Documentation\/admin-guide\/README.rst\"><u>\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/u><\/a><\/p>\n<h4>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430<\/h4>\n<p>\u0423 \u044f\u0434\u0440\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u2014 \u0432\u044b\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u044f\u0434\u0440\u0435 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432, \u0432\u0430\u043c \u0436\u0435, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0443\u0436\u043d\u044b \u043b\u0438\u0448\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445. \u0415\u0441\u043b\u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0441\u0440\u0430\u0437\u0443 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u043c\u0438, \u044d\u0442\u043e \u0434\u0430\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0442\u043a\u0430\u0437\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u2013 \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440. \u0415\u0441\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438 \u0442.\u0434. \u041c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c! \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u044f\u0434\u0440\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0433, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f, \u0430 \u043b\u0438\u0448\u044c \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u0442\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0431\u043e\u0440\u043a\u0435.  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 \u043f\u0443\u0442\u044c\u00a0<code>\/home\/$USER\/linux-build<\/code>, \u0442\u043e \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0444\u043b\u0430\u0433\u00a0<code>O<\/code>\u00a0(\u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0432\u044b\u0432\u043e\u0434\u0430) \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435.<\/p>\n<pre><code>~ OUTPUT_DIR=\/home\/$USER\/linux\/build # \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 # \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 no. \u0412 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0438\u0447,  # \u0442\u0430\u043a \u0443 \u0432\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. # \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c tinyconfig \u0432\u043c\u0435\u0441\u0442\u043e allnoconfig. # \u041d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e, \u0447\u0435\u043c \u043e\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f. ~ make O=$OUTPUT_DIR allnoconfig # \u0417\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044f\u0434\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. # \u0422\u0443\u0442 \u043f\u043e\u043a\u0430 \u043d\u0435\u0447\u0435\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c. ~ make O=$OUTPUT_DIR menuconfig # \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u0430\u043c\u043e \u044f\u0434\u0440\u043e # \u0417\u0430\u043c\u0435\u043d\u044f\u0435\u043c 8 \u043d\u0430 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440. # cat \/proc\/cpuinfo | grep processor | wc -l. ~ make O=$OUTPUT_DIR -j8<\/code><\/pre>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430 &#8212;\u0444\u0430\u0439\u043b\u00a0<code>bzImage<\/code>\u2014\u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 1,5 \u041c\u0411.<\/p>\n<h2>\u276f \u042d\u0442\u0430\u043f \u0432\u0442\u043e\u0440\u043e\u0439: \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 qemu<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 qemu \u0442\u043e \u044f\u0434\u0440\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c.<\/p>\n<p><a href=\"https:\/\/manpages.debian.org\/jessie\/qemu-system-x86\/qemu-system-x86_64.1.en.html\"><u>\u0412 man-\u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u0441\u043f\u0440\u0430\u0432\u043a\u0435 \u043f\u043e qemu<\/u><\/a>\u00a0\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u043e, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438.<\/p>\n<pre><code>~ OUTPUT_DIR=\/home\/$USER\/linux\/build # -nographic \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u0448\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430 \u0438 \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 gui\/\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c. # -append \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 qemu \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u044f\u0434\u0440\u0430. #     \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438: #     - console=ttyS0 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u044f\u0434\u0440\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. #     - earlyprintk=serial,ttyS0 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u044f\u0434\u0440\u0443, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043b\u043e\u0433\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043d\u0435\u0451,   #        \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u0430\u0437\u043e\u0432 \u0435\u0449\u0451 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u2013 \u0438 \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f!  # -kernel \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. #  ~ qemu-system-x86_64 -kernel $OUTPUT_DIR\/arch\/x86\/boot\/bzImage -nographic -append \"earlyprintk=serial,ttyS0 console=ttyS0\"<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c <code>ctrl + a<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c\u00a0<code>x<\/code>, \u0442\u043e \u043c\u044b \u043f\u043e\u043a\u0438\u043d\u0435\u043c \u044d\u043a\u0440\u0430\u043d \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u0415\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u044c\u00a0 <code>ctrl + a<\/code>,\u00a0\u0430 \u0437\u0430\u0442\u0435\u043c\u00a0<code>h<\/code>,\u00a0\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043c\u0435\u043d\u044e \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u043f\u0446\u0438\u0438.<\/p>\n<p>\u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u0447\u0435\u0440\u0435\u0437 qemu, \u0432 \u044f\u0434\u0440\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u043f\u0430\u043d\u0438\u043a\u0430:<\/p>\n<pre><code>Warning: unable to open an initial console. List of all partitions: No filesystem could mount root, tried:  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)<\/code><\/pre>\n<p>\u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u043e\u0442 \u044d\u0442\u043e\u0439 \u043f\u0430\u043d\u0438\u043a\u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u043c\u0441\u044f.<\/p>\n<h2>\u276f \u041e\u0431\u0437\u0430\u0432\u043e\u0434\u0438\u043c\u0441\u044f Busybox<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u044f\u0434\u0440\u043e Linux, \u043d\u043e \u043d\u0435\u0442 \u043d\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (<a href=\"https:\/\/wiki.gentoo.org\/wiki\/Custom_Initramfs\"><u>initramfs<\/u><\/a>, \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u044d\u0442\u0443 \u0441\u0441\u044b\u043b\u043a\u0443 Gentoo \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0438\u0437\u0435\u0440\u0430). \u0427\u0442\u043e-\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0443\u0441\u0442\u043e\u0432\u0430\u043b\u043e.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f Busybox. \u0412 \u043d\u0451\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u0430\u043a <code>ls<\/code>,\u00a0<code>cd<\/code>,\u00a0<code>cp<\/code>,\u00a0<code>mv<\/code>,\u00a0<code>vim<\/code>,\u00a0<code>tar<\/code>,\u00a0<code>grep<\/code>,\u00a0<code>dhcp<\/code>,\u00a0<code>mdev<\/code>\u00a0(\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0433\u043e\u0440\u044f\u0447\u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043a Linux),\u00a0<code>ifplugd<\/code>\u00a0(\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430\/\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430) \u2013 \u0432\u0441\u0451 \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438, \u043a\u0430\u043a \u0438\u0445 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u0432\u043d\u0435 Busybox, \u043d\u043e \u0438\u0445 \u043d\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u0442.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b README \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 busybox \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0430\u0435\u0442\u0435 \u0435\u0433\u043e \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0438\u0436\u0435 \u2013 \u0442\u0430\u043c \u0432\u0441\u0451 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u0435 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 <a href=\"https:\/\/busybox.net\/\">https:\/\/busybox.net\/<\/a> \u0438 \u0437\u0430\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e busybox.<\/p>\n<h2>\u276f \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c Busybox<\/h2>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u044f\u0434\u0440\u043e\u043c Linux.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b INSTALL file \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043a busybox, \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u0441\u043a\u0430\u0447\u0430\u044e\u0442\u0441\u044f. <\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0436\u0435\u043b\u0430\u0435\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Busybox, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u0431\u043e\u0440\u043a\u0435. <\/p>\n<pre><code class=\"yaml\">~ cd busybox-1.33.2 ~ mkdir -pv build ~ OUTPUT_DIR=\/home\/$USER\/busybox-1.33.2\/build # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b .config, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u00abyes\u00bb. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c # \u043c\u0430\u0441\u0441\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Busybox, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.  # \u042f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e\u0441\u044c \u0432 \u0442\u0435\u043c\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 allnoconfig # \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2013 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u043e\u0442 \u043e\u043d.  # \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0438 \u043a\u0440\u0443\u043f\u043d\u0435\u0435, \u0447\u0435\u043c \u044f\u0434\u0440\u043e \u043d\u0430 1,5 \u041c\u0411. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c  ~ make O=$OUTPUT_DIR defconfig # \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 UI ~ make O=$OUTPUT_DIR menuconfig<\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043e\u0442\u043a\u0440\u044b\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u043d\u0451\u043c &#171;Settings&#187; (\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438) (\u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u0432\u0432\u043e\u0434\u0430), \u0430 \u0437\u0430\u0442\u0435\u043c &#171;Build Busybox as a static binary&#187; (\u0421\u043e\u0431\u0440\u0430\u0442\u044c Busybox \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b) (\u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u043f\u0440\u043e\u0431\u0435\u043b\u0430). \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u044f\u0434\u0440\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435. <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432\u043d\u0435\u0441\u0451\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0441\u0431\u043e\u0440\u043a\u0435!<\/p>\n<pre><code class=\"yaml\"># \u0432\u0432\u0435\u0434\u0438\u0442\u0435 make help, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438, # \u043d\u043e, \u0432 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c make all \u0438\u043b\u0438 make busybox. # \u041f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043f\u0440\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 - \u0442\u043e\u043b\u044c\u043a\u043e busybox. ~ make O=$OUTPUT_DIR -j8 busybox<\/code><\/pre>\n<p>\u0418 \u0432\u043e\u0442,<\/p>\n<pre><code class=\"yaml\">~ ls -la $OUTPUT_DIR --block-size=KB | grep busybox -rw-r--r--  1 yangwenli yangwenli    2kB Aug 23 15:33 .busybox_unstripped.cmd -rwxr-xr-x  1 yangwenli yangwenli 2694kB Aug 23 15:33 busybox -rwxr-xr-x  1 yangwenli yangwenli 2987kB Aug 23 15:33 busybox_unstripped -rw-r--r--  1 yangwenli yangwenli 2340kB Aug 23 15:33 busybox_unstripped.map -rw-r--r--  1 yangwenli yangwenli  105kB Aug 23 15:33 busybox_unstripped.out<\/code><\/pre>\n<p>\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\u00a0<code>busybox<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u043a\u043e\u043b\u043e\u00a0 2,7 \u041c\u0411, \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043c\u0438 \u044f\u0434\u0440\u043e. \u0412\u0430\u0440\u0438\u0430\u043d\u0442 <code>busybox_unstripped<\/code>\u00a0\u043d\u0430\u0441 \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442. \u041e\u043d \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u0435\u0435 \u0438, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0442\u0430\u043a, \u043a\u0430\u043a\u00a0<a href=\"https:\/\/busybox.net\/FAQ.html\"><u>\u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 Busybox FAQ<\/u><\/a>.<\/p>\n<h2>\u276f \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432<\/h2>\n<p><em>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0432\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0432\u0438\u043a\u0438-\u0441\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043f\u043e Gentoo, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 Custom Initramfs\u00a0<\/em><a href=\"https:\/\/wiki.gentoo.org\/wiki\/Custom_Initramfs\"><em><u>\u0437\u0434\u0435\u0441\u044c<\/u><\/em><\/a><em>.<\/em><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0444\u0430\u0439\u043b\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430\u0448\u0435\u0433\u043e Linux.<\/p>\n<p>\u041d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430, \u0447\u0442\u043e \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>busybox<\/code>\u00a0\u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043c\u0435\u0441\u0442\u0435. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\/\u0441\u043a\u0440\u0438\u043f\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<pre><code>~ mkdir \/home\/$USER\/initramfs &amp;&amp; cd initramfs # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0440\u044f\u0434 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043d\u0430\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 Linux  # dev, proc \u0438 sys \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u044f\u043a\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0435\u0433\u043e\u0441\u044f \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u044f\u0434\u0440\u0430 \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, procfs, sysfs \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. # \u0412 etc \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c. # \u0418\u0437 root \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. # \u0412 bin \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b. ~ mkdir {bin,dev,etc,proc,root,sys} # busybox \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 \u043d\u0451\u043c \u0431\u0443\u0434\u0443\u0442 \u044d\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438,  # \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438\u0445 \u0434\u043b\u044f \u043d\u0435\u0433\u043e ~ mkdir {usr\/bin,usr\/sbin,sbin} # \u041c\u044b \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b busybox \u0431\u044b\u043b \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 \u043d\u0430\u0448 initramfs ~ cp \/home\/$USER\/busybox-1.33.2\/build\/busybox bin\/busybox<\/code><\/pre>\n<h2>\u276f \u0421\u043e\u0437\u0434\u0430\u0451\u043c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441 <\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c init-\u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435<code> initramfs<\/code>\u00a0\u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0444\u0430\u0439\u043b \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c\u00a0<code>init<\/code><\/p>\n<pre><code>~ touch init &amp;&amp; chmod +x init<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-455361","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/455361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=455361"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/455361\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=455361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=455361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=455361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}