Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Nov 2025 11:16:51 GMT
From:      Vladlen Popolitov <vladlen@FreeBSD.org>
To:        doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org
Subject:   git: a0e1df672e - main - update translation of books/arch-handbook to Russian Reviewed by: andy Differential Revision: https://reviews.freebsd.org/D53493
Message-ID:  <202511091116.5A9BGpvF099297@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by vladlen:

URL: https://cgit.FreeBSD.org/doc/commit/?id=a0e1df672e153605c7bcf765b8740bf630342e45

commit a0e1df672e153605c7bcf765b8740bf630342e45
Author:     Vladlen Popolitov <vladlen@FreeBSD.org>
AuthorDate: 2025-11-09 11:16:41 +0000
Commit:     Vladlen Popolitov <vladlen@FreeBSD.org>
CommitDate: 2025-11-09 11:16:41 +0000

    update translation of books/arch-handbook to Russian
    Reviewed by: andy
    Differential Revision: https://reviews.freebsd.org/D53493
---
 .../content/ru/books/arch-handbook/_index.adoc     |   4 +-
 .../content/ru/books/arch-handbook/_index.po       |  22 +-
 .../books/arch-handbook/bibliography/_index.adoc   |   2 +-
 .../ru/books/arch-handbook/bibliography/_index.po  |   6 +-
 .../content/ru/books/arch-handbook/book.adoc       |   2 +-
 .../content/ru/books/arch-handbook/book.po         |  26 +-
 .../ru/books/arch-handbook/boot/_index.adoc        |   2 +-
 .../content/ru/books/arch-handbook/boot/_index.po  | 390 +++++++++++----------
 .../books/arch-handbook/driverbasics/_index.adoc   |   2 +-
 .../ru/books/arch-handbook/driverbasics/_index.po  |  34 +-
 .../content/ru/books/arch-handbook/isa/_index.adoc |   2 +-
 .../content/ru/books/arch-handbook/isa/_index.po   | 156 +++++----
 .../ru/books/arch-handbook/jail/_index.adoc        |   4 +-
 .../content/ru/books/arch-handbook/jail/_index.po  |  95 ++---
 .../ru/books/arch-handbook/kobj/_index.adoc        |   2 +-
 .../content/ru/books/arch-handbook/kobj/_index.po  |  36 +-
 .../ru/books/arch-handbook/locking/_index.adoc     |   2 +-
 .../ru/books/arch-handbook/locking/_index.po       |  31 +-
 .../content/ru/books/arch-handbook/mac/_index.adoc |  38 +-
 .../content/ru/books/arch-handbook/mac/_index.po   | 245 +++++++------
 .../ru/books/arch-handbook/newbus/_index.adoc      |   6 +-
 .../ru/books/arch-handbook/newbus/_index.po        |  64 ++--
 .../content/ru/books/arch-handbook/parti.adoc      |   2 +-
 .../content/ru/books/arch-handbook/parti.po        |   4 +-
 .../content/ru/books/arch-handbook/partii.adoc     |   2 +-
 .../content/ru/books/arch-handbook/partii.po       |   4 +-
 .../content/ru/books/arch-handbook/partiii.adoc    |   2 +-
 .../content/ru/books/arch-handbook/partiii.po      |   4 +-
 .../ru/books/arch-handbook/pccard/_index.adoc      |   2 +-
 .../ru/books/arch-handbook/pccard/_index.po        |  45 +--
 .../content/ru/books/arch-handbook/pci/_index.adoc |   2 +-
 .../content/ru/books/arch-handbook/pci/_index.po   |  74 ++--
 .../ru/books/arch-handbook/scsi/_index.adoc        |  20 +-
 .../content/ru/books/arch-handbook/scsi/_index.po  | 149 ++++----
 .../content/ru/books/arch-handbook/smp/_index.adoc |  10 +-
 .../content/ru/books/arch-handbook/smp/_index.po   | 107 +++---
 .../ru/books/arch-handbook/sound/_index.adoc       |   2 +-
 .../content/ru/books/arch-handbook/sound/_index.po |  48 +--
 .../ru/books/arch-handbook/sysinit/_index.adoc     |   2 +-
 .../ru/books/arch-handbook/sysinit/_index.po       |  12 +-
 .../content/ru/books/arch-handbook/usb/_index.adoc |   2 +-
 .../content/ru/books/arch-handbook/usb/_index.po   |  77 ++--
 .../content/ru/books/arch-handbook/vm/_index.adoc  |   2 +-
 .../content/ru/books/arch-handbook/vm/_index.po    |  37 +-
 44 files changed, 962 insertions(+), 818 deletions(-)

diff --git a/documentation/content/ru/books/arch-handbook/_index.adoc b/documentation/content/ru/books/arch-handbook/_index.adoc
index 7417861a9b..b615f17b1a 100644
--- a/documentation/content/ru/books/arch-handbook/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/_index.adoc
@@ -1,5 +1,5 @@
 ---
-add_single_page_link: true
+add_single_page_link: 'true'
 authors:
   - 
     author: 'The FreeBSD Documentation Project'
@@ -9,7 +9,7 @@ description: 'Для разработчиков систем FreeBSD. В это
 next: books/arch-handbook/parti
 params:
   path: /books/arch-handbook/
-showBookMenu: true
+showBookMenu: 'true'
 tags: ["Arch Handbook", "FreeBSD"]
 title: 'Руководство по архитектуре FreeBSD'
 trademarks: ["freebsd", "apple", "microsoft", "unix", "general"]
diff --git a/documentation/content/ru/books/arch-handbook/_index.po b/documentation/content/ru/books/arch-handbook/_index.po
index 980f503404..c3bf8aae62 100644
--- a/documentation/content/ru/books/arch-handbook/_index.po
+++ b/documentation/content/ru/books/arch-handbook/_index.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
 "PO-Revision-Date: 2025-08-16 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 4.17\n"
 
-#. type: Yaml Front Matter Hash Value: description
+#. type: YAML Front Matter: description
 #: documentation/content/en/books/arch-handbook/_index.adoc:1
 #, no-wrap
 msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
+msgstr ""
+"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
+"особенности многих важных подсистем ядра FreeBSD"
 
 #. type: Title =
 #: documentation/content/en/books/arch-handbook/_index.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн
 msgid "FreeBSD Architecture Handbook"
 msgstr "Руководство по архитектуре FreeBSD"
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:51
 msgid "Abstract"
 msgstr "Аннотация"
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:53
 msgid ""
 "Welcome to the FreeBSD Architecture Handbook. This manual is a _work in "
