Другое > Система

Usb-creator-gtk - создание загрузочной флешки

(1/10) > >>

Пользователь.:
Давайте разберем что делает программа Usb-creator-gtk.
Всю информацию можно посмотреть здесь: packages.ubuntu.com



Посмотрел код программы

С помощью parted может отформатировать флешку в fat32 (чтобы и на виндовс можно было открыть флешку) с флагами boot, lba


Проверяет версию системы в  .disk/info

Распаковывает iso образ на флешку через 7z

создает загрузочную запись с помощью syslinux и mtools (при этом в корне флешки создается файл ldlinux.sys)

потом переименовывает каталог isolinux и файл isolinux.cfg в syslinux и syslinux.cfg

для Ubuntu 10.10 в файле syslinux.cfg убирает строку с ui

еще может добавить сохранение изменений в лайв режиме,


FSnow:

--- Цитата: Пользователь. от Июнь 01, 2015, 09:29:31 ---Записывает образ командой

dd if=runtu-lite-14.04.1_20140914.iso of=/dev/sdx bs=1M

--- Конец цитаты ---
    Маловероятно. Флешки сделанные с помощью dd if=foo.iso... обычно имеют файловую систему CDFS,
а U-C-G дает на выходе флешки с fat32.

Пользователь.:
Я в питоне не особо разбираюсь, лишь ищу знакомые слова.
Посмотри сам /usr/lib/python3/dist-packages/usbcreator/install.py

Спойлер: ПоказатьСкрыть
--- Код: ---def diskimage_install(self):
        # TODO evand 2009-09-02: Disabled until we can find a cross-platform
        # way of determining dd progress.
        #self.initialize_progress_thread()
        self.progress_message(_('Writing disk image...'))
        failure_msg = _('Could not write the disk image (%s) to the device'
                        ' (%s).') % (self.source, self.device)
       
        cmd = ['dd', 'if=%s' % str(self.source), 'of=%s' % str(self.device),
               'bs=1M']
        if sys.platform == 'win32':
            cmd.append('--size')
            try:
                popen(cmd)
            except USBCreatorProcessException:
                self._failure(failure_msg)
        else:
            import dbus
            try:
                bus = dbus.SystemBus()
                obj = bus.get_object('com.ubuntu.USBCreator',
                                     '/com/ubuntu/USBCreator')
                obj.Image(self.source, self.device, self.allow_system_internal,
                          dbus_interface='com.ubuntu.USBCreator',
                          timeout=MAX_DBUS_TIMEOUT)
            except dbus.DBusException:
                self._failure(failure_msg)

--- Конец кода ---

Пользователь.:
Понял.

Образ img записывается через dd (блок кода diskimage_install)
Образ iso распаковывается через 7z (блок кода cdimage_install)

sfs:
Если там обычный dd гибридного iso - надо ли что-то больше
Если нужно именно гуй - в аттаче мой гуй к dd на yad

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии