LINUX.ORG.RU

В чём моя ошибка при создании live usb slax'а?

 , ,


0

1

Я полностью повторил инструкцию bormant'а, но flash карта осталась пустой.

У меня были такие проблемы:

После первой же команды fdisk'а связанной с flash картой был такой ответ:

device contains a valid 'iso9660' signature; it is strongly recommended to wipe the device with wipefs(8) if this is unexpected, in order to avoid possible collisions.

Это я исправил командой:

#wipefs --all /dev/sdx
В сообщении от bormant'а было сказано создать раздел DOS, если меня спросит об этом программа, видимо в этом вся проблема.

Вот что написал fdisk при взаимодействии с карточкой:

fdisk /dev/sdb

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x896f6b41.
: m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag
Я ничего не стал делать в предыдущем пункте, а дальше продолжил выполнять действия по инструкции
: t
Selected partition 1
Hex code (type L to list all codes): b
If you have created or modified any DOS 6.x partitions, please see the fdisk documentation for additional information.
Changed type of partition 'Linux' to 'W95 FAT32'.
Тут всё вроде бы нормально, правильно?
: a
Selected partition 1
The bootable flag on partition 1 is enabled now.

: 1
1: unknown command
Вот тут мне уже кажется что-то не так. Ну и..
: w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

#mount -o loop /slax-64bit-9.3.0.iso /mnt/iso
#mount: /dev/loop0 is write-protected, mounting read-only

#sh bootinst.sh
Скрипт выполнился, в XTerm было слово finished, но на flash карте пусто. *С 4 пункта и до конца я повторял всё как было написано в инструкции

Прочти что написано в этом сообщении: Какой live usb дистрибутив выбрать? Как создать загрузочный live usb в 20!8 году? (комментарий)

Можешь попробовать использовать файлы из директории slax/boot, там есть бинарники syslinux (extlinux.архитектуры) и файл mbr.bin, в таком случае заменять системными файлами не придётся, только надо удостовериться, что с файловой системы fat32 запускаются бинарники на исполнение.

Удачи.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Unetbootin по сути делает тоже самое, копирует из iso образа всё на флешку, ищет директорию с файлом syslinux.cfg, далее заменяет в этой директории все файлы c32 системными и ставит syslinux на раздел и в mbr.

Ну а затем, что бы понимать что делаешь.

Ну и трудностей я не вижу в этом, если конечно понимаешь что делаешь.

Удачи.

kostik87 ★★★★★ ()
Ответ на: комментарий от Zhbert

Ну так я и расписал для понимания, по шагам: создай раздел, скопируй файлы, установи загрузчик.

Если использовать системный syslinux и не будут заменены файлы c32, то не будут работать графические меню, т.к. в поставке slax эти файлы от другой версии syslinux, но можно попробовать использовать бинарники из поставки slax, но можно и системный.

Если человеку не объяснять как что-либо работает, а вот как раз использовать unetbootin и прочие утилиты, которые всё делают за тебя, то он так и не будет ничего понимать.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Можешь попробовать использовать файлы из директории slax/boot, там есть бинарники syslinux

syslinux.exe(это для windows,да?)

(extlinux.архитектуры)

Нашёл два файла x32 и x64 это тот же syslinux.exe только для linux?

и файл mbr.bin, в таком случае заменять системными файлами не придётся

Я до этого пытался поставить live usb на другом компьютере, тогда я копировал, или «распаковывал» iso с помощью dd, потом я форматировал карту и скопировал файлы на компьютер, да в том каталоге есть все файлы.

только надо удостовериться, что с файловой системы fat32 запускаются бинарники на исполнение.

Как это сделать?

just_a_brake ()
Ответ на: комментарий от just_a_brake

Я не знаю что ты там делаешь, но вот последовательность действий:

