Ядро, binutils, glibc... Пересобранны первым собирался glibc затем binutils, gcc с его свитой.
vasek
Впервые вижу, чтобы програ при запуске считывала, сверяла точки входа и при не совпадении выдавла error.
Я тут подумал возможно это какой-то механизм защиты от злоумышленников
anode
Как вы эту зависимость разрешили?
ЗЫ.Chips, я дал вам ссылку, где openrc и все уже скомпилировано до вас.
Ну я не с самого нуля собирать начал, за основу взял старенькую слаку выкинув всё по максимум и вот её "насилую" хотя я уже прихожу к выводу что нужно было собирать LFS и от неё отталкиваться прикручивая пакетный менеджер...

Сейчас наверное вы посчитаете что я трачу в пустую своё и чужое время но меня всегда интересовала эта тема вот за 10 с лишним лет набрался кое какого опыта и решил попробовать свои силы если ничего не делать то и ничему и не научишься, а если что то делаешь то обязательно возникнут вопросы. За ссылку спасибо почитаю
Вот это рабочий
chip@chip-pc:~$ od -A d -t x1 /usr/lib/grub/i386-pc/kernel.img | grep "00 90 00 00"
0000016 02 00 03 00 01 00 00 00 00 90 00 00 34 00 00 00
0000048 06 00 05 00 01 00 00 00 78 00 00 00 00 90 00 00
0000064 00 90 00 00 8c 6e 00 00 48 e5 00 00 07 00 00 00
0000144 00 90 00 00 f3 a4 be 25 90 00 00 ff e6 bf 8c fe
0000976 b8 00 90 00 00 f7 d8 05 8c fe 10 00 a3 38 14 01
0028496 0b 00 00 00 01 00 00 00 07 00 00 00 00 90 00 00
vasek Об этом?

Это ранний билд grub 2.04 который работает

chip@chip-pc:~$ od -A d -t x1 /usr/lib/grub/i386-pc/kernel.img | grep "74 90 00 00"
chip@chip-pc:~$ file /usr/lib/grub/i386-pc/kernel.img
/usr/lib/grub/i386-pc/kernel.img: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
chip@chip-pc:~$ file /sbin/grub-install
/sbin/grub-install: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped

а это последний билд который не хочет работать
chip@chip-pc:~/BUILD/grub/grub$ od -A d -t x1 ./usr/lib/grub/i386-pc/kernel.img | grep "74 90 00 00"
0000016 02 00 03 00 01 00 00 00 74 90 00 00 34 00 00 00
0000128 89 86 64 01 00 00 b9 30 71 00 00 bf 74 90 00 00
0000976 00 00 0f 09 0f 09 b8 a4 01 11 00 2d 74 90 00 00
0029168 0b 00 00 00 01 00 00 00 06 00 00 00 74 90 00 00
chip@chip-pc:~/BUILD/grub/grub$ file ./usr/lib/grub/i386-pc/kernel.img
./usr/lib/grub/i386-pc/kernel.img: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
chip@chip-pc:~/BUILD/grub/grub$ file ./usr/bin/grub-install
./usr/bin/grub-install: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=80692428660a354735c72cbd5ab10bee6743e303, stripped
chip@chip-pc:~/BUILD/grub/grub$
Я уже думаю написать в багтрекер binutils может там что посоветуют
(((((((((((((

sudo grub-install /dev/sda
Выполняется установка для платформы i386-pc.
grub-install: ошибка: некорректная компиляция «/usr/lib/grub/i386-pc/kernel.img»: начальный адрес равен 0x9074 вместо 0x9000: ошибка в ld.gold?.

У кого какие ещё есть мысли?
vasek Gcc пере собрал правда тут вылезла такая бяка

/usr/bin/python gentpl.py Makefile.util.def Makefile.utilgcry.def > Makefile.util.am.new || (rm -f Makefile.util.am.new; exit 1)
mv Makefile.util.am.new Makefile.util.am
 cd . && /bin/sh /home/chip/BUILD/grub/grub.src/grub-bios/build-aux/missing automake-1.15 --gnu Makefile
/home/chip/BUILD/grub/grub.src/grub-bios/build-aux/missing: строка 81: automake-1.15: команда не найдена
WARNING: 'automake-1.15' is missing on your system.
         You should only need it if you modified 'Makefile.am' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'automake' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>

Что радостно гласит о том что не может найти automake-1.15 хотя у меня установлен automake-1.16. У меня была такая проблема я вот только не помню как её тогда решил пересборка automake не помогла

P.S. Вот яж баран забыл что в скриптие для сборки закоментировал ./autogen.sh
vasek
Так что виноват, поспешил с советом … но, повторюсь, способ по смене адреса при компиляции имеется

Я наверное завтра пере соберу gcc и попробую ещё раз мне всё больше кажется что виноват именно он
У меня была мысль что проблема с gcc (я его корявенько собрал отсутствуют 32х разрядные либы) и всё равно думал пере собирать но и этот вариант попробую