@@ -50,7 +52,7 @@ msgstr ""
 "Если вы хотите помочь в работе над этим проектом, напишите на электронную "
 "почту списка рассылки {freebsd-doc}."
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:55
 msgid ""
 "The latest version of this document is always available from the "
@@ -61,11 +63,11 @@ msgid ""
 msgstr ""
 "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
 "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
-"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/"
-"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:"
-"{handbook}mirrors/[mirror sites, mirrors]."
+"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
+"сервера загрузок FreeBSD] или одного из многочисленных зеркал "
+"extref:{handbook}mirrors/[mirror sites, mirrors]."
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/_index.adoc:56
 msgid "'''"
 msgstr "'''"
diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
index 96ff388686..805bac4a4d 100644
--- a/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.adoc
@@ -3,7 +3,7 @@ description: 'Библиография Руководства по архите
 params:
   path: /books/arch-handbook/bibliography/
 prev: books/arch-handbook/partiii
-showBookMenu: true
+showBookMenu: 'true'
 tags: ["bibliography", "Arch Handbook", "FreeBSD"]
 title: Библиография
 weight: 20
diff --git a/documentation/content/ru/books/arch-handbook/bibliography/_index.po b/documentation/content/ru/books/arch-handbook/bibliography/_index.po
index c5253e7d57..3caebc93a7 100644
--- a/documentation/content/ru/books/arch-handbook/bibliography/_index.po
+++ b/documentation/content/ru/books/arch-handbook/bibliography/_index.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
 "PO-Revision-Date: 2025-07-12 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,7 +18,7 @@ msgstr ""
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 4.17\n"
 
-#. type: Yaml Front Matter Hash Value: description
+#. type: YAML Front Matter: description
 #: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:1
 #, no-wrap
 msgid "Bibliography of the FreeBSD Architecture Handbook"
@@ -31,7 +31,7 @@ msgstr "Библиография Руководства по архитекту
 msgid "Bibliography"
 msgstr "Библиография"
 
-#. type: appendix
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/bibliography/_index.adoc:51
 msgid ""
 "[1] _Marshall Kirk McKusick, Keith Bostic, Michael J Karels, and John S "
diff --git a/documentation/content/ru/books/arch-handbook/book.adoc b/documentation/content/ru/books/arch-handbook/book.adoc
index 22f9cfba0b..4aea684095 100644
--- a/documentation/content/ru/books/arch-handbook/book.adoc
+++ b/documentation/content/ru/books/arch-handbook/book.adoc
@@ -1,5 +1,5 @@
 ---
-add_split_page_link: true
+add_split_page_link: 'true'
 authors:
   - 
     author: 'The FreeBSD Documentation Project'
diff --git a/documentation/content/ru/books/arch-handbook/book.po b/documentation/content/ru/books/arch-handbook/book.po
index a099efa2f7..067584be72 100644
--- a/documentation/content/ru/books/arch-handbook/book.po
+++ b/documentation/content/ru/books/arch-handbook/book.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2022-07-07 23:22-0300\n"
 "PO-Revision-Date: 2025-08-16 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -18,11 +18,13 @@ msgstr ""
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 4.17\n"
 
-#. type: Yaml Front Matter Hash Value: description
+#. type: YAML Front Matter: description
 #: documentation/content/en/books/arch-handbook/book.adoc:1
 #, no-wrap
 msgid "For FreeBSD system developers. This book covers the architectural details of many important FreeBSD kernel subsystems"
-msgstr "Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные особенности многих важных подсистем ядра FreeBSD"
+msgstr ""
+"Для разработчиков систем FreeBSD. В этой книге рассматриваются архитектурные "
+"особенности многих важных подсистем ядра FreeBSD"
 
 #. type: Title =
 #: documentation/content/en/books/arch-handbook/book.adoc:1
@@ -31,12 +33,12 @@ msgstr "Для разработчиков систем FreeBSD. В этой кн
 msgid "FreeBSD Architecture Handbook"
 msgstr "Руководство по архитектуре FreeBSD"
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/book.adoc:49
 msgid "Abstract"
 msgstr "Аннотация"
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/book.adoc:51
 msgid ""
 "Welcome to the FreeBSD Architecture Handbook. This manual is a _work in "
@@ -50,22 +52,22 @@ msgstr ""
 "Если вы хотите помочь в работе над этим проектом, напишите на электронную "
 "почту списка рассылки {freebsd-doc}."
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/book.adoc:53
 msgid ""
-"The latest version of this document is always available from the "
-"link:https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
+"The latest version of this document is always available from the link:"
+"https://www.FreeBSD.org/[FreeBSD World Wide Web server]. It may also be "
 "downloaded in a variety of formats and compression options from the https://"
 "download.freebsd.org/doc/[FreeBSD download server] or one of the numerous "
 "extref:{handbook}[mirror sites, mirrors]."
 msgstr ""
 "Актуальная версия этого документа всегда доступна на https://www.FreeBSD.org/"
 "[официальном веб-сервере FreeBSD]. Его также можно загрузить в различных "
-"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/"
-"[сервера загрузок FreeBSD] или одного из многочисленных зеркал extref:"
-"{handbook}mirrors/[mirror sites, mirrors]."
+"форматах и с разными вариантами сжатия с https://download.freebsd.org/doc/["
+"сервера загрузок FreeBSD] или одного из многочисленных зеркал "
+"extref:{handbook}mirrors/[mirror sites, mirrors]."
 
-#. type: .abstract-title
+#. type: Plain text
 #: documentation/content/en/books/arch-handbook/book.adoc:55
 msgid "'''"
 msgstr "'''"
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
index 5b356b42ac..f5a67dedba 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
@@ -4,7 +4,7 @@ next: books/arch-handbook/locking
 params:
   path: /books/arch-handbook/boot/
 prev: books/arch-handbook/parti
-showBookMenu: true
+showBookMenu: 'true'
 tags: ["boot", "BIOS", "kernel", "MBR", "FreeBSD"]
 title: 'Глава 1. Начальная загрузка и инициализация ядра'
 weight: 2
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po
index 171dbcf2b3..f013cc2bb5 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.po
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-14 22:43+0300\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
 "PO-Revision-Date: 2025-07-02 04:45+0000\n"
 "Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
 "Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
@@ -25,7 +25,7 @@ msgstr ""
 msgid "Bootstrapping and Kernel Initialization"
 msgstr "Начальная загрузка и инициализация ядра"
 
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:1
 #, no-wrap
 msgid "Chapter 1. Bootstrapping and Kernel Initialization"