root@sysresccd /root % mkdir /tmp/usb_slax
root@sysresccd /root % mkdir /tmp/slax_iso
root@sysresccd /root % mount /dev/sdb1 /tmp/usb_slax
root@sysresccd /root % mount /livemnt/boot/slax-64bit-9.3.0.iso /tmp/slax_iso
root@sysresccd /root % cp -R /tmp/slax_iso/slax /tmp/usb_slax
root@sysresccd /root % ls /tmp/usb_slax/slax/boot/*.c32
/tmp/usb_slax/slax/boot/ldlinux.c32  /tmp/usb_slax/slax/boot/libcom32.c32  /tmp/usb_slax/slax/boot/libutil.c32  /tmp/usb_slax/slax/boot/vesamenu.c32
root@sysresccd /root % cp /usr/share/syslinux/vesamenu.c32 /tmp/usb_slax/slax/boot/vesamenu.c32
cp: overwrite '/tmp/usb_slax/slax/boot/vesamenu.c32'? y
root@sysresccd /root % syslinux -d /slax/boot /dev/sdb1
root@sysresccd /root % umount /tmp/usb_slax
root@sysresccd /root % cat /usr/share/syslinux/mbr.bin > /dev/sdb
root@sysresccd /root % sync
Раздел уже был, fat32 и флаг активности стоял.

Прочий файлов c32 в systemrescuecd не было, в твоём дистрибутиве их расположение будет другим.

Удачи.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)

Сейчас ещё раз попробовал установить slax. 1) Открыл карту в thunar'е, затем закрыл thunar 2) В console,зашёл под root'ом и скопировал загрузчик вот так: dd if=/dir/slax.iso | pv | dd of=/dev/sdb1 && sync 3) Открыл bootinst.sh в консоли и вот:

Partition /dev/sdb1 seems to be located on a physical disk,
which is already bootable. If you continue, your drive /dev/sdb
will boot only Slax by default.
Press [Enter] to continue, or [Ctrl+C] to abort...

* attempting to install bootloader to ../flash/slax/boot...
./extlinux.x64: not a fat, ntfs, ext2/3/4, btrfs, xfs orufs1/2 filesystem: ../flash/slax/boot
Error installing boot loader.
Read the errors above and press enter to exit...
Вот такие, атрибуты(?) у файла bootinst.sh: -rwxr-xr-x 1 *кроме этого в thunar'е возле иконок всех файлов и каталогов на флешке замок.

just_a_brake ()
Ответ на: комментарий от just_a_brake

В console,зашёл под root'ом и скопировал загрузчик вот так: dd if=/dir/slax.iso | pv | dd of=/dev/sdb1

Ять, где тебе такое было сказано делать? Ты не загрузчик скопировал, а на раздел флешки, где у тебя была файловая система fat32 развернул iso образ, т.е. теперь на разделе у тебя заместо FAT32 файловая система iso9660.

Вот у тебя и замок там.

Прочти ещё раз что тебе я написал.

dd вообще не нужен здесь, просто в файловом менеджере через процедуру копирования копируешь файлы из iso образа, как в винде, выдели директорию slax, нажал правой кнопкой мыши, выбрал пункт «Копировать». Перешёл на флешку, нажал правой кнопкой мыши, выбрал пункт «Вставить».

Всё.

Далее в консоли вводишь команды по установке загрузчика, готово.

Только теперь тебе на флешке нужно заново создать файловую систему fat32, посредством mkfs.vfat.

Если ты не понимаешь что делаешь - сдеалай это в windows, syslinux для windows можно скачать с ftp kernel.org.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

dd вообще не нужен здесь, просто в файловом менеджере через процедуру копирования копируешь файлы из iso образа, как в винде, выдели директорию slax, нажал правой кнопкой мыши, выбрал пункт «Копировать». Перешёл на флешку, нажал правой кнопкой мыши, выбрал пункт «Вставить».

А файл iso на карте так и должен быть нераспакованным?

*Просто когда я пользуюсь dd я вижу что iso распаковывается, а вот cp -r и файловый менеджер просто копирует iso файл.

И как я тогда запущу bootinst.sh?

-Именно для этого вы писали про syslinux? Но как тогда заменить те файлы(с32) в файле iso?

just_a_brake ()
Ответ на: комментарий от just_a_brake

А файл iso на карте так и должен быть нераспакованным?

Тебе уже несколько раз написали: Распаковать iso образ и скопировать из него директорию slax.

Скопировать директорию slax, понимаешь? Это значит что тебе нужно получить доступ к содержимому iso образа, а это значит его нужно распаковать как архив или смонтировать командой mount.

У тебя проблема с логикой или памятью?

*Просто когда я пользуюсь dd я вижу что iso распаковывается,

Он не распаковывается. Команда dd просто посекторно записывает iso файл, который является образом файловой системы ISO9660, т.е. образом снятым грубо говоря с CD диска, слепок. Когда ты его записываешь на раздел флешки /dev/sdb1 то iso образ не распаковывается, а ты просто затираешь файловую систему fat32 и записываешь на раздел файловую систему iso.

а вот cp -r и файловый менеджер просто копирует iso файл.

Не тупи. Тебе сказано: «распакуй» iso файл как архив, нажми по нему правой кнопкой мыши и найди пункт «распаковать» или что-то такое. Либо смонтируй его.

mkdit /tmp/iso
mount slax.iso /tmp/iso -o loop

И как я тогда запущу bootinst.sh?

После копирования директории slax из iso образа перейдёшь на флешку и запустишь, либо поступи как написал я.

-Именно для этого вы писали про syslinux? Но как тогда заменить те файлы(с32) в файле iso?

Ты либо троль, либо чрезмерно глуп и не хочешь думать.

Если ты не троль, то дабы не выглядет глупым прочти сообщения, что я написал тебе ранее и подумай что там написано, а не тупо копируй какие-то команды, тем более которые тебе не советовали делать.

В этом сообщении: В чём моя ошибка при создании live usb slax'а? (комментарий)

я тебе написал последовательность команд, которая приведёт к результату, тебе надо лишь поправить пути. И пересоздать в начале файловую систему на флешке, что бы была FAT32.

Удачи.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от just_a_brake

Уважаемый, прочти команды вот в этом сообщении:
В чём моя ошибка при создании live usb slax'а? (комментарий)
там всё расписано и должна быть понятна последовательность действий.

Объясни почему ты игнорируешь часть сообщений? Или для тебя слишком большой объём информации?

По сути, теперь у тебя в /tmp/iso смонтированный iso образ вот теперь из /tmp/iso копируй директорию slax на флешку, хоть в консоли, хоть через thunar, как хочешь.

Только на флешке в начале создай fat32.

Удачи.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Тебе уже несколько раз написали: Распаковать iso образ и скопировать из него директорию slax.

Скопировать директорию slax, понимаешь? Это значит что тебе нужно получить доступ к содержимому iso образа, а это значит его нужно распаковать как архив или смонтировать командой mount.

У тебя проблема с логикой или памятью?

Всё понятно, но вот именно это монтирование и не работает, поэтому я попробовал скопировать файл с помощью dd. Теперь мне понятно почему появился замок.

После копирования директории slax из iso образа перейдёшь на флешку и запустишь, либо поступи как написал я.

Осталось скопировать файлы..

я тебе написал последовательность команд, которая приведёт к результату, тебе надо лишь поправить пути. И пересоздать в начале файловую систему на флешке, что бы была FAT32.

Я понял и пути к флешке и iso файлу менял, но оно всё-равно не работает.

just_a_brake ()
Ответ на: комментарий от just_a_brake

Всё понятно, но вот именно это монтирование и не работает,

А это что?

&mount ../dir/slax-64bit-9.3.0.iso /tmp/iso -o loop
mount: /dev/loop0 is write-protected, mounting read-only
Я вижу, что всё монтируется.

Смотри вывод команды

mount

Директория /tmp/iso должна быть создана монтируй от root.

Вообще, извини, я написал тебе уже всё что нужно сделать, даже последовательность команд, которая работает.

Если ты не в состоянии просто выполнить, то извини, Linux не для тебя.

Удачи.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Всё смонтировалось и все директории созданы. Всё делаю под root. Я не про то написал — файлов на флешке после всех операций нет.

/mnt/iso он же /tmp/iso есть и на нём открылся тот iso файл.

/mnt/tmp есть, но он тоже пустой. Это флешка, так? Монтировал командной: mount /dev/sdb1 /mnt/tmp

*А ещё у меня флешка два раза примонтирована(из-за этого проблема?) Ко всему прочему iso файл подключённый к /mnt/iso имеет тип iso9660, но это нормально наверно).

**dd я больше не трогаю.

just_a_brake ()
Ответ на: комментарий от kostik87

Вот вывод mount:

/dev/sdb1 on ../dir/C741-F0EF type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
/dev/sdb1 on /mnt/tmp type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro)
../dir/slax-64bit-9.3.0.iso on /mnt/iso type iso9660 (ro,relatime)

just_a_brake ()
Ответ на: комментарий от just_a_brake

Перезагрузись и далее сделай всё по аналогии с этим сообщением: В чём моя ошибка при создании live usb slax'а? (комментарий)

Мне больше сказать нечего.

В другой теме bormant поместил ссылку на инструкцию на youtube.

Удачи.

kostik87 ★★★★★ ()