Стандарт ISO подразумевает начало данных с MSF 2:0:0 или LBA 150. Все предыдущие сектора для дисков данных априори считаются заполненными нулями
Нет. Размер блока (сектора) 2048 байт. В стандартном (негибридном ISO) ненули начинаются с LBA 16. Там располагается Primary Volume Descriptor, по LBA 17 располагается Boot Record Volume.
Ваша идея заключается в том, чтобы в неиспользуемое пространство дописать таблицу разделов, оформить ISO-9660 как отдельный ее раздел и добавить раздел для загрузчика
Нет. ISO-9660 и MBR GPT существуют параллельно. В таблице разделов (как и MBR так и GPT) указывается LBA данных, где располагается раздел ESP (для UEFI загрузки), а по LBA 0 - располагается загрузочный сектор (для BIOS загрузки). Размер блока (сектора) 512 байт. Для ISO-9660 - размер блока 2048 байт. В зависимости от того, куда будет производиться запись образа на флешку или на оптический диск, структра будет рассматриваться по-разному.
Программы для записи ISO на CD/DVD чаще всего игнорируют первые 150 секторов, если они даны в формате ISO, а не BIN. Есть риск потери данных при записи на оптический носитель (если таковая операция, конечно, вообще предусметривается)
Про первые 150 секторов не знал, да и я все-таки думаю, что первые 16 секторов по 2048 байт. Но это никак не помешает, так как 0 и следующие за ним сектора, которые содержат MBR/GPT/Boot сектор нужны только для загрузки с флешки.
Секторы, на которых расположен загрузчик, должны быть видны из ISO-9660. Опять же, при записи на носитель такие области данных будут просто проигнорированы, если находятся за пределами LBA прописыных в ISO Volume. Проще всего представить такой загрузчик как файл на уровне файловой системы (как в ElTorito). Если, конечно, раздел не сликом большой и помещается в 2 GB.
Даже, если они и проигнорируются при записи на оптический диск, в чем я сомневаюсь, это никак не повлияет, так как они предназначены только для записи на флеш-накопитель.
Я понимаю, что это сложно осмыслить, сам осмысливал достаточно долго, поэтому советую перечитать статью и ссылку, что я Вам давал.
Наверное моя вина, что не привел в статье, исправлю, добавлю вывод первого сектора в iso файле. Можете такую же комаднду выволнить и посмотреть, что находится в iso популярных Linux дистрибутивов (Ubuntu, Debian и др.) В образах Windows такого нет. Там, как и должно быть первые 16 секторов по 2048 байт содержат 0.
Я про это все время вас и спрашиваю: что, конкретно вы, называете "гибридным диском", поскольку ваше понимание с общепринятной терминологией не совпадает.
За загрузчика отвечает расширение ElTorito, которое просто указывает на файл, который еще должен быть виден через ISO-9660
Спецификация El Torito не оперирует понятиями файл, она оперирует понятием сектор. В Booting Catalog хранятся LBA для первого сектора, где находится bootloader (для загрузки через BIOS) и LBA первого сектора, где находится образ раздела ESP (для загрузки через UEFI)
Понятие "раздел" имеет смысл только для UDF, где есть таблица разделов на уровне структуры UDF. Классический ISO-9660 не имеет разделов, а запись на диски оперирует понятием "сессия", но это совсем другое.
В UDF (Universal Disk Format) нет таблицы разделов - это файловая система. В моем понимании таблица разделов содержит информацию о том, какие сектора принадлежат конкретному разделу, а на разделе размещается файловая система. Файловая система, может занимать весь диск (блочное устройство), например, на дискете.
Гибридный диск (если мы говорим о Hybrid-CD), то это ныне забытый формат CD (и только CD), где аудио-дорожки соседствуют с даннными, но его невозможно сохранить в ISO по определению (можно только BIN, MDF, и т.д.).
Нет. Мы говорим об образе, который содержит MBR, загрузочный сектор и/или GPT, которые при записи всего образа на флеш-накопитель позволят загрузиться с него.
Я предполагаю, что вы имеете ввиду гибридный загрузчик, но это лишь вопрос кода самого загрузчика. Для ISO это просто файл, его содержимое безразлично.
Да. Я это рассматриваю в главе "Ещё один способ создания загрузочного флеш-накопителя в Windows", где это делается обычными командами Windows, но это не имеет никакого отношения к гибридному ISO.
Гибридный ISO образ позволяет копировать себя посекторно на флеш-накопитель, так как он содержит таблицу разделов и раздел, с которого будет осуществляться загрузка
Если Вы имеете ввиду гибридный ISO образ, то он содержит MBR и/или GPT, соответственно, если Вы хотите записать весь на загрузочный флеш-накопитель, то Bам нужно посекторно записывать на диск, а не раздел
Для этого нужно использовать make config или make menuconfig вместо make defconfig. Там нужно ответить на множество вопросов или зайти в различные формы, но тут уже Вам конкретно нужно знать, что Вы хотите настроить. Для menuconfig необходимо установить ncurses eще.
Целью статьи было донести информацию так, чтобы книга по LFS воспринималась проще, я не ставил целью получить дистрибутив Linux, который можно полноценно использовать. Можно сказать, что моя статья это введение в сборку Linux.
Если вы имеете в виду Amd64, то я думаю ядро должно запуститься. А вот если для других архитектур, то там кроме системы команд процессора другие загрузчики. Кросскомпиляцию я не затрагивал в этой статье, чтобы она была краткой и удобной для восприятия.
Я сделал раздел FAT, чтобы можно было в Windows увидеть на флеш-накопителе файлы ядра Linux и образа корневой файловой системы, загрузчика EXTLINUX и его конфигурацию. Изначально я использовал ext4.
На скорость интернета оказывают следующие факторы: загруженность канала wifi другими точками доступа, качество wifi сигнала, скорость передачи данных от вас к vps серверу( провайдер может ограничивать скорость траффика за границу), производительностьность сервера vps, какую скорость предоставляет провайдер vps к интернету, с какой скоростью отдает или принимает данные конкретный хост сети, к которому вы обращаетесь. По wifi, в комнате с роутером, для роутера Asus RT N56U скорость с использованием Wireguard интерфейса у меня составила 15-17 мегабит/c. При использовании open vpn на том же самом роутере она была 5-6 мегабит/c. Еще я устанавливал OpenWrt на Raspberry Pi 4, там я добился скорости 85-90 мегабит/c. Из-за чего сделал вывод, что у Asus RT-N56U слабовато железо. У меня есть статья на хабре как это сделать.
Нет. Размер блока (сектора) 2048 байт. В стандартном (негибридном ISO) ненули начинаются с LBA 16. Там располагается Primary Volume Descriptor, по LBA 17 располагается Boot Record Volume.
Нет. ISO-9660 и MBR GPT существуют параллельно. В таблице разделов (как и MBR так и GPT) указывается LBA данных, где располагается раздел ESP (для UEFI загрузки), а по LBA 0 - располагается загрузочный сектор (для BIOS загрузки). Размер блока (сектора) 512 байт. Для ISO-9660 - размер блока 2048 байт. В зависимости от того, куда будет производиться запись образа на флешку или на оптический диск, структра будет рассматриваться по-разному.
Про первые 150 секторов не знал, да и я все-таки думаю, что первые 16 секторов по 2048 байт. Но это никак не помешает, так как 0 и следующие за ним сектора, которые содержат MBR/GPT/Boot сектор нужны только для загрузки с флешки.
Даже, если они и проигнорируются при записи на оптический диск, в чем я сомневаюсь, это никак не повлияет, так как они предназначены только для записи на флеш-накопитель.
Я понимаю, что это сложно осмыслить, сам осмысливал достаточно долго, поэтому советую перечитать статью и ссылку, что я Вам давал.
Гибридный ISO содержит MBR и GPT https://wiki.syslinux.org/wiki/index.php?title=Isohybrid.
$ xxd -l 512 out/bootdisk.iso
$ xxd -l 512 -s 512 out/bootdisk.iso
$ xxd -l 512 -s 1024 out/bootdisk.iso
Наверное моя вина, что не привел в статье, исправлю, добавлю вывод первого сектора в iso файле. Можете такую же комаднду выволнить и посмотреть, что находится в iso популярных Linux дистрибутивов (Ubuntu, Debian и др.) В образах Windows такого нет. Там, как и должно быть первые 16 секторов по 2048 байт содержат 0.
Я нигде не у потреблял словосочетание "гибридный диск". https://wiki.syslinux.org/wiki/index.php?title=Isohybrid.
Для начала можно это почитать https://wiki.syslinux.org/wiki/index.php?title=Isohybrid
Спецификация El Torito не оперирует понятиями файл, она оперирует понятием сектор. В Booting Catalog хранятся LBA для первого сектора, где находится bootloader (для загрузки через BIOS) и LBA первого сектора, где находится образ раздела ESP (для загрузки через UEFI)
В UDF (Universal Disk Format) нет таблицы разделов - это файловая система. В моем понимании таблица разделов содержит информацию о том, какие сектора принадлежат конкретному разделу, а на разделе размещается файловая система. Файловая система, может занимать весь диск (блочное устройство), например, на дискете.
Нет. Мы говорим об образе, который содержит MBR, загрузочный сектор и/или GPT, которые при записи всего образа на флеш-накопитель позволят загрузиться с него.
Вот тут я не понял, что Вы имеете ввиду
Да. Я это рассматриваю в главе "Ещё один способ создания загрузочного флеш-накопителя в Windows", где это делается обычными командами Windows, но это не имеет никакого отношения к гибридному ISO.
Нет, не путаю
Гибридный ISO образ позволяет копировать себя посекторно на флеш-накопитель, так как он содержит таблицу разделов и раздел, с которого будет осуществляться загрузка
Если Вы имеете ввиду гибридный ISO образ, то он содержит MBR и/или GPT, соответственно, если Вы хотите записать весь на загрузочный флеш-накопитель, то Bам нужно посекторно записывать на диск, а не раздел
Это более продвинутая тема, если кратко, то Вам нужно использовать программу xorriso и загрузчик ISOLINUX.
Ну если глубже копнуть, то и Андроид по сути это надстройка над Linux
Для этого нужно использовать make config или make menuconfig вместо make defconfig. Там нужно ответить на множество вопросов или зайти в различные формы, но тут уже Вам конкретно нужно знать, что Вы хотите настроить. Для menuconfig необходимо установить ncurses eще.
Целью статьи было донести информацию так, чтобы книга по LFS воспринималась проще, я не ставил целью получить дистрибутив Linux, который можно полноценно использовать. Можно сказать, что моя статья это введение в сборку Linux.
Если вы имеете в виду Amd64, то я думаю ядро должно запуститься. А вот если для других архитектур, то там кроме системы команд процессора другие загрузчики. Кросскомпиляцию я не затрагивал в этой статье, чтобы она была краткой и удобной для восприятия.
Ну тут можно поспорить, загрузчик в бутсекторе не попадает под определение файла, как именованой области на диске
Что-то мне кажется, что command.com работает с файлами, дисплеем, клавиатурой через прерывания 21h, а не через прерывания BIOS
Я не пробовал, но спасибо за идею.
Я сделал раздел FAT, чтобы можно было в Windows увидеть на флеш-накопителе файлы ядра Linux и образа корневой файловой системы, загрузчика EXTLINUX и его конфигурацию. Изначально я использовал ext4.
Если быть более точным, я использовал ядро Linux и Busybox, который не являeтся частью проекта GNU
Да. Проще в те времена все было. Но если мне не изменяет память, то вроде как три, еще msdos.sys
Если я правильно Вас понял, то прописывать роутинг Вам нужно в Asuse, а не ТP-Linke.
На скорость интернета оказывают следующие факторы: загруженность канала wifi другими точками доступа, качество wifi сигнала, скорость передачи данных от вас к vps серверу( провайдер может ограничивать скорость траффика за границу), производительностьность сервера vps, какую скорость предоставляет провайдер vps к интернету, с какой скоростью отдает или принимает данные конкретный хост сети, к которому вы обращаетесь. По wifi, в комнате с роутером, для роутера Asus RT N56U скорость с использованием Wireguard интерфейса у меня составила 15-17 мегабит/c. При использовании open vpn на том же самом роутере она была 5-6 мегабит/c. Еще я устанавливал OpenWrt на Raspberry Pi 4, там я добился скорости 85-90 мегабит/c. Из-за чего сделал вывод, что у Asus RT-N56U слабовато железо. У меня есть статья на хабре как это сделать.