@@ -101,9 +101,9 @@ msgstr ""
 "существовать различные типы загрузки в рамках одной архитектуры. Например, "
 "список файлов в каталоге [.filename]#stand# показывает большое количество "
 "кода, зависящего от архитектуры. Для каждой из поддерживаемых архитектур "
-"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM "
-"(Compatibility Support Module). Таким образом, CSM поддерживается (как с "
-"GPT, так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
+"существует отдельный каталог. FreeBSD поддерживает стандарт загрузки CSM ("
+"Compatibility Support Module). Таким образом, CSM поддерживается (как с GPT, "
+"так и с MBR разметкой), а также загрузка через UEFI (GPT полностью "
 "поддерживается, MBR — в основном). Также поддерживается загрузка файлов с "
 "ext2fs, MSDOS, UFS и ZFS. FreeBSD поддерживает функцию загрузочного "
 "окружения ZFS, которая позволяет основной ОС передавать детали о том, что "
@@ -124,8 +124,8 @@ msgid ""
 "stage is examined in the following sections."
 msgstr ""
 "Ключ к пониманию этого процесса заключается в том, что он состоит из "
-"последовательных стадий возрастающей сложности. Эти стадии — "
-"[.filename]#boot1#, [.filename]#boot2# и [.filename]#loader# (подробнее см. "
+"последовательных стадий возрастающей сложности. Эти стадии — [."
+"filename]#boot1#, [.filename]#boot2# и [.filename]#loader# (подробнее см. "
 "man:boot[8]). Система загрузки выполняет каждую стадию последовательно. "
 "Последняя стадия, [.filename]#loader#, отвечает за загрузку ядра FreeBSD. "
 "Каждая стадия рассматривается в следующих разделах."
@@ -179,7 +179,9 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:104
 #, no-wrap
 msgid "`boot2` footnote:[This prompt will appear if the user presses a key just after selecting an OS to boot at the boot0 stage.]"
-msgstr "`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу сразу после выбора ОС для загрузки на этапе boot0.]"
+msgstr ""
+"`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу "
+"сразу после выбора ОС для загрузки на этапе boot0.]"
 
 #. type: Table
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:113
@@ -234,7 +236,8 @@ msgstr ""
 "Console internal video/keyboard\n"
 "(root@releng1.nyi.freebsd.org, Fri Apr  9 04:04:45 UTC 2021)\n"
 "Loading /boot/defaults/loader.conf\n"
-"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 syms=[0x8+0x137988+0x8+0x1515f8]\n"
+"/boot/kernel/kernel text=0xed9008 data=0x117d28+0x176650 "
+"syms=[0x8+0x137988+0x8+0x1515f8]\n"
 "...."
 
 #. type: Table
@@ -264,9 +267,12 @@ msgstr ""
 "Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\n"
 "        The Regents of the University of California. All rights reserved.\n"
 "FreeBSD is a registered trademark of The FreeBSD Foundation.\n"
-"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:04:45 UTC 2021\n"
-"    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC i386\n"
-"FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)\n"
+"FreeBSD 13.0-RELEASE 0 releng/13.0-n244733-ea31abc261f: Fri Apr  9 04:04:45 "
+"UTC 2021\n"
+"    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/i386.i386/sys/GENERIC "
+"i386\n"
+"FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11"
+".0.1-0-g43ff75f2c3fe)\n"
 "...."
 
 #. type: Title ==
@@ -299,8 +305,8 @@ msgstr ""
 "битное значение `0xfffffff0`. Регистр указателя команд (также известный как "
 "Счётчик Команд) указывает на код, который должен быть выполнен процессором. "
 "Ещё один важный регистр — это 32-битный управляющий регистр `cr0`, и его "
-"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE "
-"(Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
+"значение сразу после перезагрузки равно `0`. Один из битов ``cr0``, бит PE ("
+"Protection Enabled, Защита Включена), указывает, работает ли процессор в 32-"
 "битном защищённом режиме или 16-битном реальном режиме. Поскольку этот бит "
 "сброшен при загрузке, процессор запускается в 16-битном реальном режиме. "
 "Реальный режим означает, среди прочего, что линейные и физические адреса "
@@ -333,9 +339,9 @@ msgid ""
 "jump instruction to the BIOS's POST routines."
 msgstr ""
 "BIOS (Basic Input Output System) — это микросхема на материнской плате, "
-"которая содержит относительно небольшой объем памяти только для чтения "
-"(ROM). Эта память включает различные низкоуровневые процедуры, специфичные "
-"для оборудования, поставляемого с материнской платой. Процессор сначала "
+"которая содержит относительно небольшой объем памяти только для чтения (ROM)"
+". Эта память включает различные низкоуровневые процедуры, специфичные для "
+"оборудования, поставляемого с материнской платой. Процессор сначала "
 "переходит по адресу 0xfffffff0, который фактически находится в памяти BIOS. "
 "Обычно по этому адресу содержится инструкция перехода к процедурам POST BIOS."
 
@@ -370,15 +376,15 @@ msgid ""
 "MBR, or Master Boot Record.  The remaining sectors on the first track are "
 "never used."
 msgstr ""
-"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик "
-"`INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
+"Самым последним действием в POST является инструкция `INT 0x19`. Обработчик `"
+"INT 0x19` считывает 512 байт из первого сектора загрузочного устройства в "
 "память по адресу `0x7c00`. Термин _первый сектор_ происходит из архитектуры "
 "жёстких дисков, где магнитная пластина разделена на множество цилиндрических "
 "дорожек. Дорожки нумеруются, и каждая дорожка разделена на несколько (обычно "
 "64) секторов. Нумерация дорожек начинается с 0, но нумерация секторов "
 "начинается с 1. Дорожка 0 находится на внешней стороне магнитной пластины, а "
-"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR "
-"(Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
+"сектор 1, первый сектор, имеет особое назначение. Он также называется MBR ("
+"Master Boot Record) или Главная Загрузочная Запись. Остальные секторы на "
 "первой дорожке не используются."
 
 #. type: Plain text
@@ -434,8 +440,8 @@ msgid ""
 "which is an awesome piece of code written by Robert Nordier."
 msgstr ""
 "Как упоминалось ранее, мы вызываем прерывание BIOS `INT 0x19` для загрузки "
-"MBR ([.filename]#boot0#) в память по адресу `0x7c00`. Исходный файл для "
-"[.filename]#boot0# можно найти в [.filename]#stand/i386/boot0/boot0.S# — это "
+"MBR ([.filename]#boot0#) в память по адресу `0x7c00`. Исходный файл для [."
+"filename]#boot0# можно найти в [.filename]#stand/i386/boot0/boot0.S# — это "
 "впечатляющий фрагмент кода, написанный Робертом Нордье."
 
 #. type: Plain text
