LINUX.ORG.RU

OneFileLinux - не получается собрать

 


2

2

Здравствуйте. Нашел вот такую вещь: https://github.com/zhovner/OneFileLinux

Все прекрасно и нравится, однако, хотелось бы обновить версии утилит и добавить несколько новых, но при попытке что-либо сделать получаю ошибки.

Мой дистрибутив: Archlinux, если это важно.


user@localhost ~/OneFileLinux> sudo ./build.sh
      ____________  
    /|------------| 
   /_|  .---.     | 
  |    /     \    | 
  |    \.6-6./    | 
  |    /`\_/`\    | 
  |   //  _  \\   | 
  |  | \     / |  | 
  | /`\_`>  <_/`\ | 
  | \__/'---'\__/ | 
  |_______________| 
                    
   OneFileLinux.efi 
----------------------------------------------------
Checking root filesystem

ls: cannot access 'alpine-minirootfs/var/cache/apk/': No such file or directory
/dev/ bindings found: alpine-minirootfs/dev/urandom. Unmounting...

Version in banner: v0.3.2
Uncompressed root filesystem size WITHOUT kernel modules: 47M

----------------------------------------------------
Building kernel mobules using 4 threads...

  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  DESCEND  objtool
  CC       /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/str_error_r.o
  CC       /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/pager.o
../lib/str_error_r.c: In function ‘str_error_r’:
../lib/str_error_r.c:25:3: error: passing argument 1 to restrict-qualified parameter aliases with argument 5 [-Werror=restrict]
   snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err);
   ^~~~~~~~
cc1: all warnings being treated as errors
mv: cannot stat '/home/claire/OneFileLinux/linux-4.14.22/tools/objtool/.str_error_r.o.tmp': No such file or directory
make[3]: *** [Build:22: /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/str_error_r.o] Error 1
make[2]: *** [Makefile:46: /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/objtool-in.o] Error 2
make[2]: *** Waiting for unfinished jobs....
pager.c: In function ‘pager_preexec’:
pager.c:36:12: error: passing argument 2 to restrict-qualified parameter aliases with argument 4 [-Werror=restrict]
  select(1, &in, NULL, &in, NULL);
            ^~~        ~~~
cc1: all warnings being treated as errors
mv: cannot stat '/home/claire/OneFileLinux/linux-4.14.22/tools/objtool/.pager.o.tmp': No such file or directory
make[4]: *** [/home/claire/OneFileLinux/linux-4.14.22/tools/build/Makefile.build:96: /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/pager.o] Error 1
make[3]: *** [Makefile:52: /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/libsubcmd-in.o] Error 2
make[2]: *** [Makefile:54: /home/claire/OneFileLinux/linux-4.14.22/tools/objtool/libsubcmd.a] Error 2
make[1]: *** [Makefile:62: objtool] Error 2
make: *** [Makefile:1633: tools/objtool] Error 2
user@localhost ~/OneFileLinux> lsblk

sudo

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

У меня тоже не собралось. Единственное, что могу сказать: для чрута после захода добавляй в $PATH всякие /bin /sbin и иже с ними и некоторые директории надо создать.

ls: cannot access 'alpine-minirootfs/var/cache/apk/': No such file or directory

Ну создай директорию под кеш приложений, ошибки-то читай. У меня позже ошибки были, это всё я сделал.

Как ты мог заметить, сборка основана на минималистичном дистрибутиве alpine. Гонял на малинке его давно, пакеты тебе оттуда пойдут. И теги добавь «onefilelinux», «alpine». Хелп протухший на гитхабе, можно девелоперу написать.

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

Ухты, мои поделки еще кто-то собирает. Но почему вы решили задать вопрос здесь а не в issues на github? Я бы никогда не узнал об этом, если бы мне не прислали ссылку на ваш вопрос.

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

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

Скорее всего, у anonfm123 слишком новый компилятор. Нужно обновить используемую ветку ядра (4.14) до самой новой. Предполагаю, что соберётся.

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

У меня выложено ядро с патчами для SPI клавиатуры на новых макбуках 2017. Не знаю добавили ли ее поддержку в новые ядра.

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

А как делается у вас передача параметров загрузки?

в меню uefi пишется что-то типа bootx64.efi и далее параметры (например nomodeset или debug)?

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

Да, точно так же как в efistub ядре, все параметры в переменной UEFI.

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