Перемещение скомпилированного ассемблерного кода к загрузочному сектору USB-устройства

Почему профиль использования здесь?

Предположим, что eth0 был домашней строкой, статическим IP, редактированием:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
IPADDR=192.168.57.200
NETMASK=255.255.255.0
STATIC=yes
ONBOOT=yes

И для другой строки работы, используйте DHCP, редактирование:

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

И удостоверьтесь network сервис запускается на начальной загрузке.

например, если Вы выполняете сервис на уровне 2, 3, можно сделать:

chkconfig --level 23 network on

Перезагрузка для наблюдения изменений.

3
19.05.2017, 17:07
3 ответа

Типичный путь состоит в том, чтобы использовать dd. Вот инструкции от syslinux загрузчика для установки mbr.bin кому: /dev/sda.

dd bs=440 count=1 conv=notrunc if=mbr/mbr.bin of=/dev/sda

Здесь, /dev/sda целевое устройство. (of "выходной файл".)

Вы заменили бы это именем устройства Вашей Карты памяти.

2
27.01.2020, 21:20
  • 1
    , который я не вижу, как я могу сделать эту цель моим USB-устройством. Это пытается сделать это автоматически или что-то? –  Justin 30.05.2013, 19:00
  • 2
    Посмотрите редактирование. dd ничего не знает о USB-устройствах; это до Вашей ОС. –  mattdm 30.05.2013, 19:02
  • 3
    Спасибо. Я попробую это прямо сейчас и сообщу, идет ли что-то не так, как надо. –  Justin 30.05.2013, 19:03
  • 4
    Знайте, что можно стереть HD, если Вы делаете ошибку. –  mattdm 30.05.2013, 19:07
  • 5
    На этот раз, там где никакие ошибки при установке этого. Единственная проблема состоит в том, что VirtualBox не дал мне "Загрузочный носитель, найденный", когда я пытался загрузить его. –  Justin 30.05.2013, 20:19

Хорошо, Вы до действительно минимальной ОС. Теперь необходимо заставить некоторую машину загружать его.

Какую машину Вы используете (Ваш ноутбук, VirtualBox, и т.д.), когда это запускает, требуется некоторый ROM, содержащий код, чтобы загрузить и запустить ОС. Это обычно - что-то как BIOS. Это будет обычно просто выбирать загрузочный сектор настроенного загрузочного носителя и выполнять то, что он находит там.

Следовательно, просто поместите свою минималистическую ОС в загрузочный сектор, и все прекрасно. Если Ваша ОС не является достаточно минималистической, для загрузочного сектора нужен код для загрузки большего количества ОС.

2
27.01.2020, 21:20
  • 1
    Так, я поместил его на загрузочный сектор путем записи его к диску, правильно? Если так, есть ли способ, которым я могу удостовериться, что он пишет в корректный сектор? –  Justin 30.05.2013, 03:11
  • 2
    К какому "диску" Вы пытаетесь "гореть"? Просто используйте карту с интерфейсом USB или изображение VirtualBox. И читайте о загрузочных секторах. (Что они и где они.) –  michas 30.05.2013, 11:34
  • 3
    часов, я на самом деле думал об использовании внутреннего HD или карты с интерфейсом USB. Я исключил идею использовать HD из соображений безопасности, потому что, если что-то идет не так, как надо, я мог бы потерять данные по своей iMac, даже если я использую эмулятор. –  Justin 30.05.2013, 18:16

Я знаю, что вы не просили, но есть простой способ загрузки файлов.bin в VirtualBox.

Во-первых, вам нужно создать файл.vfd -виртуальную дискету VirtualBox. Чтобы создать пустой файл.vfd, выполните это в оболочке:

$ head -c 1474560 /dev/zero > bootloader.vfd

Затем поместите это в оболочку, чтобы включить скомпилированный.bin в файл.vfd:

$ dd status=noxfer conv=notrunc if=[bin_name].bin of=bootloader.vfd

Теперь у вас есть виртуальная дискета. Но что делать дальше?

В VirtualBox создайте новую виртуальную машину. В качестве типа выберите Other, а в качестве версии выберите DOS. Нет необходимости в жестком диске.

После создания виртуальной машины перейдите в ее настройки, перейдите на вкладку «Хранилище» и добавьте выходной файл.vfd на дискету.

И все!

0
20.08.2021, 11:33

Теги

Похожие вопросы