LINUX.ORG.RU

История изменений

Исправление Smacker, (текущая версия) :

Also: crims0n

p.s. Для желающих ‘пощупать’, требуется выполнить 2 шага (вики) - скопировать из iso папку minios на флешку и запустить /minios/boot/bootinst.sh. Система готова.

А вот морж там плавал. Берём первую попавшуюся флешку. Копируем на неё minios из образа. А хрен бы с ним, вообще все файлы из образа можно кинуть. Идём в minios/boot. И тут нас поджидают весёлые сюрпризы. Во-первых, сделать «bootinst.sh» нельзя, потому что... флешка-то в vfat отформатирована, и атрибута «исполняемый» там нет. Так что делаем «bash bootinst.sh».

Но и тут нас ждёт засада:

$ bash bootinst.sh 
bootinst.sh: строка 18: ./extlinux.x64: Отказано в доступе
Error installing boot loader.
Read the errors above and press enter to exit...


А почему отказано в доступе? А потому что vfat, а оба extlinux.* это тоже бинарники. Поэтому сделать в строке 18
./"$EXTLINUX" --install "$BOOT"

не получится. Следовательно, скрипт надо поменять, чтобы принудительно запускать бинарник без флага «исполняемый». Я за лаконичностью кода гоняться не стал:
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then 
    ARCH=64; 
    EXTLINUX=extlinux.x$ARCH
    /lib64/ld-linux-x86-64.so.2 ./"$EXTLINUX" --install "$BOOT"
else 
    ARCH=32; 
    EXTLINUX=extlinux.x$ARCH
    /lib/ld-linux.so.2 ./"$EXTLINUX" --install "$BOOT"
fi

Ну и конечно, если это сделать без sudo, то получим тепель-тапель
$ bash bootinst.sh 
. is device /dev/sdc1
./extlinux.x64: cannot open device /dev/sdc1
Error installing boot loader.
Read the errors above and press enter to exit...

И вот только через sudo bash bootinst.sh мы наконец-то получаем работающую систему. Она, правда, не умеет в secure boot, но в остальном претензий нет. В общем, есть над чем подумать, камрады.

Исправление Smacker, :

Also: crims0n

p.s. Для желающих ‘пощупать’, требуется выполнить 2 шага (вики) - скопировать из iso папку minios на флешку и запустить /minios/boot/bootinst.sh. Система готова.

А вот морж там плавал. Берём первую попавшуюся флешку. Копируем на неё minios из образа. А хрен бы с ним, вообще все файлы из образа можно кинуть. Идём в minios/boot. И тут нас поджидают весёлые сюрпризы. Во-первых, сделать «bootinst.sh» нельзя, потому что... флешка-то в vfat отформатирована, и атрибута «исполняемый» там нет. Так что делаем «bash bootinst.sh».

Но и тут нас ждёт засада:

$ bash bootinst.sh 
bootinst.sh: строка 18: ./extlinux.x64: Отказано в доступе
Error installing boot loader.
Read the errors above and press enter to exit...


А почему отказано в доступе? А потому что vfat. Поэтому сделать в строке 18
./"$EXTLINUX" --install "$BOOT"

не получится. Следовательно, скрипт надо поменять, чтобы принудительно запускать бинарник без флага «исполняемый». Я за лаконичностью кода гоняться не стал:
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then 
    ARCH=64; 
    EXTLINUX=extlinux.x$ARCH
    /lib64/ld-linux-x86-64.so.2 ./"$EXTLINUX" --install "$BOOT"
else 
    ARCH=32; 
    EXTLINUX=extlinux.x$ARCH
    /lib/ld-linux.so.2 ./"$EXTLINUX" --install "$BOOT"
fi

Ну и конечно, если это сделать без sudo, то получим тепель-тапель
$ bash bootinst.sh 
. is device /dev/sdc1
./extlinux.x64: cannot open device /dev/sdc1
Error installing boot loader.
Read the errors above and press enter to exit...

И вот только через sudo bash bootinst.sh мы наконец-то получаем работающую систему. Она, правда, не умеет в secure boot, но в остальном претензий нет. В общем, есть над чем подумать, камрады.

Исправление Smacker, :

Also: crims0n

