Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/documentation/booksarch-handbookboot_index/zh_CN/units/?format=api&page=4
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 293,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/units/?format=api&page=5",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/units/?format=api&page=3",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Next comes a loop that looks for the FreeBSD slice.  Although [.filename]#boot0# loaded [.filename]#boot1# from the FreeBSD slice, no information was passed to it about this footnote:[Actually we did pass a pointer to the slice entry in register %si.  However, boot1 does not assume that it was loaded by boot0 (perhaps some other MBR loaded it, and did not pass this information), so it assumes nothing.], so [.filename]#boot1# must rescan the partition table to find where the FreeBSD slice starts.  Therefore it rereads the MBR:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 199705865650798565,
            "content_hash": 199705865650798565,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:553",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 97,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 85,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436481/?format=api",
            "priority": 100,
            "id": 1438623,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=82c57f6d3dad7fe5",
            "url": "https://translate-dev.freebsd.org/api/units/1438623/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.478776Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-freebsd]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2624526761936343516,
            "content_hash": -2624526761936343516,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:563",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 99,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436483/?format=api",
            "priority": 100,
            "id": 1438624,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=5b93ced0bb472e24",
            "url": "https://translate-dev.freebsd.org/api/units/1438624/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.498182Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "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 `0x80` and greater tells us that we are dealing with a hard drive, so a call is made to `nread`, where the MBR is read.  Arguments to `nread` are passed through `%si` and `%dh`.  The memory address at label `part4` is copied to `%si`.  This memory address holds a \"fake partition\" to be used by `nread`.  The following is the data in the fake partition:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9065425798010783789,
            "content_hash": 9065425798010783789,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:571",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 100,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 90,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436485/?format=api",
            "priority": 100,
            "id": 1438625,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=fdcedcbb8c18482d",
            "url": "https://translate-dev.freebsd.org/api/units/1438625/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.502366Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1297518756750365749,
            "content_hash": 1297518756750365749,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:581",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 102,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436487/?format=api",
            "priority": 100,
            "id": 1438626,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=9201b66f49831435",
            "url": "https://translate-dev.freebsd.org/api/units/1438626/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.554644Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "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 hard drive.  Alternatively, CHS addressing could be used.  In this case, the fake partition holds cylinder 0, head 0 and sector 1, which is equivalent to absolute sector one."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4766588281638931913,
            "content_hash": -4766588281638931913,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:586",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 103,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436489/?format=api",
            "priority": 100,
            "id": 1438627,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=3dd9ad365a5f3237",
            "url": "https://translate-dev.freebsd.org/api/units/1438627/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.558999Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "nread:\n      mov $MEM_BUF,%bx\t\t# Transfer buffer\n      mov 0x8(%si),%ax\t\t# Get\n      mov 0xa(%si),%cx\t\t#  LBA\n      push %cs\t\t\t# Read from\n      callw xread.1\t\t#  disk\n      jnc return\t\t# If success, return\n"
            ],
            "previous_source": "",
            "target": [
                "nread:\n      mov $0x8c00,%bx\t\t# Transfer buffer\n      mov 0x8(%si),%ax\t\t# Get\n      mov 0xa(%si),%cx\t\t#  LBA\n      push %cs\t\t\t# Read from\n      callw xread.1\t\t#  disk\n      jnc return\t\t# If success, return\n"
            ],
            "id_hash": 3166050743707279503,
            "content_hash": 3166050743707279503,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:598",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 105,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436491/?format=api",
            "priority": 100,
            "id": 1438628,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=abf012607f88a08f",
            "url": "https://translate-dev.freebsd.org/api/units/1438628/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.573513Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-nread]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4254986199812818215,
            "content_hash": -4254986199812818215,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:600",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 106,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436493/?format=api",
            "priority": 100,
            "id": 1438629,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=44f340985bf7bad9",
            "url": "https://translate-dev.freebsd.org/api/units/1438629/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.580474Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "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 to register `%ax` and word at offset `0xa` to `%cx`.  They are interpreted by the BIOS as the lower 4-byte value denoting the LBA to be read (the upper four bytes are assumed to be zero).  Register `%bx` holds the memory address where the MBR will be loaded.  The instruction pushing `%cs` onto the stack is very interesting.  In this context, it accomplishes nothing.  However, as we will see shortly, [.filename]#boot2#, in conjunction with the BTX server, also uses `xread.1`.  This mechanism will be discussed in the next section."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -648026375823057690,
            "content_hash": -648026375823057690,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:609",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 107,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 116,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436495/?format=api",
            "priority": 100,
            "id": 1438630,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=7701bf71cffb9ce6",
            "url": "https://translate-dev.freebsd.org/api/units/1438630/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.660822Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-xread1]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2250317972501826059,
            "content_hash": 2250317972501826059,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:630",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 110,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436497/?format=api",
            "priority": 100,
            "id": 1438631,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=9f3abc45f6a60a0b",
            "url": "https://translate-dev.freebsd.org/api/units/1438631/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.678510Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Note the long return instruction at the end of this block.  This instruction pops out the `%cs` register pushed by `nread`, and returns.  Finally, `nread` also returns."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9058264340938275794,
            "content_hash": 9058264340938275794,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:634",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 111,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 27,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436499/?format=api",
            "priority": 100,
            "id": 1438632,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=fdb56b6ce336bbd2",
            "url": "https://translate-dev.freebsd.org/api/units/1438632/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.682340Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "\tmov $0x1,%cx\t\t # Two passes\nmain.1:\n\tmov $MEM_BUF+PRT_OFF,%si # Partition table\n\tmovb $0x1,%dh\t\t # Partition\nmain.2:\n\tcmpb $PRT_BSD,0x4(%si)\t # Our partition type?\n\tjne main.3\t\t # No\n\tjcxz main.5\t\t # If second pass\n\ttestb $0x80,(%si)\t # Active?\n\tjnz main.5\t\t # Yes\nmain.3:\n\tadd $0x10,%si\t\t # Next entry\n\tincb %dh\t\t # Partition\n\tcmpb $0x1+PRT_NUM,%dh\t\t # In table?\n\tjb main.2\t\t # Yes\n\tdec %cx\t\t\t # Do two\n\tjcxz main.1\t\t #  passes\n"
            ],
            "previous_source": "",
            "target": [
                "\tmov $0x1,%cx\t\t # Two passes\nmain.1:\n\tmov $0x8dbe,%si # Partition table\n\tmovb $0x1,%dh\t\t # Partition\nmain.2:\n\tcmpb $0xa5,0x4(%si)\t # Our partition type?\n\tjne main.3\t\t # No\n\tjcxz main.5\t\t # If second pass\n\ttestb $0x80,(%si)\t # Active?\n\tjnz main.5\t\t # Yes\nmain.3:\n\tadd $0x10,%si\t\t # Next entry\n\tincb %dh\t\t # Partition\n\tcmpb $0x5,%dh\t\t # In table?\n\tjb main.2\t\t # Yes\n\tdec %cx\t\t\t # Do two\n\tjcxz main.1\t\t #  passes\n"
            ],
            "id_hash": 1607329214550244567,
            "content_hash": 1607329214550244567,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:656",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 113,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 68,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436501/?format=api",
            "priority": 100,
            "id": 1438633,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=964e6167965ffcd7",
            "url": "https://translate-dev.freebsd.org/api/units/1438633/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.694317Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-part]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7530428471526949976,
            "content_hash": -7530428471526949976,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:658",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 114,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436503/?format=api",
            "priority": 100,
            "id": 1438634,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=177e8b33fc25fba8",
            "url": "https://translate-dev.freebsd.org/api/units/1438634/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.765672Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "If a FreeBSD slice is identified, execution continues at `main.5`.  Note that when a FreeBSD slice is found `%si` points to the appropriate entry in the partition table, and `%dh` holds the partition number.  We assume that a FreeBSD slice is found, so we continue execution at `main.5`:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2037657837001374581,
            "content_hash": -2037657837001374581,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:662",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 115,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 48,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436505/?format=api",
            "priority": 100,
            "id": 1438635,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=63b8c8fe43be048b",
            "url": "https://translate-dev.freebsd.org/api/units/1438635/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.769831Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "main.5:\n\tmov %dx,MEM_ARG\t\t\t   # Save args\n\tmovb $NSECT,%dh\t\t\t   # Sector count\n\tcallw nread\t\t\t   # Read disk\n\tmov $MEM_BTX,%bx\t\t\t   # BTX\n\tmov 0xa(%bx),%si\t\t   # Get BTX length and set\n\tadd %bx,%si\t\t\t   #  %si to start of boot2.bin\n\tmov $MEM_USR+SIZ_PAG*2,%di\t\t\t   # Client page 2\n\tmov $MEM_BTX+(NSECT-1)*SIZ_SEC,%cx\t\t\t   # Byte\n\tsub %si,%cx\t\t\t   #  count\n\trep\t\t\t\t   # Relocate\n\tmovsb\t\t\t\t   #  client\n"
            ],
            "previous_source": "",
            "target": [
                "main.5:\n\tmov %dx,0x900\t\t\t   # Save args\n\tmovb $0x10,%dh\t\t\t   # Sector count\n\tcallw nread\t\t\t   # Read disk\n\tmov $0x9000,%bx\t\t\t   # BTX\n\tmov 0xa(%bx),%si\t\t   # Get BTX length and set\n\tadd %bx,%si\t\t\t   #  %si to start of boot2.bin\n\tmov $0xc000,%di\t\t\t   # Client page 2\n\tmov $0xa200,%cx\t\t\t   # Byte\n\tsub %si,%cx\t\t\t   #  count\n\trep\t\t\t\t   # Relocate\n\tmovsb\t\t\t\t   #  client\n"
            ],
            "id_hash": -4517682918668327486,
            "content_hash": -4517682918668327486,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:677",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 116,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436507/?format=api",
            "priority": 100,
            "id": 1438636,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=414df75238eca5c2",
            "url": "https://translate-dev.freebsd.org/api/units/1438636/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.774212Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main5]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4243642389778874410,
            "content_hash": 4243642389778874410,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:679",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 117,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436509/?format=api",
            "priority": 100,
            "id": 1438637,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=bae472450c8f402a",
            "url": "https://translate-dev.freebsd.org/api/units/1438637/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.780430Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Recall that at this point, register `%si` points to the FreeBSD slice entry in the MBR partition table, so a call to `nread` will effectively read sectors at the beginning of this partition.  The argument passed on register `%dh` tells `nread` to read 16 disk sectors.  Recall that the first 512 bytes, or the first sector of the FreeBSD slice, coincides with the [.filename]#boot1# program.  Also recall that the file written to the beginning of the FreeBSD slice is not [.filename]#/boot/boot1#, but [.filename]#/boot/boot#.  Let us look at the size of these files in the filesystem:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1271988009702216039,
            "content_hash": -1271988009702216039,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:685",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 118,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 95,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436511/?format=api",
            "priority": 100,
            "id": 1438638,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=6e58fda4fb24ae99",
            "url": "https://translate-dev.freebsd.org/api/units/1438638/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.787507Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Both [.filename]#boot0# and [.filename]#boot1# are 512 bytes each, so they fit _exactly_ in one disk sector.  [.filename]#boot2# is much bigger, holding both the BTX server and the [.filename]#boot2# client.  Finally, a file called simply [.filename]#boot# is 512 bytes larger than [.filename]#boot2#.  This file is a concatenation of [.filename]#boot1# and [.filename]#boot2#.  As already noted, [.filename]#boot0# is the file written to the absolute first disk sector (the MBR), and [.filename]#boot# is the file written to the first sector of the FreeBSD slice; [.filename]#boot1# and [.filename]#boot2# are _not_ written to disk.  The command used to concatenate [.filename]#boot1# and [.filename]#boot2# into a single [.filename]#boot# is merely `cat boot1 boot2 > boot`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7526841166043570449,
            "content_hash": -7526841166043570449,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:700",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 120,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 107,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436513/?format=api",
            "priority": 100,
            "id": 1438639,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=178b49d6a12f9eef",
            "url": "https://translate-dev.freebsd.org/api/units/1438639/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.808533Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "So [.filename]#boot1# occupies exactly the first 512 bytes of [.filename]#boot# and, because [.filename]#boot# is written to the first sector of the FreeBSD slice, [.filename]#boot1# fits exactly in this first sector.  When `nread` reads the first 16 sectors of the FreeBSD slice, it effectively reads the entire [.filename]#boot# file footnote:[512*16=8192 bytes, exactly the size of boot].  We will see more details about how [.filename]#boot# is formed from [.filename]#boot1# and [.filename]#boot2# in the next section."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8185380937923487860,
            "content_hash": -8185380937923487860,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:704",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 121,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 73,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436515/?format=api",
            "priority": 100,
            "id": 1438640,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=0e67af67abd1178c",
            "url": "https://translate-dev.freebsd.org/api/units/1438640/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.862892Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Recall that `nread` uses memory address `0x8c00` as the transfer buffer to hold the sectors read.  This address is conveniently chosen.  Indeed, because [.filename]#boot1# belongs to the first 512 bytes, it ends up in the address range `0x8c00`-`0x8dff`.  The 512 bytes that follows (range `0x8e00`-`0x8fff`) is used to store the _bsdlabel_ footnote:[Historically known as disklabel.  If you ever wondered where FreeBSD stored this information, it is in this region - see man:bsdlabel[8]]."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9019789556625545225,
            "content_hash": 9019789556625545225,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:710",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 122,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 72,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436517/?format=api",
            "priority": 100,
            "id": 1438641,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=fd2cbad017719809",
            "url": "https://translate-dev.freebsd.org/api/units/1438641/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.869738Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Starting at address `0x9000` is the beginning of the BTX server, and immediately following is the [.filename]#boot2# client.  The BTX server acts as a kernel, and executes in protected mode in the most privileged level.  In contrast, the BTX clients ([.filename]#boot2#, for example), execute in user mode.  We will see how this is accomplished in the next section.  The code after the call to `nread` locates the beginning of [.filename]#boot2# in the memory buffer, and copies it to memory address `0xc000`.  This is because the BTX server arranges [.filename]#boot2# to execute in a segment starting at `0xa000`.  We explore this in detail in the following section."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7199653477764174426,
            "content_hash": -7199653477764174426,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:718",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 123,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 106,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436519/?format=api",
            "priority": 100,
            "id": 1438642,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=1c15b14eaff5eda6",
            "url": "https://translate-dev.freebsd.org/api/units/1438642/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.873946Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "The last code block of [.filename]#boot1# enables access to memory above 1MB footnote:[This is necessary for legacy reasons.  Interested readers should see .] and concludes with a jump to the starting point of the BTX server:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8599564056970783237,
            "content_hash": -8599564056970783237,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:721",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 124,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 36,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436521/?format=api",
            "priority": 100,
            "id": 1438643,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=08a8360d790a15fb",
            "url": "https://translate-dev.freebsd.org/api/units/1438643/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.877900Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-seta20]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3441020157834176854,
            "content_hash": 3441020157834176854,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:746",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 127,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436523/?format=api",
            "priority": 100,
            "id": 1438644,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=afc0f59a2caa2956",
            "url": "https://translate-dev.freebsd.org/api/units/1438644/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.888729Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Next in our boot sequence is the BTX Server.  Let us quickly remember how we got here:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2878380189992046253,
            "content_hash": 2878380189992046253,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:754",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 130,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 17,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436525/?format=api",
            "priority": 100,
            "id": 1438645,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=a7f20f8850ff4ead",
            "url": "https://translate-dev.freebsd.org/api/units/1438645/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.956061Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#boot0# relocates itself to `0x600`, the address it was linked to execute, and jumps over there.  It then reads the first sector of the FreeBSD slice (which consists of [.filename]#boot1#) into address `0x7c00` and jumps over there."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2041011441855066527,
            "content_hash": 2041011441855066527,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:758",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 132,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436527/?format=api",
            "priority": 100,
            "id": 1438646,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=9c532117b647719f",
            "url": "https://translate-dev.freebsd.org/api/units/1438646/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.964229Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#boot1# loads the first 16 sectors of the FreeBSD slice into address `0x8c00`.  This 16 sectors, or 8192 bytes, is the whole file [.filename]#boot#.  The file is a concatenation of [.filename]#boot1# and [.filename]#boot2#.  [.filename]#boot2#, in turn, contains the BTX server and the [.filename]#boot2# client.  Finally, a jump is made to address `0x9010`, the entry point of the BTX server."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5495341132959939807,
            "content_hash": -5495341132959939807,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:763",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 133,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 59,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436529/?format=api",
            "priority": 100,
            "id": 1438647,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=33bca05aea548321",
            "url": "https://translate-dev.freebsd.org/api/units/1438647/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.969659Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Before studying the BTX Server in detail, let us further review how the single, all-in-one [.filename]#boot# file is created.  The way [.filename]#boot# is built is defined in its [.filename]#Makefile# ([.filename]#stand/i386/boot2/Makefile#).  Let us look at the rule that creates the [.filename]#boot# file:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3831755033042836894,
            "content_hash": -3831755033042836894,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:767",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 134,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436531/?format=api",
            "priority": 100,
            "id": 1438648,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=4ad2df19552aa262",
            "url": "https://translate-dev.freebsd.org/api/units/1438648/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.973680Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6590127160931882684,
            "content_hash": 6590127160931882684,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:774",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 136,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436533/?format=api",
            "priority": 100,
            "id": 1438649,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=db74d5bca3ff96bc",
            "url": "https://translate-dev.freebsd.org/api/units/1438649/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.981210Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "This tells us that [.filename]#boot1# and [.filename]#boot2# are needed, and the rule simply concatenates them to produce a single file called [.filename]#boot#.  The rules for creating [.filename]#boot1# are also quite simple:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8283236322369440866,
            "content_hash": 8283236322369440866,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:777",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 137,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436535/?format=api",
            "priority": 100,
            "id": 1438650,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=f2f3f78c79718c62",
            "url": "https://translate-dev.freebsd.org/api/units/1438650/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.992530Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot1: boot1.out\n\t${OBJCOPY} -S -O binary boot1.out ${.TARGET}\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8684464014956762904,
            "content_hash": 8684464014956762904,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:782",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 138,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436537/?format=api",
            "priority": 100,
            "id": 1438651,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=f8856a0264291718",
            "url": "https://translate-dev.freebsd.org/api/units/1438651/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:16.997659Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot1.out: boot1.o\n\t${LD} ${LD_FLAGS} -e start --defsym ORG=${ORG1} -T ${LDSCRIPT} -o ${.TARGET} boot1.o\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6298642693100211816,
            "content_hash": -6298642693100211816,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:785",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 139,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436539/?format=api",
            "priority": 100,
            "id": 1438652,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=2896b9d79ea6f198",
            "url": "https://translate-dev.freebsd.org/api/units/1438652/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.057607Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot1]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -748263729694515537,
            "content_hash": -748263729694515537,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:787",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 140,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436541/?format=api",
            "priority": 100,
            "id": 1438653,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=759da21a313fdeaf",
            "url": "https://translate-dev.freebsd.org/api/units/1438653/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.061645Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "To apply the rule for creating [.filename]#boot1#, [.filename]#boot1.out# must be resolved.  This, in turn, depends on the existence of [.filename]#boot1.o#.  This last file is simply the result of assembling our familiar [.filename]#boot1.S#, without linking.  Now, the rule for creating [.filename]#boot1.out# is applied.  This tells us that [.filename]#boot1.o# should be linked with `start` as its entry point, and starting at address `0x7c00`.  Finally, [.filename]#boot1# is created from [.filename]#boot1.out# applying the appropriate rule.  This rule is the [.filename]#objcopy# command applied to [.filename]#boot1.out#.  Note the flags passed to [.filename]#objcopy#: `-S` tells it to strip all relocation and symbolic information; `-O binary` indicates the output format, that is, a simple, unformatted binary file."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2868983152350088472,
            "content_hash": -2868983152350088472,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:796",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 141,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 109,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436543/?format=api",
            "priority": 100,
            "id": 1438654,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=582f53060197b2e8",
            "url": "https://translate-dev.freebsd.org/api/units/1438654/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.065404Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2: boot2.ld\n\t@set -- `ls -l ${.ALLSRC}`; x=$$((${BOOT2SIZE}-$$5)); \\\n\t    echo \"$$x bytes available\"; test $$x -ge 0\n\t${DD} if=${.ALLSRC} of=${.TARGET} bs=${BOOT2SIZE} conv=sync\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6377382996493302407,
            "content_hash": -6377382996493302407,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:805",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 143,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436545/?format=api",
            "priority": 100,
            "id": 1438655,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=277efbf419668579",
            "url": "https://translate-dev.freebsd.org/api/units/1438655/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.077012Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2.ld: boot2.ldr boot2.bin ${BTXKERN}\n\tbtxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l boot2.ldr \\\n\t    -o ${.TARGET} -P 1 boot2.bin\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2281190368371778643,
            "content_hash": -2281190368371778643,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:809",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 144,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436547/?format=api",
            "priority": 100,
            "id": 1438656,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=605795723c285bad",
            "url": "https://translate-dev.freebsd.org/api/units/1438656/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.081533Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2.ldr:\n\t${DD} if=/dev/zero of=${.TARGET} bs=512 count=1\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7296190777348969641,
            "content_hash": 7296190777348969641,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:812",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 145,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436549/?format=api",
            "priority": 100,
            "id": 1438657,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=e54146dae95dd4a9",
            "url": "https://translate-dev.freebsd.org/api/units/1438657/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.087768Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2.bin: boot2.out\n\t${OBJCOPY} -S -O binary boot2.out ${.TARGET}\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2069264386640733563,
            "content_hash": -2069264386640733563,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:815",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 146,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436551/?format=api",
            "priority": 100,
            "id": 1438658,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=63487f00f7e99a85",
            "url": "https://translate-dev.freebsd.org/api/units/1438658/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.091992Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2.out: ${BTXCRT} boot2.o sio.o ashldi3.o\n\t${LD} ${LD_FLAGS} --defsym ORG=${ORG2} -T ${LDSCRIPT} -o ${.TARGET} ${.ALLSRC}\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4161564845431391143,
            "content_hash": 4161564845431391143,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:818",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 147,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436553/?format=api",
            "priority": 100,
            "id": 1438659,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=b9c0d92d91b103a7",
            "url": "https://translate-dev.freebsd.org/api/units/1438659/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.151997Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot2]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1377249562745952991,
            "content_hash": 1377249562745952991,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:827",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 149,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436555/?format=api",
            "priority": 100,
            "id": 1438660,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=931cf92e2a88dadf",
            "url": "https://translate-dev.freebsd.org/api/units/1438660/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.160569Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "The mechanism for building [.filename]#boot2# is far more elaborate.  Let us point out the most relevant facts.  The dependency list is as follows:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2907433623225116402,
            "content_hash": 2907433623225116402,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:831",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 150,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436557/?format=api",
            "priority": 100,
            "id": 1438661,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=a8594779e05c26f2",
            "url": "https://translate-dev.freebsd.org/api/units/1438661/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.164514Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "      boot2: boot2.ld\n      boot2.ld: boot2.ldr boot2.bin ${BTXDIR}\n      boot2.bin: boot2.out\n      boot2.out: ${BTXDIR} boot2.o sio.o ashldi3.o\n      boot2.h: boot1.out\n"
            ],
            "previous_source": "",
            "target": [
                "      boot2: boot2.ld\n      boot2.ld: boot2.ldr boot2.bin ${BTXDIR}/btx/btx\n      boot2.bin: boot2.out\n      boot2.out: ${BTXDIR}/lib/crt0.o boot2.o sio.o\n      boot2.o: boot2.s\n      boot2.s: boot2.c boot2.h ${.CURDIR}/../../common/ufsread.c\n      boot2.h: boot1.out\n"
            ],
            "id_hash": 6127018008328205948,
            "content_hash": 6127018008328205948,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:839",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 10,
            "fuzzy": true,
            "translated": false,
            "approved": false,
            "position": 151,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": true,
            "num_words": 15,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436559/?format=api",
            "priority": 100,
            "id": 1438662,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=d5078a6a8ed2f67c",
            "url": "https://translate-dev.freebsd.org/api/units/1438662/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.168580Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/Makefile# [[boot-boot1-make-boot2-more]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5411787696251654737,
            "content_hash": -5411787696251654737,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:841",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 152,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436561/?format=api",
            "priority": 100,
            "id": 1438663,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=34e577c35d172daf",
            "url": "https://translate-dev.freebsd.org/api/units/1438663/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.175754Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Note that initially there is no header file [.filename]#boot2.h#, but its creation depends on [.filename]#boot1.out#, which we already have.  The rule for its creation is a bit terse, but the important thing is that the output, [.filename]#boot2.h#, is something like this:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8083181094166401972,
            "content_hash": -8083181094166401972,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:844",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 153,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436563/?format=api",
            "priority": 100,
            "id": 1438664,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=0fd2c59f130eec4c",
            "url": "https://translate-dev.freebsd.org/api/units/1438664/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.179681Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "[.filename]#stand/i386/boot2/boot2.h# [[boot-boot1-make-boot2h]]"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6481360224549420923,
            "content_hash": 6481360224549420923,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:850",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 155,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436565/?format=api",
            "priority": 100,
            "id": 1438665,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=d9f26ac8d59d3f7b",
            "url": "https://translate-dev.freebsd.org/api/units/1438665/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.186411Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Recall that [.filename]#boot1# was relocated (i.e., copied from `0x7c00` to `0x700`).  This relocation will now make sense, because as we will see, the BTX server reclaims some memory, including the space where [.filename]#boot1# was originally loaded.  However, the BTX server needs access to [.filename]#boot1#'s `xread` function; this function, according to the output of [.filename]#boot2.h#, is at location `0x725`.  Indeed, the BTX server uses the `xread` function from [.filename]#boot1#'s relocated code.  This function is now accessible from within the [.filename]#boot2# client."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4109786936013546968,
            "content_hash": -4109786936013546968,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:856",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 156,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 80,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436567/?format=api",
            "priority": 100,
            "id": 1438666,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=46f71a8e685f1a28",
            "url": "https://translate-dev.freebsd.org/api/units/1438666/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.190054Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "The next rule directs the linker to link various files ([.filename]#ashldi3.o#, [.filename]#boot2.o# and [.filename]#sio.o#).  Note that the output file, [.filename]#boot2.out#, is linked to execute at address `0x2000` (${ORG2}).  Recall that [.filename]#boot2# will be executed in user mode, within a special user segment set up by the BTX server.  This segment starts at `0xa000`.  Also, remember that the [.filename]#boot2# portion of [.filename]#boot# was copied to address `0xc000`, that is, offset `0x2000` from the start of the user segment, so [.filename]#boot2# will work properly when we transfer control to it.  Next, [.filename]#boot2.bin# is created from [.filename]#boot2.out# by stripping its symbols and format information; boot2.bin is a _raw_ binary.  Now, note that a file [.filename]#boot2.ldr# is created as a 512-byte file full of zeros.  This space is reserved for the bsdlabel."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1142263363582956249,
            "content_hash": -1142263363582956249,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:865",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 157,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 128,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436569/?format=api",
            "priority": 100,
            "id": 1438667,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=7025dd85d5b1ed27",
            "url": "https://translate-dev.freebsd.org/api/units/1438667/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.194229Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Now that we have files [.filename]#boot1#, [.filename]#boot2.bin# and [.filename]#boot2.ldr#, only the BTX server is missing before creating the all-in-one [.filename]#boot# file.  The BTX server is located in [.filename]#stand/i386/btx/btx#; it has its own [.filename]#Makefile# with its own set of rules for building.  The important thing to notice is that it is also compiled as a _raw_ binary, and that it is linked to execute at address `0x9000`.  The details can be found in [.filename]#stand/i386/btx/btx/Makefile#."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1125302410182523761,
            "content_hash": -1125302410182523761,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:870",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 158,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 73,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436571/?format=api",
            "priority": 100,
            "id": 1438668,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=70621f6b882e048f",
            "url": "https://translate-dev.freebsd.org/api/units/1438668/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.199324Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Having the files that comprise the [.filename]#boot# program, the final step is to _merge_ them.  This is done by a special program called [.filename]#btxld# (source located in [.filename]#/usr/src/usr.sbin/btxld#).  Some arguments to this program include the name of the output file ([.filename]#boot#), its entry point (`0x2000`) and its file format (raw binary).  The various files are finally merged by this utility into the file [.filename]#boot#, which consists of [.filename]#boot1#, [.filename]#boot2#, the `bsdlabel` and the BTX server.  This file, which takes exactly 16 sectors, or 8192 bytes, is what is actually written to the beginning of the FreeBSD slice during installation.  Let us now proceed to study the BTX server program."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5459013127064563001,
            "content_hash": 5459013127064563001,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:877",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 159,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 109,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436573/?format=api",
            "priority": 100,
            "id": 1438669,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=cbc24f8416e0ad39",
            "url": "https://translate-dev.freebsd.org/api/units/1438669/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.253218Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "The BTX server prepares a simple environment and switches from 16-bit real mode to 32-bit protected mode, right before passing control to the client.  This includes initializing and updating the following data structures:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5260842659562456866,
            "content_hash": 5260842659562456866,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:880",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 160,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436575/?format=api",
            "priority": 100,
            "id": 1438670,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=c902448696710722",
            "url": "https://translate-dev.freebsd.org/api/units/1438670/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.258567Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "Modifies the `Interrupt Vector Table (IVT)`.  The IVT provides exception and interrupt handlers for Real-Mode code."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8421621604464954732,
            "content_hash": 8421621604464954732,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:883",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 161,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436577/?format=api",
            "priority": 100,
            "id": 1438671,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=f4df9c3ac6e38d6c",
            "url": "https://translate-dev.freebsd.org/api/units/1438671/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.262996Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/zh_CN/?format=api",
            "source": [
                "The `Interrupt Descriptor Table (IDT)` is created.  Entries are provided for processor exceptions, hardware interrupts, two system calls and V86 interface.  The IDT provides exception and interrupt handlers for Protected-Mode code."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1716046534248688788,
            "content_hash": 1716046534248688788,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:886",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 162,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436579/?format=api",
            "priority": 100,
            "id": 1438672,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/zh_CN/?checksum=97d09f3b1beeec94",
            "url": "https://translate-dev.freebsd.org/api/units/1438672/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:17.267213Z"
        }
    ]
}