LINUX.ORG.RU

установка arch linux через скрипт

 , ,


0

1

Я просто в замешательстве, ну почему оно не работает?? Вот есть код

loadkeys ru
setfont cyr-sun16

echo 'Скрипт сделан на коленке, так что скрести пальцы :)'

echo 'Синхронизация системных часов'
timedatectl set-ntp true

echo 'Создание разделов' ### Configuring and mounting drives ###
						### юзай MiB без primary
parted -s -a optimal /dev/sda 'mklabel gpt' 'mkpart "EFI system partition" fat32 0% 300MiB' 'mkpart "root partition" btrfs 300MiB 100%' 'set 1 esp on'

echo 'Колдуем дальше...'
mkfs.vfat -F32 /dev/sda1
mkfs.btrfs -f /dev/sda2
mount /dev/sda2 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@home
unmount /mnt
mount -o rw,noatime,ssd,space_cache=v2,nodatacow,compress=zstd,discard=async subvol=@ /dev/sda2 /mnt
mkdir -p /mnt/boot/
mount /dev/sda1 /mnt/boot/

Но на виртуалке он не работает нивкакую! Затыкается на mkfs, просто не находит диск! Хотя если эти же команды вводить вручную то все работает! Пожалуйста объясните, что не так?



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

Ответ на: комментарий от anonymous

Там как не прописывай, не дописывай. Если в скрипте чисто прописать parted -s -a optimal /dev/sda ‘mklabel gpt’ ‘mkpart «EFI system partition» fat32 0% 300MiB’ ‘mkpart «root partition» btrfs 300MiB 100%’ ‘set 1 esp on’ эта часть работает. Но вот остальная не работает именно в скрипте, а только руками, что я только не прописывал

LordSlon
() автор топика

Откуда в виртуалке (без лишних телодвижений) возьмется /dev/sda? Вангую, что замена на /dev/vda решит твои проблемы.

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

Попробуй добавить так

bash && mkfs.btrfs -f /dev/sda2

или

sh && mkfs.btrfs -f /dev/sda2

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

можно подробнее? shellcheck ошибок не увидел. Да я там вверху забыл прописать #!/bin/sh -e по запарке, но даже с ним сыпятся ошибки

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

По-видимому, ты сохранил свой скрипт с DOS-like переносами строк «\r\n». Для начала пересохрани его с UNIX-like переносами «\n».

Ну и не мешало бы таки посмотреть список блочных устройств через lsblk в твоей виртуалке, прежде чем накатывать на одно из них ОС.

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

свою систему собрать в один скрипт, интерес скорее спортивный

LordSlon
() автор топика
Ответ на: комментарий от aquadon

Чищу код от мусора

#!/bin/sh -e
parted -s -a optimal /dev/sda 'mklabel gpt' 'mkpart "EFI system partition" fat32 0% 300MiB' 'mkpart "root partition" btrfs 300MiB 100%' 'set 1 esp on'
mkfs.vfat -F32 /dev/sda1
mkfs.btrfs -f /dev/sda2
mount /dev/sda2 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@home
unmount /mnt
mount -o rw,noatime,ssd,space_cache=v2,nodatacow,compress=zstd,discard=async subvol=@ /dev/sda2 /mnt
mkdir -p /mnt/boot/
mount /dev/sda1 /mnt/boot/
echo 'END'

Сбрасываю виртуалку, чистый диск, чистый арч. Делаю тоже самое что и всегда - результат https://i114.fastpic.ru/big/2021/0324/d0/b9283b6466663c7948c89ae380eb48d0.png

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

Можешь посмотреть сюда:

Но, похоже, что тебе это на данный момент сложновато будет.

Могу предложить альтернативный вариант. Установи Arch в свою виртуалку руками, как ты делал на реальном железе, и разберись, на каком моменте возникают проблемы. Когда решишь эти проблемы, просто собери все команды в один скрипт.

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

Еще раз - если я все вот это буду вводить поочередно руками - оно заработает. Проблема не в командах - я уже кучу инфы перерыл. Просто скрипт их почему-то не отрабатывает как надо и я просто не понимаю что не так

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

это не падение, он нормально размечает я проверял.

ок но лучше бы исправить

а вообще меня смущает что он пишет `No such file or directorydev/sda1` прям вот так вот без начального слеша.

похоже на какие то левые UTF-8 символы в скрипте, ты в чем там код пишешь в Microsoft Word?

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

Ага, а теперь сравни это с самой первой строкой твоего скрипта (та, которая начинавется с shebang). Что видишь?

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

Вот прям вводишь символ в символ в zsh и работает без ошибок, а через скрипт - нет? Переносы строк уже исправил в скрипте? Попробуй cat myscript.sh, все ли нормально выводится?

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

