git: 29bc0e1a37 - main - update translation of books/arch-handbook to Russian
Vladlen Popolitov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=29bc0e1a378311e1752e750624902043a6ff5da9 commit 29bc0e1a378311e1752e750624902043a6ff5da9 Author: Vladlen Popolitov <[email protected]> AuthorDate: 2026-08-13 14:00:25 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2026-08-13 14:00:25 +0000 update translation of books/arch-handbook to Russian Differential Revision: https://reviews.freebsd.org/D58800 --- .../ru/books/arch-handbook/boot/_index.adoc | 8 +- .../content/ru/books/arch-handbook/boot/_index.po | 627 +++++++------- .../content/ru/books/arch-handbook/isa/_index.adoc | 4 +- .../content/ru/books/arch-handbook/isa/_index.po | 924 ++++++++++----------- .../ru/books/arch-handbook/jail/_index.adoc | 2 +- .../content/ru/books/arch-handbook/jail/_index.po | 208 ++--- .../ru/books/arch-handbook/kobj/_index.adoc | 14 +- .../content/ru/books/arch-handbook/kobj/_index.po | 170 ++-- .../ru/books/arch-handbook/newbus/_index.adoc | 2 +- .../ru/books/arch-handbook/newbus/_index.po | 210 ++--- .../ru/books/arch-handbook/pccard/_index.adoc | 2 +- .../ru/books/arch-handbook/pccard/_index.po | 127 ++- .../ru/books/arch-handbook/scsi/_index.adoc | 12 +- .../content/ru/books/arch-handbook/scsi/_index.po | 889 ++++++++++---------- .../content/ru/books/arch-handbook/smp/_index.adoc | 2 +- .../content/ru/books/arch-handbook/smp/_index.po | 383 ++++----- .../content/ru/books/arch-handbook/usb/_index.adoc | 14 +- .../content/ru/books/arch-handbook/usb/_index.po | 176 ++-- 18 files changed, 1865 insertions(+), 1909 deletions(-) diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc index 5f3d69baff..086039ef36 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc +++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc @@ -650,7 +650,7 @@ seta20.3: СеÑÐ²ÐµÑ BTX подгоÑÐ°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¿ÑоÑÑое окÑÑжение и пеÑеклÑÑаеÑÑÑ Ð¸Ð· 16-биÑного ÑеалÑного Ñежима в 32-биÑнÑй заÑиÑÑннÑй Ñежим, непоÑÑедÑÑвенно пеÑед пеÑедаÑей ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ. ÐÑо вклÑÑÐ°ÐµÑ Ð¸Ð½Ð¸ÑиализаÑÐ¸Ñ Ð¸ обновление ÑледÑÑÑÐ¸Ñ ÑÑÑÑкÑÑÑ Ð´Ð°Ð½Ð½ÑÑ : * ÐзменÑÐµÑ `ТаблиÑÑ ÐекÑоÑов ÐÑеÑÑваний (IVT)`. IVT пÑедоÑÑавлÑÐµÑ Ð¾Ð±ÑабоÑÑики иÑклÑÑений и пÑеÑÑваний Ð´Ð»Ñ ÐºÐ¾Ð´Ð° в РеалÑном Режиме. -* СоздаÑÑÑÑ `ТаблиÑа деÑкÑипÑоÑов пÑеÑÑваний (IDT)`. Рней пÑедÑÑмоÑÑÐµÐ½Ñ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð¸ÑклÑÑений пÑоÑеÑÑоÑа, аппаÑаÑнÑÑ Ð¿ÑеÑÑваний, двÑÑ ÑиÑÑемнÑÑ Ð²Ñзовов и инÑеÑÑейÑа V86. IDT пÑедоÑÑавлÑÐµÑ Ð¾Ð±ÑабоÑÑики иÑклÑÑений и пÑеÑÑваний Ð´Ð»Ñ ÐºÐ¾Ð´Ð° в заÑиÑенном Ñежиме. +* СоздаÑÑÑÑ `ТаблиÑа деÑкÑипÑоÑов пÑеÑÑваний (IDT)`. Рней пÑедÑÑмоÑÑÐµÐ½Ñ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð¸ÑклÑÑений пÑоÑеÑÑоÑа, аппаÑаÑнÑÑ Ð¿ÑеÑÑваний, двÑÑ ÑиÑÑемнÑÑ Ð²Ñзовов и инÑеÑÑейÑа V86. IDT пÑедоÑÑавлÑÐµÑ Ð¾Ð±ÑабоÑÑики иÑклÑÑений и пÑеÑÑваний Ð´Ð»Ñ ÐºÐ¾Ð´Ð° в заÑиÑÑнном Ñежиме. * СоздаÑÑÑÑ `Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS)`. ÐÑо Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾, поÑÐ¾Ð¼Ñ ÑÑо пÑоÑеÑÑÐ¾Ñ ÑабоÑÐ°ÐµÑ Ð½Ð° _наименее_ пÑивилегиÑованном ÑÑовне пÑи вÑполнении клиенÑа ([.filename]#boot2#), но на _наиболее_ пÑивилегиÑованном ÑÑовне пÑи вÑполнении ÑеÑвеÑа BTX. * УÑÑанавливаеÑÑÑ GDT (ÐлобалÑÐ½Ð°Ñ Ð¢Ð°Ð±Ð»Ð¸Ñа ÐеÑкÑипÑоÑов). СоздаÑÑÑÑ Ð·Ð°Ð¿Ð¸Ñи (деÑкÑипÑоÑÑ) Ð´Ð»Ñ ÐºÐ¾Ð´Ð° и даннÑÑ ÑÑпеÑвизоÑа, кода и даннÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, а Ñакже кода и даннÑÑ ÑеалÑного Ñежима. footnote:[Ðод и даннÑе ÑеалÑного Ñежима Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñ Ð¿Ñи пеÑеклÑÑении обÑаÑно в ÑеалÑнÑй Ñежим из заÑиÑÑнного Ñежима, как Ñказано в ÑÑководÑÑÐ²Ð°Ñ Intel.] @@ -731,7 +731,7 @@ init.0: mov %bx,(%di) # Store IP .... .[.filename]#stand/i386/btx/btx/btx.S# [[btx-ivt]] -СледÑÑÑий блок ÑоздаÑÑ IDT (ÑаблиÑÑ Ð´ÐµÑкÑипÑоÑов пÑеÑÑваний). IDT в заÑиÑенном Ñежиме аналогиÑна IVT в ÑеалÑном Ñежиме. То еÑÑÑ, IDT опиÑÑÐ²Ð°ÐµÑ ÑазлиÑнÑе обÑабоÑÑики иÑклÑÑений и пÑеÑÑваний, иÑполÑзÑемÑе, когда пÑоÑеÑÑÐ¾Ñ ÑабоÑÐ°ÐµÑ Ð² заÑиÑенном Ñежиме. Ðо ÑÑÑи, она Ñакже ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· маÑÑива Ð¿Ð°Ñ ÑегменÑ/ÑмеÑение, Ñ Ð¾ÑÑ ÑÑÑÑкÑÑÑа неÑколÑко Ñложнее, поÑколÑÐºÑ ÑегменÑÑ Ð² заÑиÑенном Ñежиме оÑлиÑаÑÑÑÑ Ð¾Ñ ÑеалÑного Ñежима, и пÑименÑÑÑÑÑ ÑазлиÑнÑе мРµÑ Ð°Ð½Ð¸Ð·Ð¼Ñ Ð·Ð°ÑиÑÑ: +СледÑÑÑий блок ÑоздаÑÑ IDT (ÑаблиÑÑ Ð´ÐµÑкÑипÑоÑов пÑеÑÑваний). IDT в заÑиÑÑнном Ñежиме аналогиÑна IVT в ÑеалÑном Ñежиме. То еÑÑÑ, IDT опиÑÑÐ²Ð°ÐµÑ ÑазлиÑнÑе обÑабоÑÑики иÑклÑÑений и пÑеÑÑваний, иÑполÑзÑемÑе, когда пÑоÑеÑÑÐ¾Ñ ÑабоÑÐ°ÐµÑ Ð² заÑиÑÑнном Ñежиме. Ðо ÑÑÑи, она Ñакже ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· маÑÑива Ð¿Ð°Ñ ÑегменÑ/ÑмеÑение, Ñ Ð¾ÑÑ ÑÑÑÑкÑÑÑа неÑколÑко Ñложнее, поÑколÑÐºÑ ÑегменÑÑ Ð² заÑиÑÑнном Ñежиме оÑлиÑаÑÑÑÑ Ð¾Ñ ÑеалÑного Ñежима, и пÑименÑÑÑÑÑ ÑазлиÑнÑе мРµÑ Ð°Ð½Ð¸Ð·Ð¼Ñ Ð·Ð°ÑиÑÑ: [.programlisting] .... @@ -801,7 +801,7 @@ init.8: xorl %ecx,%ecx # Zero .... .[.filename]#stand/i386/btx/btx/btx.S# [[btx-prot]] -СнаÑала вÑзÑваеÑÑÑ `setpic` Ð´Ð»Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 8259A PIC (пÑогÑаммиÑÑемого конÑÑоллеÑа пÑеÑÑваний). ÐÑÐ¾Ñ Ñип подклÑÑен к неÑколÑким иÑÑоÑникам аппаÑаÑнÑÑ Ð¿ÑеÑÑваний. ÐÑи полÑÑении пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ ÑÑÑÑойÑÑва он ÑигнализиÑÑÐµÑ Ð¿ÑоÑеÑÑоÑÑ ÑооÑвеÑÑÑвÑÑÑим векÑоÑом пÑеÑÑваниÑ. ÐÑо можно наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделÑннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми векÑоÑами пÑеÑÑваний, как обÑÑÑнÑлоÑÑ Ñанее. ÐаÑем ÑегиÑÑÑÑ IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загÑÑжаÑÑÑÑ Ð¸Ð½ÑÑÑÑкÑиÑми `lidt` и `lgdt` ÑооÑвеÑÑÑвенно. ÐÑи ÑегиÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð±Ð °Ð·Ð¾Ð²Ñм адÑеÑом и пÑеделÑнÑм адÑеÑом Ð´Ð»Ñ IDT и GDT. СледÑÑÑие ÑÑи инÑÑÑÑкÑии ÑÑÑанавливаÑÑ Ð±Ð¸Ñ Protection Enable (PE) в ÑегиÑÑÑе `%cr0`. ÐÑо ÑакÑиÑеÑки пеÑеклÑÑÐ°ÐµÑ Ð¿ÑоÑеÑÑÐ¾Ñ Ð² 32-биÑнÑй заÑиÑеннÑй Ñежим. ÐаÑем вÑполнÑеÑÑÑ Ð´Ð°Ð»Ñний пеÑÐµÑ Ð¾Ð´ на `init.8` Ñ Ð¸ÑполÑзованием ÑелекÑоÑа ÑегменÑа SEL_SCODE, коÑоÑÑй вÑбиÑÐ°ÐµÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð° ÑÑпеÑвизоÑа (Supervisor Code Segment). ÐоÑле ÑÑого пеÑÐµÑ Ð¾Ð´Ð° пÑоÑеÑÑÐ¾Ñ ÑакÑиÑеÑки ÑабоÑÐ°ÐµÑ Ð½Ð° ÑÑовне CPL 0 â наиболее пÑивилегиÑованном ÑÑовне. Ðако неÑ, Ð´Ð»Ñ ÑÑека вÑбиÑаеÑÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑпеÑвизоÑа (Supervisor Data Segment) пÑÑем пÑиÑÐ²Ð¾ÐµÐ½Ð¸Ñ ÑелекÑоÑа ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð° SEL_SDATA ÑегиÑÑÑÑ `%ss`. ÐÑÐ¾Ñ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ Ñакже Ð¸Ð¼ÐµÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ñивилегий `0`. +СнаÑала вÑзÑваеÑÑÑ `setpic` Ð´Ð»Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ 8259A PIC (пÑогÑаммиÑÑемого конÑÑоллеÑа пÑеÑÑваний). ÐÑÐ¾Ñ Ñип подклÑÑен к неÑколÑким иÑÑоÑникам аппаÑаÑнÑÑ Ð¿ÑеÑÑваний. ÐÑи полÑÑении пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ñ ÑÑÑÑойÑÑва он ÑигнализиÑÑÐµÑ Ð¿ÑоÑеÑÑоÑÑ ÑооÑвеÑÑÑвÑÑÑим векÑоÑом пÑеÑÑваниÑ. ÐÑо можно наÑÑÑоиÑÑ Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделÑннÑе пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð±Ñли ÑвÑÐ·Ð°Ð½Ñ Ñ ÐºÐ¾Ð½ÐºÑеÑнÑми векÑоÑами пÑеÑÑваний, как обÑÑÑнÑлоÑÑ Ñанее. ÐаÑем ÑегиÑÑÑÑ IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загÑÑжаÑÑÑÑ Ð¸Ð½ÑÑÑÑкÑиÑми `lidt` и `lgdt` ÑооÑвеÑÑÑвенно. ÐÑи ÑегиÑÑÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð±Ð °Ð·Ð¾Ð²Ñм адÑеÑом и пÑеделÑнÑм адÑеÑом Ð´Ð»Ñ IDT и GDT. СледÑÑÑие ÑÑи инÑÑÑÑкÑии ÑÑÑанавливаÑÑ Ð±Ð¸Ñ Protection Enable (PE) в ÑегиÑÑÑе `%cr0`. ÐÑо ÑакÑиÑеÑки пеÑеклÑÑÐ°ÐµÑ Ð¿ÑоÑеÑÑÐ¾Ñ Ð² 32-биÑнÑй заÑиÑÑннÑй Ñежим. ÐаÑем вÑполнÑеÑÑÑ Ð´Ð°Ð»Ñний пеÑÐµÑ Ð¾Ð´ на `init.8` Ñ Ð¸ÑполÑзованием ÑелекÑоÑа ÑегменÑа SEL_SCODE, коÑоÑÑй вÑбиÑÐ°ÐµÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð° ÑÑпеÑвизоÑа (Supervisor Code Segment). ÐоÑле ÑÑого пеÑÐµÑ Ð¾Ð´Ð° пÑоÑеÑÑÐ¾Ñ ÑакÑиÑеÑки ÑабоÑÐ°ÐµÑ Ð½Ð° ÑÑовне CPL 0 â наиболее пÑивилегиÑованном ÑÑовне. Ðако неÑ, Ð´Ð»Ñ ÑÑека вÑбиÑаеÑÑÑ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑпеÑвизоÑа (Supervisor Data Segment) пÑÑем пÑиÑÐ²Ð¾ÐµÐ½Ð¸Ñ ÑелекÑоÑа ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð° SEL_SDATA ÑегиÑÑÑÑ `%ss`. ÐÑÐ¾Ñ ÑÐµÐ³Ð¼ÐµÐ½Ñ Ð´Ð°Ð½Ð½ÑÑ Ñакже Ð¸Ð¼ÐµÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ñивилегий `0`. ÐÐ°Ñ Ð¿Ð¾Ñледний блок кода оÑвеÑÐ°ÐµÑ Ð·Ð° загÑÑÐ·ÐºÑ TR (РегиÑÑÑа ÐадаÑ) Ñ ÑелекÑоÑом ÑегменÑа Ð´Ð»Ñ TSS, коÑоÑÑй Ð¼Ñ Ñоздали Ñанее, и наÑÑÑÐ¾Ð¹ÐºÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого Ñежима пеÑед пеÑедаÑей ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ [.filename]#boot2#. @@ -1144,7 +1144,7 @@ sys/i386/i386/machdep.c: #endif .... -Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑÑ Ð¾Ð´Ð½Ð° ÑÑÑÑкÑÑÑа заÑиÑенного Ñежима x86, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¾Ð±Ð¾ÑÑдованием Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о задаÑе пÑи пеÑеклÑÑении задаÑ. +Ð¡ÐµÐ³Ð¼ÐµÐ½Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи (TSS) â ÑÑо еÑÑ Ð¾Ð´Ð½Ð° ÑÑÑÑкÑÑÑа заÑиÑÑнного Ñежима x86, иÑполÑзÑÐµÐ¼Ð°Ñ Ð¾Ð±Ð¾ÑÑдованием Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о задаÑе пÑи пеÑеклÑÑении задаÑ. ÐокалÑÐ½Ð°Ñ ÑаблиÑа деÑкÑипÑоÑов (LDT) иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑÑлки на код и даннÑе полÑзоваÑелÑÑкого пÑоÑÑÑанÑÑва. ÐпÑеделено неÑколÑко ÑелекÑоÑов, ÑказÑваÑÑÐ¸Ñ Ð½Ð° LDT, вклÑÑÐ°Ñ ÑлÑÐ·Ñ ÑиÑÑемнÑÑ Ð²Ñзовов, а Ñакже ÑелекÑоÑÑ ÐºÐ¾Ð´Ð° и даннÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ: diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po index 8dcf7b5bbd..9b1807f9b5 100644 --- a/documentation/content/ru/books/arch-handbook/boot/_index.po +++ b/documentation/content/ru/books/arch-handbook/boot/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2026-04-05 04:45+0000\n" +"POT-Creation-Date: 2026-08-06 22:55+0100\n" +"PO-Revision-Date: 2026-05-18 04:45+0000\n" "Last-Translator: Vladlen Popolitov <[email protected]>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" "documentation/booksarch-handbookboot_index/ru/>\n" @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" #. type: Title = @@ -32,13 +32,13 @@ msgid "Chapter 1. Bootstrapping and Kernel Initialization" msgstr "Ðлава 1. ÐаÑалÑÐ½Ð°Ñ Ð·Ð°Ð³ÑÑзка и иниÑиализаÑÐ¸Ñ ÑдÑа" #. type: Title == -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:52 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:51 #, no-wrap msgid "Synopsis" msgstr "ÐбзоÑ" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:57 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:56 msgid "" "This chapter is an overview of the boot and system initialization processes, " "starting from the BIOS (firmware) POST, to the first user process creation. " @@ -56,7 +56,7 @@ msgstr "" "Ñемой ÑÑого докÑменÑа." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:61 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:60 msgid "" "The FreeBSD boot process can be surprisingly complex. After control is " "passed from the BIOS, a considerable amount of low-level configuration must " @@ -71,13 +71,13 @@ msgstr "" "возможноÑÑи Ð´Ð»Ñ Ð½Ð°ÑÑÑойки и адапÑаÑии." #. type: Title == -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:63 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:62 #, no-wrap msgid "Overview" msgstr "ÐбзоÑ" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:76 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:75 msgid "" "The boot process is an extremely machine-dependent activity. Not only must " "code be written for every computer architecture, but there may also be " @@ -114,7 +114,7 @@ msgstr "" "ÑекÑоÑе. ÐÑÐ¾Ñ Ð·Ð°Ð³ÑÑзоÑнÑй код запÑÑÐºÐ°ÐµÑ ÑÑÑÑ ÑÑапнÑй пÑоÑеÑÑ Ð·Ð°Ð³ÑÑзки FreeBSD." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:82 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:81 msgid "" "The key to understanding this process is that it is a series of stages of " "increasing complexity. These stages are [.filename]#boot1#, [." @@ -131,7 +131,7 @@ msgstr "" "ÐÐ°Ð¶Ð´Ð°Ñ ÑÑÐ°Ð´Ð¸Ñ ÑаÑÑмаÑÑиваеÑÑÑ Ð² ÑледÑÑÑÐ¸Ñ ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:85 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:84 msgid "" "Here is an example of the output generated by the different boot stages. " "Actual output may differ from machine to machine:" @@ -140,25 +140,25 @@ msgstr "" "ФакÑиÑеÑкий вÑвод Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑлиÑаÑÑÑÑ Ð² завиÑимоÑÑи Ð¾Ñ Ð¼Ð°ÑинÑ:" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:91 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:90 #, no-wrap msgid "*FreeBSD Component*" msgstr "*ÐÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ FreeBSD*" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:93 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:92 #, no-wrap msgid "*Output (may vary)*" msgstr "*ÐÑвод (Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑлиÑаÑÑÑÑ)*" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:94 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:93 #, no-wrap msgid "`boot0`" msgstr "`boot0`" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:103 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:102 #, no-wrap msgid "" "[source,bash]\n" @@ -176,13 +176,13 @@ msgstr "" "...." #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:104 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:103 #, 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.]" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:113 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:112 #, no-wrap msgid "" "[source,bash]\n" @@ -200,13 +200,13 @@ msgstr "" "...." #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:114 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:113 #, no-wrap msgid "[.filename]#loader#" msgstr "[.filename]#loader#" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:130 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:129 #, no-wrap msgid "" "[source,bash]\n" @@ -238,13 +238,13 @@ msgstr "" "...." #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:131 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:130 #, no-wrap msgid "kernel" msgstr "ÑдÑо ÑиÑÑемÑ" #. type: Table -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:144 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:143 #, no-wrap msgid "" "[source,bash]\n" @@ -270,13 +270,13 @@ msgstr "" "...." #. type: Title == -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:147 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:146 #, no-wrap msgid "The BIOS" msgstr "BIOS" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:158 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:157 msgid "" "When the computer powers on, the processor's registers are set to some " "predefined values. One of the registers is the _instruction pointer_ " @@ -310,7 +310,7 @@ msgstr "" "ÑÑÑаÑевÑем 16-биÑном коде." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:161 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:160 msgid "" "The value of `0xfffffff0` is slightly less than 4 GB, so unless the machine " "has 4 GB of physical memory, it cannot point to a valid memory address. The " @@ -323,7 +323,7 @@ msgstr "" "ÑказÑвал на блок памÑÑи BIOS." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:166 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:165 msgid "" "The BIOS (Basic Input Output System) is a chip on the motherboard that has a " "relatively small amount of read-only memory (ROM). This memory contains " @@ -333,14 +333,14 @@ msgid "" "jump instruction to the BIOS's POST routines." msgstr "" "BIOS (Basic Input Output System) â ÑÑо микÑоÑÑ ÐµÐ¼Ð° на маÑеÑинÑкой плаÑе, " -"коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑÑм памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ (ROM)" -". ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ " -"обоÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала " +"коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾ÑноÑиÑелÑно неболÑÑой обÑÑм памÑÑи ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ " +"(ROM). ÐÑа памÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÑазлиÑнÑе низкоÑÑовневÑе пÑоÑедÑÑÑ, ÑпеÑиÑиÑнÑе " +"Ð´Ð»Ñ Ð¾Ð±Ð¾ÑÑдованиÑ, поÑÑавлÑемого Ñ Ð¼Ð°ÑеÑинÑкой плаÑой. ÐÑоÑеÑÑÐ¾Ñ ÑнаÑала " "пеÑÐµÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ адÑеÑÑ 0xfffffff0, коÑоÑÑй ÑакÑиÑеÑки Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² памÑÑи BIOS. " "ÐбÑÑно по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ ÑодеÑжиÑÑÑ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° к пÑоÑедÑÑам POST BIOS." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:170 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:169 msgid "" "The POST (Power On Self Test) is a set of routines including the memory " "check, system bus check, and other low-level initialization so the CPU can " @@ -357,7 +357,7 @@ msgstr "" "CD-ROM, жÑÑÑкого диÑка или дÑÑÐ³Ð¸Ñ ÑÑÑÑойÑÑв." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:179 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:178 msgid "" "The very last thing in the POST is the `INT 0x19` instruction. The `INT " "0x19` handler reads 512 bytes from the first sector of boot device into the " @@ -382,7 +382,7 @@ msgstr "" "пеÑвой доÑожке не иÑполÑзÑÑÑÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:183 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:182 msgid "" "This sector is our boot-sequence starting point. As we will see, this " "sector contains a copy of our [.filename]#boot0# program. A jump is made by " @@ -393,13 +393,13 @@ msgstr "" "BIOS вÑполнÑÐµÑ Ð¿ÐµÑÐµÑ Ð¾Ð´ по адÑеÑÑ `0x7c00`, и она наÑÐ¸Ð½Ð°ÐµÑ Ð²ÑполнÑÑÑÑÑ." #. type: Title == -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:185 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:184 #, no-wrap msgid "The Master Boot Record (`boot0`)" msgstr "ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð·Ð°Ð³ÑÑзоÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ (`boot0`)" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:194 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:193 msgid "" "After control is received from the BIOS at memory address `0x7c00`, [." "filename]#boot0# starts executing. It is the first piece of code under " @@ -426,7 +426,7 @@ msgstr "" "еÑÑÑ_ MBR." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:197 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:196 msgid "" "As mentioned previously, we're calling the BIOS `INT 0x19` to load the MBR " "([.filename]#boot0#) into memory at address `0x7c00`. The source file for [." @@ -439,7 +439,7 @@ msgstr "" "впеÑаÑлÑÑÑий ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð°, напиÑаннÑй РобеÑÑом ÐоÑдÑе." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:202 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:201 msgid "" "A special structure starting from offset `0x1be` in the MBR is called the " "_partition table_. It has four records of 16 bytes each, called _partition " @@ -457,32 +457,32 @@ msgstr "" "пÑодолжаÑÑ ÑабоÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:204 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:203 msgid "A partition record has the following fields:" msgstr "ÐапиÑÑ Ð¾ Ñазделе ÑодеÑÐ¶Ð¸Ñ ÑледÑÑÑие полÑ:" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:206 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:205 msgid "the 1-byte filesystem type" msgstr "1-байÑовÑй Ñип Ñайловой ÑиÑÑемÑ" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:207 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:206 msgid "the 1-byte bootable flag" msgstr "1-байÑовÑй Ñлаг загÑÑзки (`bootable`)" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:208 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:207 msgid "the 6 byte descriptor in CHS format" msgstr "6-байÑовÑй деÑкÑипÑÐ¾Ñ Ð² ÑоÑмаÑе CHS" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:209 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:208 msgid "the 8 byte descriptor in LBA format" msgstr "8-байÑовÑй деÑкÑипÑÐ¾Ñ Ð² ÑоÑмаÑе LBA" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:213 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:212 msgid "" "A partition record descriptor contains information about where exactly the " "partition resides on the drive. Both descriptors, LBA and CHS, describe the " @@ -499,7 +499,7 @@ msgstr "" "завеÑÑаеÑÑÑ ÑпеÑиалÑной ÑигнаÑÑÑой `0xaa55`." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:218 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:217 msgid "" "The MBR must fit into 512 bytes, a single disk sector. This program uses " "low-level \"tricks\" like taking advantage of the side effects of certain " @@ -517,7 +517,7 @@ msgstr "" "бÑдÑÑе оÑÐµÐ½Ñ Ð²Ð½Ð¸Ð¼Ð°ÑелÑÐ½Ñ Ð¿Ñи изменении [.filename]#boot0.S#." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:223 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:222 msgid "" "Note that the [.filename]#boot0.S# source file is assembled \"as is\": " "instructions are translated one by one to binary, with no additional " @@ -537,7 +537,7 @@ msgstr "" "коÑÑекÑной ÑабоÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:230 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:229 msgid "" "It is worth looking at the [.filename]#Makefile# for [.filename]#boot0# ([." "filename]#stand/i386/boot0/Makefile#), as it defines some of the run-time " @@ -563,7 +563,7 @@ msgstr "" "ÑоÑмаÑиÑование Ñайла):" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:235 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:234 #, no-wrap msgid "" " BOOT_BOOT0_ORG?=0x600\n" @@ -573,13 +573,13 @@ msgstr "" " ORG=${BOOT_BOOT0_ORG}\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:237 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:236 #, no-wrap msgid "[.filename]#stand/i386/boot0/Makefile# [[boot-boot0-makefile-as-is]]" msgstr "[.filename]#stand/i386/boot0/Makefile# [[boot-boot0-makefile-as-is]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:239 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:238 msgid "" "Let us now start our study of the MBR, or [.filename]#boot0#, starting where " "execution begins." @@ -587,7 +587,7 @@ msgstr "" "ÐÑиÑÑÑпим к изÑÑÐµÐ½Ð¸Ñ MBR, или [.filename]#boot0#, наÑÐ¸Ð½Ð°Ñ Ñ ÑоÑки Ð²Ñ Ð¾Ð´Ð°." #. type: delimited block = 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:245 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:244 msgid "" "Some modifications have been made to some instructions in favor of better " "exposition. For example, some macros are expanded, and some macro tests are " @@ -600,7 +600,7 @@ msgstr "" "пÑимеÑам кода." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:256 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:255 #, no-wrap msgid "" "start:\n" @@ -620,13 +620,13 @@ msgstr "" " movw $LOAD,%sp\t\t# stack\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:258 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:257 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-entrypoint]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-entrypoint]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:264 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:263 msgid "" "This first block of code is the entry point of the program. It is where the " "BIOS transfers control. First, it makes sure that the string operations " @@ -647,7 +647,7 @@ msgstr "" "ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ ÑабоÑоÑпоÑобнÑй ÑÑек." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:266 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:265 msgid "" "The next block is responsible for the relocation and subsequent jump to the " "relocated code." @@ -656,7 +656,7 @@ msgstr "" "кодÑ." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:280 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:279 #, no-wrap msgid "" " movw %sp,%si # Source\n" @@ -684,13 +684,13 @@ msgstr "" " jmp main-LOAD+ORIGIN\t# Jump to relocated code\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:282 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:281 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-relocation]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-relocation]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:293 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:292 msgid "" "As [.filename]#boot0# is loaded by the BIOS to address `0x7C00`, it copies " "itself to address `0x600` and then transfers control there (recall that it " @@ -727,7 +727,7 @@ msgstr "" "копиÑÑÑÑ 2 байÑа (1 Ñлово) за Ð¾Ð´Ð½Ñ Ð¸ÑеÑаÑиÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:304 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:303 msgid "" "Next, the destination register `%di` is copied to `%bp`. `%bp` gets the " "value `0x800`. The value `8` is copied to `%cl` in preparation for a new " @@ -756,7 +756,7 @@ msgstr "" "абÑолÑÑнÑе адÑеÑа избегалиÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:306 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:305 msgid "" "The following code block tests whether the drive number provided by the BIOS " "should be used, or the one stored in [.filename]#boot0#." @@ -765,7 +765,7 @@ msgstr "" "пÑедоÑÑавленнÑй BIOS, или ÑоÑ, ÑÑо Ñ ÑаниÑÑÑ Ð² [.filename]#boot0#." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:318 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:317 #, no-wrap msgid "" "main:\n" @@ -789,13 +789,13 @@ msgstr "" "#endif\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:320 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:319 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-drivenumber]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-drivenumber]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:327 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:326 msgid "" "This code tests the `SETDRV` bit (`0x20`) in the _flags_ variable. Recall " "that register `%bp` points to address location `0x800`, so the test is done " @@ -817,7 +817,7 @@ msgstr "" "пÑедоÑÑавил коÑÑекÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð´Ð¸Ñка, поÑÑÐ¾Ð¼Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð¸Ð¼ к `save_curdrive`." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:329 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:328 msgid "" "The next block saves the drive number provided by the BIOS, and calls `putn` " "to print a new line on the screen." @@ -826,7 +826,7 @@ msgstr "" "`putn` Ð´Ð»Ñ Ð²Ñвода новой ÑÑÑоки на ÑкÑан." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:341 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:340 #, no-wrap msgid "" "save_curdrive:\n" @@ -850,13 +850,13 @@ msgstr "" " callw putn\t\t# Print a newline\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:343 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:342 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-savedrivenumber]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-savedrivenumber]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:345 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:344 msgid "" "Note that we assume `TEST` is not defined, so the conditional code in it is " "not assembled and will not appear in our executable [.filename]#boot0#." @@ -866,7 +866,7 @@ msgstr "" "filename]#boot0#." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:351 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:350 msgid "" "Our next block implements the actual scanning of the partition table. It " "prints to the screen the partition type for each of the four entries in the " @@ -883,7 +883,7 @@ msgstr "" "`ufs2` (FreeBSD, ID 0xa5). РеализаÑÐ¸Ñ Ð´Ð¾Ð²Ð¾Ð»Ñно пÑоÑÑа." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:356 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:355 #, no-wrap msgid "" " movw $(partbl+0x4),%bx\t# Partition table (+4)\n" @@ -893,7 +893,7 @@ msgstr "" " xorw %dx,%dx\t\t# Item number\n" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:372 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:371 #, no-wrap msgid "" "read_entry:\n" @@ -929,7 +929,7 @@ msgstr "" " callw putx\t\t# Display it\n" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:377 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:376 #, no-wrap msgid "" "next_entry:\n" @@ -943,13 +943,13 @@ msgstr "" " jnc read_entry\t\t# Till done\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:379 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:378 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-partition-scan]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-partition-scan]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:383 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:382 msgid "" "It is important to note that the active flag for each entry is cleared, so " "after the scanning, _no_ partition entry is active in our memory copy of [." @@ -964,7 +964,7 @@ msgstr "" "ÑÑÑеÑÑвÑеÑ, еÑли полÑзоваÑÐµÐ»Ñ ÑеÑÐ¸Ñ Ð·Ð°Ð¿Ð¸ÑаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑаÑно на диÑк." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:388 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:387 msgid "" "The next block tests for other drives. At startup, the BIOS writes the " "number of drives present in the computer to address `0x475`. If there are " @@ -979,7 +979,7 @@ msgstr "" "диÑке." #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:397 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:396 #, no-wrap msgid "" " popw %ax\t\t\t# Drive number\n" @@ -997,13 +997,13 @@ msgstr "" " jz print_prompt\t\t# Yes\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:399 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:398 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-test-drives]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-test-drives]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:402 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:401 msgid "" "We make the assumption that a single drive is present, so the jump to " "`print_drive` is not performed. We also assume nothing strange happened, so " @@ -1014,7 +1014,7 @@ msgstr "" "не пÑоизоÑло, поÑÑÐ¾Ð¼Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð¸Ð¼ к `print_prompt`." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:404 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:403 msgid "" "This next block just prints out a prompt followed by the default option:" msgstr "" @@ -1022,7 +1022,7 @@ msgstr "" "ÑмолÑаниÑ:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:414 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:413 #, no-wrap msgid "" "print_prompt:\n" @@ -1042,13 +1042,13 @@ msgstr "" " jmp start_input\t\t# Skip beep\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:416 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:415 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-prompt]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-prompt]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:418 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:417 msgid "" "Finally, a jump is performed to `start_input`, where the BIOS services are " "used to start a timer and for reading user input from the keyboard; if the " @@ -1059,7 +1059,7 @@ msgstr "" "ÑÐ°Ð¹Ð¼ÐµÑ Ð¸ÑÑекаеÑ, бÑÐ´ÐµÑ Ð²ÑбÑан ваÑÐ¸Ð°Ð½Ñ Ð¿Ð¾ ÑмолÑаниÑ:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:434 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:433 #, no-wrap msgid "" "start_input:\n" @@ -1091,13 +1091,13 @@ msgstr "" " jb read_key\t\t# No\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:436 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:435 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-start-input]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-start-input]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:449 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:448 msgid "" "An interrupt is requested with number `0x1a` and argument `0` in register `" "%ah`. The BIOS has a predefined set of services, requested by applications " @@ -1144,7 +1144,7 @@ msgstr "" "полÑзоваÑелÑ; ÑÑо делаеÑÑÑ ÑеÑез `int 0x16`, аÑгÑÐ¼ÐµÐ½Ñ `1` в `%ah`." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:457 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:456 msgid "" "Whether a key was pressed or the time expired, subsequent code validates the " "selection. Based on the selection, the register `%si` is set to point to " @@ -1165,7 +1165,7 @@ msgstr "" "обÑаÑно в MBR на диÑке. ÐÑ Ð¾ÑÑавлÑем деÑали ÑÑой ÑеализаÑии ÑиÑаÑелÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:459 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:458 msgid "" "We now end our study with the last code block from the [.filename]#boot0# " "program:" @@ -1174,7 +1174,7 @@ msgstr "" "filename]#boot0#:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:472 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:471 #, no-wrap msgid "" " movw $LOAD,%bx\t\t# Address for read\n" @@ -1200,13 +1200,13 @@ msgstr "" " jmp *%bx\t\t\t# Invoke bootstrap\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:474 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:473 #, no-wrap msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-check-bootable]]" msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-check-bootable]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:478 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:477 msgid "" "Recall that `%si` points to the selected partition entry. This entry tells " "us where the partition begins on disk. We assume, of course, that the " @@ -1217,7 +1217,7 @@ msgstr "" "вÑбÑаннÑй Ñаздел дейÑÑвиÑелÑно ÑвлÑеÑÑÑ ÑÑезом FreeBSD." #. type: delimited block = 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:482 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:481 msgid "" "From now on, we will favor the use of the technically more accurate term " "\"slice\" rather than \"partition\"." @@ -1226,7 +1226,7 @@ msgstr "" "ÑеÑмина \"ÑлайÑ\" вмеÑÑо \"Ñаздел\"." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:488 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:487 msgid "" "The transfer buffer is set to `0x7c00` (register `%bx`), and a read for the " "first sector of the FreeBSD slice is requested by calling `intx13`. We " @@ -1246,18 +1246,18 @@ msgstr "" "вÑполнение наÑего ÑледÑÑÑего ÑÑапа (ÑолÑко ÑÑо пÑоÑиÑанного блока)." #. type: Title == -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:490 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:489 #, no-wrap msgid "`boot1` Stage" msgstr "ÐÑап `boot1`" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:493 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:492 msgid "So far we have gone through the following sequence:" msgstr "Ðо ÑÐ¸Ñ Ð¿Ð¾Ñ Ð¼Ñ Ð¿ÑоÑли ÑледÑÑÑÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ:" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:497 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:496 msgid "" "The BIOS did some early hardware initialization, including the POST. The " "MBR ([.filename]#boot0#) was loaded from absolute disk sector one to address " @@ -1268,7 +1268,7 @@ msgstr "" "один Ñ Ð´Ð¸Ñка. УпÑавление вÑполнением бÑло пеÑедано по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:500 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:499 msgid "" "[.filename]#boot0# relocated itself to the location it was linked to execute " "(`0x600`), followed by a jump to continue execution at the appropriate " @@ -1283,7 +1283,7 @@ msgstr "" "УпÑавление вÑполнением бÑло пеÑедано по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:513 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:512 msgid "" "[.filename]#boot1# is the next step in the boot-loading sequence. It is the " "first of three boot stages. Note that we have been dealing exclusively with " @@ -1327,7 +1327,7 @@ msgstr "" "он ÑакÑиÑеÑки загÑÑÐ¶Ð°ÐµÑ [.filename]#boot1# и пеÑедаÑÑ ÐµÐ¼Ñ ÑпÑавление." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:518 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:517 msgid "" "The main task of [.filename]#boot1# is to load the next boot stage. This " "next stage is somewhat more complex. It is composed of a server called the " @@ -1342,7 +1342,7 @@ msgstr "" "ÑеÑвеÑа BTX." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:520 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:519 msgid "" "Let us now look in detail at what exactly is done by [.filename]#boot1#, " "starting like we did for [.filename]#boot0#, at its entry point:" @@ -1351,7 +1351,7 @@ msgstr "" "наÑинаÑ, как Ð¼Ñ ÑÑо делали Ð´Ð»Ñ [.filename]#boot0#, Ñ ÑоÑки Ð²Ñ Ð¾Ð´Ð°:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:525 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:524 #, no-wrap msgid "" "start:\n" @@ -1361,13 +1361,13 @@ msgstr "" "\tjmp main\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:527 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:526 #, no-wrap msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-entry]]" msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-entry]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:529 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:528 msgid "" "The entry point at `start` simply jumps past a special data area to the " "label `main`, which in turn looks like this:" @@ -1376,7 +1376,7 @@ msgstr "" "меÑке `main`, коÑоÑаÑ, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, вÑглÑÐ´Ð¸Ñ ÑледÑÑÑим обÑазом:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:544 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:543 #, no-wrap msgid "" "main:\n" @@ -1406,13 +1406,13 @@ msgstr "" " movsw\t\t\t# code\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:546 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:545 #, no-wrap msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main]]" msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:551 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:550 msgid "" "Just like [.filename]#boot0#, this code relocates [.filename]#boot1#, this " "time to memory address `0x700`. However, unlike [.filename]#boot0#, it does " @@ -1427,7 +1427,7 @@ msgstr "" "пеÑемеÑÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑаÑÑмоÑÑена далее." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:556 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:555 msgid "" "Next comes a loop that looks for the FreeBSD slice. Although [." "filename]#boot0# loaded [.filename]#boot1# from the FreeBSD slice, no " @@ -1448,7 +1448,7 @@ msgstr "" "ÐÐ»Ñ ÑÑого он пеÑеÑиÑÑÐ²Ð°ÐµÑ MBR:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:564 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:563 #, no-wrap msgid "" " mov $part4,%si\t\t# Partition\n" @@ -1464,13 +1464,13 @@ msgstr "" " callw nread\t\t# Read MBR\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:566 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:565 #, no-wrap msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-freebsd]]" msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-freebsd]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:574 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:573 msgid "" "In the code above, register `%dl` maintains information about the boot " "device. This is passed on by the BIOS and preserved by the MBR. Numbers " @@ -1489,7 +1489,7 @@ msgstr "" "Ðиже пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð´Ð°Ð½Ð½Ñе ÑалÑÑивого Ñаздела:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:582 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:581 #, no-wrap msgid "" " part4:\n" @@ -1505,13 +1505,13 @@ msgstr "" "\t.byte 0x50, 0xc3, 0x00, 0x00\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:584 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:583 #, 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]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:589 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:588 msgid "" "In particular, the LBA for this fake partition is hardcoded to zero. This " "is used as an argument to the BIOS for reading absolute sector one from the " @@ -1526,12 +1526,12 @@ msgstr "" "абÑолÑÑÐ½Ð¾Ð¼Ñ ÑекÑоÑÑ Ð¾Ð´Ð¸Ð½." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:591 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:590 msgid "Let us now proceed to take a look at `nread`:" msgstr "ÐÑодолжим, ÑаÑÑмоÑÑев `nread`:" #. type: delimited block . 4 -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:601 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:600 #, no-wrap msgid "" "nread:\n" @@ -1551,13 +1551,13 @@ msgstr "" " jnc return\t\t# If success, return\n" #. type: Block title -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:603 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:602 #, no-wrap msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-nread]]" msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-nread]]" #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:612 +#: documentation/content/en/books/arch-handbook/boot/_index.adoc:611 msgid "" "Recall that `%si` points to the fake partition. The word footnote:[In the " "context of 16-bit real mode, a word is 2 bytes.] at offset `0x8` is copied " @@ -1580,7 +1580,7 @@ msgstr "" "иÑполÑзÑÐµÑ `xread.1`. ÐÑÐ¾Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ бÑÐ´ÐµÑ ÑаÑÑмоÑÑен в ÑледÑÑÑем Ñазделе." #. type: Plain text -#: documentation/content/en/books/arch-handbook/boot/_index.adoc:614 *** 12904 LINES SKIPPED ***