@@ -532,8 +538,8 @@ msgstr ""
 "дополнительной информации (например, без формата файла ELF). Такой "
 "низкоуровневый контроль достигается на этапе компоновки с помощью "
 "специальных флагов, передаваемых компоновщику. Например, текстовая секция "
-"программы располагается по адресу `0x600`. На практике это означает, что "
-"[.filename]#boot0# должен быть загружен в память по адресу `0x600` для "
+"программы располагается по адресу `0x600`. На практике это означает, что [."
+"filename]#boot0# должен быть загружен в память по адресу `0x600` для "
 "корректной работы."
 
 #. type: Plain text
@@ -550,15 +556,15 @@ msgid ""
 "command the linker to start the text section at address `0x600`, and to "
 "build the output file \"as is\" (strip out any file formatting):"
 msgstr ""
-"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# "
-"([.filename]#stand/i386/boot0/Makefile#), так как он определяет некоторые "
-"аспекты поведения [.filename]#boot0# во время выполнения. Например, если для "
-"ввода-вывода используется терминал, подключённый к последовательному порту "
-"(COM1), необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает "
-"загрузку через PXE при нажатии kbd:[F6]. Кроме того, программа определяет "
-"набор _флагов_, которые позволяют дополнительно настроить её поведение. Всё "
-"это проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание "
-"на директивы компоновщика, которые предписывают ему начинать секцию текста с "
+"Стоит взглянуть на [.filename]#Makefile# для [.filename]#boot0# ([.filename]#"
+"stand/i386/boot0/Makefile#), так как он определяет некоторые аспекты "
+"поведения [.filename]#boot0# во время выполнения. Например, если для ввода-"
+"вывода используется терминал, подключённый к последовательному порту (COM1), "
+"необходимо определить макрос `SIO` (`-DSIO`). `-DPXE` включает загрузку "
+"через PXE при нажатии kbd:[F6]. Кроме того, программа определяет набор "
+"_флагов_, которые позволяют дополнительно настроить её поведение. Всё это "
+"проиллюстрировано в [.filename]#Makefile#. Например, обратите внимание на "
+"директивы компоновщика, которые предписывают ему начинать секцию текста с "
 "адреса `0x600` и создавать выходной файл \"как есть\" (удаляя любое "
 "форматирование файла):"
 
@@ -720,11 +726,11 @@ msgstr ""
 "который указывает `%di`. Это повторяется ещё 255 раз. При каждом повторении "
 "оба регистра, исходный и конечный, `%si` и `%di`, увеличиваются на единицу. "
 "Таким образом, по завершении копирования 256 слов (512 байт), `%di` имеет "
-"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= "
-"`0x7e00`; таким образом, мы завершили _перемещение_ кода. С момента "
-"последнего обновления этого документа инструкции копирования в коде "
-"изменились, поэтому вместо movsb и stosb были введены movsw и stosw, которые "
-"копируют 2 байта (1 слово) за одну итерацию."
+"значение `0x600`+`512`= `0x800`, а `%si` — значение `0x7c00`+`512`= `0x7e00`;"
+" таким образом, мы завершили _перемещение_ кода. С момента последнего "
+"обновления этого документа инструкции копирования в коде изменились, поэтому "
+"вместо movsb и stosb были введены movsw и stosw, которые копируют 2 байта (1 "
+"слово) за одну итерацию."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:304
@@ -822,8 +828,8 @@ msgid ""
 "The next block saves the drive number provided by the BIOS, and calls `putn` "
 "to print a new line on the screen."
 msgstr ""
-"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает "
-"`putn` для вывода новой строки на экран."
+"Следующий блок сохраняет номер диска, предоставленный BIOS, и вызывает `putn`"
+" для вывода новой строки на экран."
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:341
@@ -862,8 +868,8 @@ msgid ""
 "not assembled and will not appear in our executable [.filename]#boot0#."
 msgstr ""
 "Обратите внимание, что мы предполагаем, что `TEST` не определён, поэтому "
-"условный код в нём не собирается и не появится в нашем исполняемом файле "
-"[.filename]#boot0#."
+"условный код в нём не собирается и не появится в нашем исполняемом файле [."
+"filename]#boot0#."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:351
@@ -879,8 +885,8 @@ msgstr ""
 "выводит на экран тип раздела для каждой из четырёх записей в таблице "
 "разделов. Каждый тип сравнивается со списком известных файловых систем "
 "операционных систем. Примерами распознаваемых типов разделов являются NTFS "
-"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, `ffs`/"
-"`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
+"(Windows(R), ID 0x7), `ext2fs` (Linux(R), ID 0x83) и, конечно же, "
+"`ffs`/`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:356
@@ -958,8 +964,8 @@ msgid ""
 "chooses to write the changes back to disk."
 msgstr ""
 "Важно отметить, что флаг активности для каждой записи сбрасывается, поэтому "
-"после сканирования _ни одна_ запись о разделе не активна в нашей копии "
-"[.filename]#boot0# в памяти. Позже флаг активности будет установлен для "
+"после сканирования _ни одна_ запись о разделе не активна в нашей копии [."
+"filename]#boot0# в памяти. Позже флаг активности будет установлен для "
 "выбранного раздела. Это гарантирует, что только один активный раздел "
 "существует, если пользователь решит записать изменения обратно на диск."
 
@@ -1129,13 +1135,13 @@ msgstr ""
 "значение вычисляется BIOS через RTC (Real Time Clock). Эти часы могут быть "
 "настроены на работу с частотой от 2 Гц до 8192 Гц. BIOS устанавливает их на "
 "18,2 Гц при запуске. Когда запрос выполнен, 32-битный результат возвращается "
-"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат "
-"(часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
+"BIOS в регистрах `%cx` и `%dx` (младшие байты в `%dx`). Этот результат ("
+"часть `%dx`) копируется в регистр `%di`, и к `%di` добавляется значение "
 "переменной `TICKS`. Эта переменная находится в [.filename]#boot0# по "
 "смещению `_TICKS` (отрицательное значение) от регистра `%bp` (который, "
 "напомним, указывает на `0x800`). Значение этой переменной по умолчанию — "
-"`0xb6` (182 в десятичной системе). Идея заключается в том, что "
-"[.filename]#boot0# постоянно запрашивает время у BIOS, и когда значение, "
+"`0xb6` (182 в десятичной системе). Идея заключается в том, что [."
+"filename]#boot0# постоянно запрашивает время у BIOS, и когда значение, "
 "возвращённое в регистре `%dx`, становится больше значения, хранящегося в "
 "`%di`, время истекает и будет сделан выбор по умолчанию. Поскольку RTC "
 "тикает 18,2 раза в секунду, это условие выполнится через 10 секунд (это "