В твоем файле по прежнему для перехода на новую строку используется \r\n в linux используется только \n не знаю как это влияет но исправь что бы исключить, это самое очевидное что отличается от ручного ввода команд.

TDrive ★★★★★
()
Ответ на: комментарий от LordSlon
> curl https://pastebin.com/raw/cavzEGqu > test.txt
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   463    0   463    0     0    950      0 --:--:-- --:--:-- --:--:--   995
> xxd test.txt
00000000: 2321 2f75 7372 2f62 696e 2f7a 7368 202d  #!/usr/bin/zsh -
00000010: 650d 0a70 6172 7465 6420 2d73 202d 6120  e..parted -s -a
00000020: 6f70 7469 6d61 6c20 2f64 6576 2f73 6461  optimal /dev/sda
00000030: 2027 6d6b 6c61 6265 6c20 6770 7427 2027   'mklabel gpt' '
00000040: 6d6b 7061 7274 2022 4546 4920 7379 7374  mkpart "EFI syst
00000050: 656d 2070 6172 7469 7469 6f6e 2220 6661  em partition" fa
00000060: 7433 3220 3025 2033 3030 4d69 4227 2027  t32 0% 300MiB' '
00000070: 6d6b 7061 7274 2022 726f 6f74 2070 6172  mkpart "root par
00000080: 7469 7469 6f6e 2220 6274 7266 7320 3330  tition" btrfs 30
00000090: 304d 6942 2031 3030 2527 2027 7365 7420  0MiB 100%' 'set
000000a0: 3120 6573 7020 6f6e 270d 0a6d 6b66 732e  1 esp on'..mkfs.
000000b0: 7666 6174 202d 4633 3220 2f64 6576 2f73  vfat -F32 /dev/s
000000c0: 6461 310d 0a6d 6b66 732e 6274 7266 7320  da1..mkfs.btrfs
000000d0: 2d66 202f 6465 762f 7364 6132 0d0a 6d6f  -f /dev/sda2..mo
000000e0: 756e 7420 2f64 6576 2f73 6461 3220 2f6d  unt /dev/sda2 /m
000000f0: 6e74 0d0a 6274 7266 7320 7375 2063 7220  nt..btrfs su cr
00000100: 2f6d 6e74 2f40 0d0a 6274 7266 7320 7375  /mnt/@..btrfs su
00000110: 2063 7220 2f6d 6e74 2f40 686f 6d65 0d0a   cr /mnt/@home..
00000120: 756e 6d6f 756e 7420 2f6d 6e74 0d0a 6d6f  unmount /mnt..mo
00000130: 756e 7420 2d6f 2072 772c 6e6f 6174 696d  unt -o rw,noatim
00000140: 652c 7373 642c 7370 6163 655f 6361 6368  e,ssd,space_cach
00000150: 653d 7632 2c6e 6f64 6174 6163 6f77 2c63  e=v2,nodatacow,c
00000160: 6f6d 7072 6573 733d 7a73 7464 2c64 6973  ompress=zstd,dis
00000170: 6361 7264 3d61 7379 6e63 2073 7562 766f  card=async subvo
00000180: 6c3d 4020 2f64 6576 2f73 6461 3220 2f6d  l=@ /dev/sda2 /m
00000190: 6e74 0d0a 6d6b 6469 7220 2d70 202f 6d6e  nt..mkdir -p /mn
000001a0: 742f 626f 6f74 2f0d 0a6d 6f75 6e74 202f  t/boot/..mount /
000001b0: 6465 762f 7364 6131 202f 6d6e 742f 626f  dev/sda1 /mnt/bo
000001c0: 6f74 2f0d 0a65 6368 6f20 2745 4e44 27    ot/..echo 'END'

видишь у тебя все переносы строк это два символа? (две точки) а должен быть один

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

исправляется через настройки редактора в котором ты это пишешь, возьми какой нибудь нормальный редактор, у тебя винда или линукс?

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

Типа попробовать сохранить как shell, залить например на github целым файлом и еще раз так запустить? Попробую

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

ну ли atom, vscode, sublime

любой который умеет настраивать символы переноса строки.

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

Я уже не знаю, сохранял с профилем bash script в notepadd++ перезаливал как файл и подгружал, толку 0 опять та же фигня, пока сдаюсь. Может я не правильно curl использую? Так вроде так же archfi запускал нормально. Может попробуешь у себя завиртуалить может хоть проблему выявим?

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

curl ни при чем. Исправляй переносы строк.

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

Опыт конечно получил бесценный)) надеюсь эта тема поможет таким как я) проблема вообще неочевидная оказалась

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

проблема вообще неочевидная оказалась

Вам «да»// полагаю, ещё некоторое время она будет Вас донимать с разных сторон

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.