p.s. Для желающих ‘пощупать’, требуется выполнить 2 шага (вики) - скопировать из iso папку minios на флешку и запустить /minios/boot/bootinst.sh. Система готова.

А вот морж там плавал. Берём первую попавшуюся флешку. Копируем на неё minios из образа. А хрен бы с ним, вообще все файлы из образа можно кинуть. Идём в minios/boot. И тут нас поджидают весёлые сюрпризы. Во-первых, сделать «bootinst.sh» нельзя, потому что... флешка-то в vfat отформатирована, и атрибута «исполняемый» там нет. Впрочем, в исходном образе ISO его тоже нет, так что как ни копируй, а «+x» сам собой не появится даже если флешку в ext4 отформатриовать. Но у нас флешка Netac и fat32. Так что делаем «bash bootinst.sh».

Но и тут нас ждёт засада:

$ bash bootinst.sh 
bootinst.sh: строка 18: ./extlinux.x64: Отказано в доступе
Error installing boot loader.
Read the errors above and press enter to exit...


А почему отказано в доступе? А потому что vfat. Поэтому сделать в строке 18
./"$EXTLINUX" --install "$BOOT"

не получится. Следовательно, скрипт надо поменять, чтобы принудительно запускать бинарник без флага «исполняемый». Я за лаконичностью кода гоняться не стал:
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then 
    ARCH=64; 
    EXTLINUX=extlinux.x$ARCH
    /lib64/ld-linux-x86-64.so.2 ./"$EXTLINUX" --install "$BOOT"
else 
    ARCH=32; 
    EXTLINUX=extlinux.x$ARCH
    /lib/ld-linux.so.2 ./"$EXTLINUX" --install "$BOOT"
fi

Ну и конечно, если это сделать без sudo, то получим тепель-тапель
$ bash bootinst.sh 
. is device /dev/sdc1
./extlinux.x64: cannot open device /dev/sdc1
Error installing boot loader.
Read the errors above and press enter to exit...

И вот только через sudo bash bootinst.sh мы наконец-то получаем работающую систему. Она, правда, не умеет в secure boot, но в остальном претензий нет. В общем, есть над чем подумать, камрады.

Исходная версия Smacker, :

Also: crims0n

p.s. Для желающих ‘пощупать’, требуется выполнить 2 шага (вики) - скопировать из iso папку minios на флешку и запустить /minios/boot/bootinst.sh. Система готова.

А вот морж там плавал. Берём первую попавшуюся флешку. Копируем на неё minios из образа. А хрен бы с ним, вообще все файлы из образа можно кинуть. Идём в minios/boot. И тут нас поджидают весёлые сюрпризы. Во-первых, сделать «bootinst.sh» нельзя, потому что... флешка-то в vfat отформатирована, и атрибута «исполняемый» там нет. Так что «bash bootinst.sh».

Но и тут нас ждёт засада:

$ bash bootinst.sh 
bootinst.sh: строка 18: ./extlinux.x64: Отказано в доступе
Error installing boot loader.
Read the errors above and press enter to exit...


А почему отказано в доступе? А потому что vfat. Поэтому сделать в строке 18
./"$EXTLINUX" --install "$BOOT"

не получится. Следовательно, скрипт надо поменять, чтобы принудительно запускать бинарник без флага «исполняемый». Я за лаконичностью кода гоняться не стал:
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then 
    ARCH=64; 
    EXTLINUX=extlinux.x$ARCH
    /lib64/ld-linux-x86-64.so.2 ./"$EXTLINUX" --install "$BOOT"
else 
    ARCH=32; 
    EXTLINUX=extlinux.x$ARCH
    /lib/ld-linux.so.2 ./"$EXTLINUX" --install "$BOOT"
fi

Ну и конечно, если это сделать без sudo, то получим тепель-тапель
$ bash bootinst.sh 
. is device /dev/sdc1
./extlinux.x64: cannot open device /dev/sdc1
Error installing boot loader.
Read the errors above and press enter to exit...

И вот только через sudo bash bootinst.sh мы наконец-то получаем работающую систему. Она, правда, не умеет в secure boot, но в остальном претензий нет. В общем, есть над чем подумать, камрады.