@@ -1160,8 +1166,8 @@ msgstr ""
 "соответствующую запись раздела в таблице разделов. Этот новый выбор "
 "переопределяет предыдущий выбор по умолчанию. Действительно, он становится "
 "новым значением по умолчанию. Наконец, устанавливается флаг ACTIVE "
-"выбранного раздела. Если это было разрешено при компиляции, версия "
-"[.filename]#boot0# в памяти с этими изменёнными значениями записывается "
+"выбранного раздела. Если это было разрешено при компиляции, версия [."
+"filename]#boot0# в памяти с этими изменёнными значениями записывается "
 "обратно в MBR на диске. Мы оставляем детали этой реализации читателю."
 
 #. type: Plain text
@@ -1170,8 +1176,8 @@ msgid ""
 "We now end our study with the last code block from the [.filename]#boot0# "
 "program:"
 msgstr ""
-"Мы завершаем наше изучение последним блоком кода из программы "
-"[.filename]#boot0#:"
+"Мы завершаем наше изучение последним блоком кода из программы [."
+"filename]#boot0#:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:472
@@ -1240,8 +1246,8 @@ msgstr ""
 "первого сектора слайса FreeBSD выполняется вызовом `intx13`. Мы "
 "предполагаем, что всё прошло успешно, поэтому переход к `beep` не "
 "выполняется. В частности, новый прочитанный сектор должен заканчиваться "
-"магической последовательностью `0xaa55`. Наконец, значение в `%si` "
-"(указатель на выбранную таблицу разделов) сохраняется для использования на "
+"магической последовательностью `0xaa55`. Наконец, значение в `%si` ("
+"указатель на выбранную таблицу разделов) сохраняется для использования на "
 "следующем этапе, и выполняется переход по адресу `0x7c00`, где начинается "
 "выполнение нашего следующего этапа (только что прочитанного блока)."
 
@@ -1263,8 +1269,8 @@ msgid ""
 "MBR ([.filename]#boot0#) was loaded from absolute disk sector one to address "
 "`0x7c00`.  Execution control was passed to that location."
 msgstr ""
-"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR "
-"([.filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
+"BIOS выполнил первоначальную инициализацию оборудования, включая POST. MBR (["
+".filename]#boot0#) был загружен по адресу `0x7c00` из абсолютного сектора "
 "один с диска. Управление выполнением было передано по этому адресу."
 
 #. type: Plain text
@@ -1311,18 +1317,18 @@ msgstr ""
 "работали исключительно с секторами диска. Действительно, BIOS загружает "
 "самый первый сектор, а [.filename]#boot0# загружает первый сектор раздела "
 "FreeBSD. Обе загрузки происходят по адресу `0x7c00`. Мы можем концептуально "
-"представлять эти секторы диска как содержащие файлы [.filename]#boot0# и "
-"[.filename]#boot1#, соответственно, но на самом деле это не совсем верно для "
-"[.filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, "
-"[.filename]#boot1# не является частью загрузочных блоков footnote:[Файл /"
-"boot/boot1 существует, но он не записывается в начало раздела FreeBSD. "
-"Вместо этого он объединяется с boot2, формируя файл boot, который "
-"записывается в начало раздела FreeBSD и считывается во время загрузки.]. "
-"Вместо этого, единый полноценный файл [.filename]#boot# ([.filename]#/boot/"
-"boot#) в итоге записывается на диск. Этот файл представляет собой комбинацию "
-"[.filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот "
-"единый файл превышает размер одного сектора (больше 512 байт). К счастью, "
-"[.filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтому, "
+"представлять эти секторы диска как содержащие файлы [.filename]#boot0# и [."
+"filename]#boot1#, соответственно, но на самом деле это не совсем верно для [."
+"filename]#boot1#. Строго говоря, в отличие от [.filename]#boot0#, [."
+"filename]#boot1# не является частью загрузочных блоков footnote:[Файл /boot/"
+"boot1 существует, но он не записывается в начало раздела FreeBSD. Вместо "
+"этого он объединяется с boot2, формируя файл boot, который записывается в "
+"начало раздела FreeBSD и считывается во время загрузки.]. Вместо этого, "
+"единый полноценный файл [.filename]#boot# ([.filename]#/boot/boot#) в итоге "
+"записывается на диск. Этот файл представляет собой комбинацию [."
+"filename]#boot1#, [.filename]#boot2# и `Boot Extender` (или BTX). Этот "
+"единый файл превышает размер одного сектора (больше 512 байт). К счастью, [."
+"filename]#boot1# занимает _ровно_ первые 512 байт этого файла, поэтому, "
 "когда [.filename]#boot0# загружает первый сектор раздела FreeBSD (512 байт), "
 "он фактически загружает [.filename]#boot1# и передает ему управление."
 
@@ -1508,7 +1514,8 @@ msgstr ""
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:584
 #, no-wrap
 msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
-msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
+msgstr ""
+"[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:589
@@ -1570,8 +1577,8 @@ msgid ""
 "also uses `xread.1`.  This mechanism will be discussed in the next section."
 msgstr ""
 "Напомним, что `%si` указывает на поддельный раздел. Слово footnote:[В "
-"контексте 16-битного реального режима слово — это 2 байта.] по смещению "
-"`0x8` копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
+"контексте 16-битного реального режима слово — это 2 байта.] по смещению `0x8`"
+" копируется в регистр `%ax`, а слово по смещению `0xa` — в `%cx`. BIOS "
 "интерпретирует их как младшее 4-байтовое значение, обозначающее LBA для "
 "чтения (старшие четыре байта предполагаются нулевыми). Регистр `%bx` "
 "содержит адрес памяти, куда будет загружен MBR. Инструкция, помещающая `%cs` "
@@ -1760,8 +1767,8 @@ msgstr ""
 "FreeBSD в таблице разделов MBR, поэтому вызов `nread` фактически прочитает "
 "секторы в начале этого раздела. Аргумент, переданный в регистре `%dh`, "
 "указывает `nread` прочитать 16 секторов диска. Напомним, что первые 512 "
-"байт, или первый сектор слайса FreeBSD, совпадает с программой "
-"[.filename]#boot1#. Также напомним, что файл, записанный в начало слайса "
+"байт, или первый сектор слайса FreeBSD, совпадает с программой [."
+"filename]#boot1#. Также напомним, что файл, записанный в начало слайса "
 "FreeBSD, это не [.filename]#/boot/boot1#, а [.filename]#/boot/boot#. Давайте "
 "посмотрим на размер этих файлов в файловой системе:"
 
@@ -1796,13 +1803,13 @@ msgid ""
 msgstr ""
 "Оба файла [.filename]#boot0# и [.filename]#boot1# имеют размер 512 байт "
 "каждый, поэтому они занимают _ровно_ один сектор диска. [.filename]#boot2# "
-"значительно больше, так как содержит как сервер BTX, так и клиент "
-"[.filename]#boot2#. Наконец, файл под названием просто [.filename]#boot# на "
+"значительно больше, так как содержит как сервер BTX, так и клиент [."
+"filename]#boot2#. Наконец, файл под названием просто [.filename]#boot# на "
 "512 байт больше, чем [.filename]#boot2#. Этот файл представляет собой "
-"объединение [.filename]#boot1# и [.filename]#boot2#. Как уже отмечалось, "
-"[.filename]#boot0# записывается в самый первый сектор диска (MBR), а "
-"[.filename]#boot# записывается в первый сектор раздела FreeBSD; "
-"[.filename]#boot1# и [.filename]#boot2# _не_ записываются на диск. Команда, "
+"объединение [.filename]#boot1# и [.filename]#boot2#. Как уже отмечалось, [."
+"filename]#boot0# записывается в самый первый сектор диска (MBR), а [."
+"filename]#boot# записывается в первый сектор раздела FreeBSD; [."
+"filename]#boot1# и [.filename]#boot2# _не_ записываются на диск. Команда, "
 "используемая для объединения [.filename]#boot1# и [.filename]#boot2# в "
 "единый файл [.filename]#boot#, выглядит просто как `cat boot1 boot2 > boot`."
 
@@ -1819,12 +1826,12 @@ msgid ""
 "in the next section."
 msgstr ""
 "Итак, [.filename]#boot1# занимает ровно первые 512 байт [.filename]#boot#, "
-"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, "
-"[.filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
-"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл "
-"[.filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более "
-"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и "
-"[.filename]#boot2#, мы увидим в следующем разделе."
+"и, поскольку [.filename]#boot# записывается в первый сектор слайса FreeBSD, ["
+".filename]#boot1# полностью помещается в этот первый сектор. Когда `nread` "
+"читает первые 16 секторов слайса FreeBSD, он фактически читает весь файл [."
+"filename]#boot# footnote:[512*16=8192 байта, ровно размер boot]. Более "
+"подробно о том, как [.filename]#boot# формируется из [.filename]#boot1# и [."
+"filename]#boot2#, мы увидим в следующем разделе."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:713
@@ -1840,10 +1847,10 @@ msgstr ""
 "Напомним, что `nread` использует адрес памяти `0x8c00` в качестве буфера "
 "передачи для хранения прочитанных секторов. Этот адрес выбран не случайно. "
 "Действительно, поскольку [.filename]#boot1# принадлежит первым 512 байтам, "
-"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт "
-"(диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:"
-"[Исторически известной как disklabel. Если вам когда-либо было интересно, "
-"где FreeBSD хранит эту информацию, она находится в этой области — см. "
+"он оказывается в диапазоне адресов `0x8c00`-`0x8dff`. Следующие 512 байт ("
+"диапазон `0x8e00`-`0x8fff`) используются для хранения _bsdlabel_ footnote:["
+"Исторически известной как disklabel. Если вам когда-либо было интересно, где "
+"FreeBSD хранит эту информацию, она находится в этой области — см. "
 "man:bsdlabel[8]]."
 
 #. type: Plain text
@@ -1990,11 +1997,11 @@ msgid ""
 "`0x9010`, the entry point of the BTX server."
 msgstr ""
 "[.filename]#boot1# загружает первые 16 секторов среза FreeBSD по адресу "
-"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл "
-"[.filename]#boot#. Файл является объединением [.filename]#boot1# и "
-"[.filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX "
-"и клиент [.filename]#boot2#. Наконец, выполняется переход по адресу "
-"`0x9010`, точке входа сервера BTX."
+"`0x8c00`. Эти 16 секторов, или 8192 байта, представляют собой весь файл [."
+"filename]#boot#. Файл является объединением [.filename]#boot1# и [."
+"filename]#boot2#. [.filename]#boot2#, в свою очередь, содержит сервер BTX и "
+"клиент [.filename]#boot2#. Наконец, выполняется переход по адресу `0x9010`, "
+"точке входа сервера BTX."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:770
@@ -2006,10 +2013,9 @@ msgid ""
 "creates the [.filename]#boot# file:"
 msgstr ""
 "Прежде чем изучать сервер BTX подробно, давайте рассмотрим, как создается "
-"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки "
-"[.filename]#boot# определен в его [.filename]#Makefile# ([.filename]#stand/"
-"i386/boot2/Makefile#). Рассмотрим правило, которое создает файл "
-"[.filename]#boot#:"
+"единый, всеобъемлющий файл [.filename]#boot#. Способ сборки [.filename]#boot#"
+" определен в его [.filename]#Makefile# ([.filename]#stand/i386/boot2/"
+"Makefile#). Рассмотрим правило, которое создает файл [.filename]#boot#:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:775
@@ -2036,8 +2042,8 @@ msgid ""
 "simple:"
 msgstr ""
 "Это говорит нам, что [.filename]#boot1# и [.filename]#boot2# необходимы, и "
-"правило просто объединяет их для создания одного файла с именем "
-"[.filename]#boot#. Правила для создания [.filename]#boot1# также довольно "
+"правило просто объединяет их для создания одного файла с именем [."
+"filename]#boot#. Правила для создания [.filename]#boot1# также довольно "
 "просты:"
 
 #. type: delimited block . 4
@@ -2058,7 +2064,8 @@ msgid ""
 "\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
 msgstr ""
 "      boot1.out: boot1.o\n"
-"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
+"\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${."
+"TARGET} boot1.o\n"
 
 #. type: Block title
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:790
@@ -2082,18 +2089,18 @@ msgid ""
 "and symbolic information; `-O binary` indicates the output format, that is, "
 "a simple, unformatted binary file."
 msgstr ""
-"Для применения правила создания [.filename]#boot1# необходимо собрать "
-"[.filename]#boot1.out#. Это, в свою очередь, зависит от наличия "
-"[.filename]#boot1.o#. Последний файл является результатом ассемблирования "
+"Для применения правила создания [.filename]#boot1# необходимо собрать [."
+"filename]#boot1.out#. Это, в свою очередь, зависит от наличия [."
+"filename]#boot1.o#. Последний файл является результатом ассемблирования "
 "нашего знакомого [.filename]#boot1.S# без компоновки. Теперь применяется "
-"правило создания [.filename]#boot1.out#. Оно указывает, что "
-"[.filename]#boot1.o# должен быть скомпонован с точкой входа `start` и "
-"начальным адресом `0x7c00`. Наконец, [.filename]#boot1# создается из "
-"[.filename]#boot1.out# применением соответствующего правила. Это команда "
-"[.filename]#objcopy#, применяемая к [.filename]#boot1.out#. Обратите "
-"внимание на флаги, передаваемые [.filename]#objcopy#: `-S` указывает на "
-"удаление всей информации о перемещении и символов; `-O binary` указывает "
-"формат вывода, то есть простой, неформатированный двоичный файл."
+"правило создания [.filename]#boot1.out#. Оно указывает, что [.filename]#boot1"
+".o# должен быть скомпонован с точкой входа `start` и начальным адресом "
+"`0x7c00`. Наконец, [.filename]#boot1# создается из [.filename]#boot1.out# "
+"применением соответствующего правила. Это команда [.filename]#objcopy#, "
+"применяемая к [.filename]#boot1.out#. Обратите внимание на флаги, "
+"передаваемые [.filename]#objcopy#: `-S` указывает на удаление всей "
+"информации о перемещении и символов; `-O binary` указывает формат вывода, то "
+"есть простой, неформатированный двоичный файл."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:801
@@ -2157,7 +2164,8 @@ msgid ""
 "\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
 msgstr ""
 "      boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o\n"
-"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
+"\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${."
+"ALLSRC}\n"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:828
@@ -2173,7 +2181,8 @@ msgstr ""
 "      boot2.h: boot1.out\n"
 "\t${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \\\n"
 "\t    { x = $$1 - ORG1; \\\n"
-"\t    printf(\"#define XREADORG %#x\\n\", REL1 + x) }' \\\n"
+"\t    printf(\"#define XREADORG %#x\\n"
+"\", REL1 + x) }' \\\n"
 "\t    ORG1=`printf \"%d\" ${ORG1}` \\\n"
 "\t    REL1=`printf \"%d\" ${REL1}` > ${.TARGET}\n"
 
@@ -2224,8 +2233,8 @@ msgid ""
 msgstr ""
 "Отметим, что изначально файл заголовка [.filename]#boot2.h# отсутствует, но "
 "его создание зависит от [.filename]#boot1.out#, который у нас уже есть. "
-"Правило его создания немного лаконично, но важно то, что результат, "
-"[.filename]#boot2.h#, выглядит примерно так:"
+"Правило его создания немного лаконично, но важно то, что результат, [."
+"filename]#boot2.h#, выглядит примерно так:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:851
@@ -2253,13 +2262,12 @@ msgid ""
 msgstr ""
 "Напомним, что [.filename]#boot1# был перемещён (т.е. скопирован из `0x7c00` "
 "в `0x700`). Это перемещение теперь обретает смысл, потому что, как мы "
-"увидим, сервер BTX освобождает часть памяти, включая область, куда "
-"[.filename]#boot1# был изначально загружен. Однако серверу BTX необходим "
-"доступ к функции `xread` из [.filename]#boot1#; согласно выводу "
-"[.filename]#boot2.h#, эта функция находится по адресу `0x725`. "
-"Действительно, сервер BTX использует функцию `xread` из перемещённого кода "
-"[.filename]#boot1#. Теперь эта функция доступна из клиента "
-"[.filename]#boot2#."
+"увидим, сервер BTX освобождает часть памяти, включая область, куда [."
+"filename]#boot1# был изначально загружен. Однако серверу BTX необходим "
+"доступ к функции `xread` из [.filename]#boot1#; согласно выводу [."
+"filename]#boot2.h#, эта функция находится по адресу `0x725`. Действительно, "
+"сервер BTX использует функцию `xread` из перемещённого кода [."
+"filename]#boot1#. Теперь эта функция доступна из клиента [.filename]#boot2#."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:868
@@ -2284,11 +2292,11 @@ msgstr ""
 "выполнения по адресу `0x2000` (${ORG2}). Напомним, что [.filename]#boot2# "
 "будет выполняться в пользовательском режиме внутри специального "
 "пользовательского сегмента, созданного сервером BTX. Этот сегмент начинается "
-"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в "
-"[.filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением "
+"с адреса `0xa000`. Также помните, что часть [.filename]#boot2# в [."
+"filename]#boot# была скопирована по адресу `0xc000`, то есть со смещением "
 "`0x2000` от начала пользовательского сегмента, поэтому [.filename]#boot2# "
-"будет работать корректно при передаче управления на него. Далее, "
-"[.filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления "
+"будет работать корректно при передаче управления на него. Далее, [."
+"filename]#boot2.bin# создается из [.filename]#boot2.out# путем удаления "
 "символов и информации о формате; boot2.bin представляет собой _сырой_ "
 "бинарный файл. Теперь обратите внимание, что файл [.filename]#boot2.ldr# "
 "создается как 512-байтный файл, заполненный нулями. Это пространство "
@@ -2306,14 +2314,13 @@ msgid ""
 "address `0x9000`.  The details can be found in [.filename]#stand/i386/btx/"
 "btx/Makefile#."
 msgstr ""
-"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и "
-"[.filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
-"универсального файла [.filename]#boot#. Сервер BTX находится в "
-"[.filename]#stand/i386/btx/btx#; у него есть собственный "
-"[.filename]#Makefile# со своим набором правил для сборки. Важно отметить, "
-"что он также компилируется как _сырой_ бинарный файл и линкуется для "
-"выполнения по адресу `0x9000`. Подробности можно найти в [.filename]#stand/"
-"i386/btx/btx/Makefile#."
+"Теперь, когда у нас есть файлы [.filename]#boot1#, [.filename]#boot2.bin# и ["
+".filename]#boot2.ldr#, осталось только добавить сервер BTX перед созданием "
+"универсального файла [.filename]#boot#. Сервер BTX находится в [.filename]#"
+"stand/i386/btx/btx#; у него есть собственный [.filename]#Makefile# со своим "
+"набором правил для сборки. Важно отметить, что он также компилируется как "
+"_сырой_ бинарный файл и линкуется для выполнения по адресу `0x9000`. "
+"Подробности можно найти в [.filename]#stand/i386/btx/btx/Makefile#."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:880
@@ -2335,11 +2342,11 @@ msgstr ""
 "названием [.filename]#btxld# (исходный код расположен в [.filename]#/usr/src/"
 "usr.sbin/btxld#). Некоторые аргументы этой программы включают имя выходного "
 "файла ([.filename]#boot#), его точку входа (`0x2000`) и формат файла "
-"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл "
-"[.filename]#boot#, который состоит из [.filename]#boot1#, "
-"[.filename]#boot2#, `bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 "
-"секторов или 8192 байта, записывается в начало раздела FreeBSD во время "
-"установки. Теперь перейдем к изучению программы сервера BTX."
+"(бинарный). Различные файлы окончательно объединяются этой утилитой в файл [."
+"filename]#boot#, который состоит из [.filename]#boot1#, [.filename]#boot2#, "
+"`bsdlabel` и сервера BTX. Этот файл, занимающий ровно 16 секторов или 8192 "
+"байта, записывается в начало раздела FreeBSD во время установки. Теперь "
+"перейдем к изучению программы сервера BTX."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:883
@@ -2412,12 +2419,11 @@ msgid ""
 "has a special header at address range `0x9000-0x900f`, right before its "
 "entry point.  This header is defined as follows:"
 msgstr ""
-"Приступим к изучению фактической реализации. Напомним, что "
-"[.filename]#boot1# выполнил переход на адрес `0x9010` — точку входа сервера "
-"BTX. Прежде чем изучать выполнение программы там, обратите внимание, что "
-"сервер BTX имеет специальный заголовок в диапазоне адресов `0x9000-0x900f`, "
-"непосредственно перед точкой входа. Этот заголовок определён следующим "
-"образом:"
+"Приступим к изучению фактической реализации. Напомним, что [.filename]#boot1#"
+" выполнил переход на адрес `0x9010` — точку входа сервера BTX. Прежде чем "
+"изучать выполнение программы там, обратите внимание, что сервер BTX имеет "
+"специальный заголовок в диапазоне адресов `0x9000-0x900f`, непосредственно "
+"перед точкой входа. Этот заголовок определён следующим образом:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:915
@@ -2469,10 +2475,10 @@ msgid ""
 msgstr ""
 "Обратите внимание, что первые два байта — это `0xeb` и `0xe`. В архитектуре "
 "IA-32 эти два байта интерпретируются как относительный переход за заголовок "
-"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда "
-"(адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее "
-"поле в заголовке BTX — это указатель на точку входа клиента "
-"([.filename]#boot2#)b2. Это поле исправляется во время компоновки."
+"к точке входа, поэтому теоретически [.filename]#boot1# мог бы перейти сюда ("
+"адрес `0x9000`) вместо адреса `0x9010`. Обратите внимание, что последнее "
+"поле в заголовке BTX — это указатель на точку входа клиента ([."
+"filename]#boot2#)b2. Это поле исправляется во время компоновки."
 
 #. type: Plain text
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:924
@@ -2759,8 +2765,8 @@ msgstr ""
 "только дескрипторы для векторов прерываний `0x30`, `0x31` и `0x32` имеют "
 "уровень привилегий 3, такой же, как у клиента [.filename]#boot2#, что "
 "означает, что клиент может выполнить программно-генерируемое прерывание к "
-"этим векторам через инструкцию `int` без ошибки (это способ, которым "
-"[.filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также "
+"этим векторам через инструкцию `int` без ошибки (это способ, которым [."
+"filename]#boot2# использует сервисы, предоставляемые сервером BTX). Также "
 "обратите внимание, что _только_ программно-генерируемые прерывания защищены "
 "от кода, выполняющегося на более низких уровнях привилегий. Аппаратно-"
 "генерируемые прерывания и исключения, генерируемые процессором, _всегда_ "
@@ -2931,8 +2937,8 @@ msgid ""
 msgstr ""
 "Наш последний блок кода отвечает за загрузку TR (Регистра Задач) с "
 "селектором сегмента для TSS, который мы создали ранее, и настройку окружения "
-"пользовательского режима перед передачей управления исполнения клиенту "
-"[.filename]#boot2#."
+"пользовательского режима перед передачей управления исполнения клиенту [."
+"filename]#boot2#."
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:1123
@@ -3181,14 +3187,13 @@ msgid ""
 msgstr ""
 "`boot2` входит в бесконечный цикл, ожидая ввода пользователя, затем вызывает "
 "`load()`. Если пользователь ничего не нажимает, цикл прерывается по "
-"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/"
-"loader#). Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, "
-"void *buf, size_t nbyte)` используются для чтения содержимого файла в "
-"память. [.filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком "
-"ELF, перед которым добавлена структура `struct exec` из [.filename]#a.out#. "
-"`load()` анализирует ELF-заголовок загрузчика, загружает содержимое "
-"[.filename]#/boot/loader# в память и передаёт управление на точку входа "
-"загрузчика:"
+"таймауту, и `load()` загружает файл по умолчанию ([.filename]#/boot/loader#)"
+". Функции `ino_t lookup(char *filename)` и `int xfsread(ino_t inode, void *"
+"buf, size_t nbyte)` используются для чтения содержимого файла в память. [."
+"filename]#/boot/loader# — это ELF-бинарный файл, но с заголовком ELF, перед "
+"которым добавлена структура `struct exec` из [.filename]#a.out#. `load()` "
+"анализирует ELF-заголовок загрузчика, загружает содержимое [.filename]#/boot/"
+"loader# в память и передаёт управление на точку входа загрузчика:"
 
 #. type: delimited block . 4
 #: documentation/content/en/books/arch-handbook/boot/_index.adoc:1201
@@ -3275,8 +3280,10 @@ msgid ""
 "<lots of kernel .o files>\n"
 msgstr ""
 "/usr/obj/usr/src/i386.i386/sys/GENERIC/kernel.meta:\n"
-"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-id=sha1 --no-warn-mismatch \\\n"
-"--warn-common --export-dynamic  --dynamic-linker /red/herring -X -o kernel locore.o\n"
+"ld -m elf_i386_fbsd -Bdynamic -T /usr/src/sys/conf/ldscript.i386 --build-"
+"id=sha1 --no-warn-mismatch \\\n"
+"--warn-common --export-dynamic  --dynamic-linker /red/herring -X -o kernel "
+"locore.o\n"
 "<lots of kernel .o files>\n"
 
 #. type: Plain text
@@ -3312,8 +3319,8 @@ msgid ""
 "says that a kernel's entry point is the symbol `btext`.  This symbol is "
*** 3825 LINES SKIPPED ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202511091116.5A9BGpvF099297>