сборка_на_базе_mageia_mandriva

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
сборка_на_базе_mageia_mandriva [2024/04/28 08:13] – [Установка на диск вручную] uf4nсборка_на_базе_mageia_mandriva [2024/04/29 14:35] (current) – [Установка на диск вручную] uf4n
Line 24: Line 24:
 Установка базового набора (система будет без пакетного менеждера; только Bash и основные утилиты) Установка базового набора (система будет без пакетного менеждера; только Bash и основные утилиты)
  
-  urpmi bash drakx-installer-sysvinit net-tools iputils dhcpcd --force --root /home/uf4n/myrootfs/+  urpmi bash net-tools iputils dhcpcd --force --root /home/uf4n/myrootfs/
  
 Установка пакетного менеджера Установка пакетного менеджера
Line 30: Line 30:
   urpmi rpm-build wget urpmi --force --root /home/uf4n/myrootfs/   urpmi rpm-build wget urpmi --force --root /home/uf4n/myrootfs/
  
-Чтобы установить систему на диск, нужен загрузчик, утилиты для разбивки и форматирования диска, ядро+Чтобы установить систему на диск, нужен загрузчик, утилиты для разбивки и форматирования диска
  
-  urpmi lilo e2fsprogs kernel-desktop --force --root /home/uf4n/myrootfs/+  urpmi lilo e2fsprogs --force --root /home/uf4n/myrootfs/
  
-Примечание: ядро тянет непонятные зависимости и установка в среде chroot проходит не совсем корректно. Надо устанавливать ядро по-другому.+Примечание: ядро тянет непонятные зависимости и установка в среде chroot проходит не совсем корректно. Надо устанавливать ядро по-другому. Из исходников.
  
 По идее, этого достаточно, чтобы установить систему (вручную) с работающим пакетным менеджером. По идее, этого достаточно, чтобы установить систему (вручную) с работающим пакетным менеджером.
Line 44: Line 44:
 Запаковать в архив образ корневой файловой системы Запаковать в архив образ корневой файловой системы
  
-  tar -cJf MyPreciousRootFS.tar.xz /home/uf4n/myrootfs/*+  cd /home/uf4n/myrootfs/ 
 +  tar -cJf MyPreciousRootFS.tar.xz *
  
 ===== Установка на диск вручную ===== ===== Установка на диск вручную =====
Line 51: Line 52:
  
 2) Отформатировать диск 2) Отформатировать диск
 +
 +создать разделы на /dev/sda
  
   fdisk /dev/sda   fdisk /dev/sda
Line 60: Line 63:
   * Ввести начальный и конечный сектор раздела. Если надо использовать все свободное пространство, оставьте эти поля пустыми.   * Ввести начальный и конечный сектор раздела. Если надо использовать все свободное пространство, оставьте эти поля пустыми.
   * Записать изменения, введя w.   * Записать изменения, введя w.
 +
 +отформатировать разделы
 +
 +  mkfs.ext4 /dev/sda1
  
 3) Распаковать архив с корневой ФС на диск и чрутнуться на него 3) Распаковать архив с корневой ФС на диск и чрутнуться на него
 +
 +  mkdir /mnt/n95 && mount /dev/sda1 /mnt/n95 && cd /mnt/n95
  
   tar -xpJf ../MyPreciousRootFS.tar.xz   tar -xpJf ../MyPreciousRootFS.tar.xz
  
-Указать пакетному менеджеру репозиторий+4) Написать /etc/fstab (/mnt/n95/etc/fstab) 
 + 
 +  proc /proc proc nosuid,noexec,gid=proc 0 0 
 +  devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 0 0 
 +  tmpfs /tmp tmpfs nosuid 0 0 
 +   
 +  /dev/sda1 swap swap defaults 0 0 
 +  /dev/sda2 / ext4 noatime 1 1 
 + 
 + 
 +5) Чрутнуться 
 + 
 +  mount -o rbind /dev /mnt/n95/dev 
 +  mount -o rbind /sys /mnt/n95/sys/ 
 +  mount -t proc none /mnt/n95/proc/ 
 + 
 +  env -i TERM=$TERM SHELL=/bin/bash HOME=$HOME $(which chroot) /mnt/n95 /bin/bash 
 +  source /etc/profile 
 +  export PS1="(chroot) $PS1" 
 +   
 + 
 +6) Указать пакетному менеджеру репозиторий
  
 "Прокинуть" сеть в среду chroot "Прокинуть" сеть в среду chroot
Line 75: Line 105:
   urpmi.addmedia yamirr https://mirror.yandex.ru/mageia/distrib/9/x86_64/media/core/release/   urpmi.addmedia yamirr https://mirror.yandex.ru/mageia/distrib/9/x86_64/media/core/release/
  
-4) Установить загрузчик lilo+7) Собрать ядро 
 + 
 +  urpmi ncurses-devel flex bison 
 + 
 +  cd /boot 
 +  tar -xpJf linux-5.15.79.tar.xz 
 +  cd linux-5.15.79 
 +  make defconfig 
 +  make -j`nproc` 
 +  cp arch/x86_64/boot/bzImage /boot/vmlinuz 
 + 
 +  cd /boot 
 +  gcc -Wall init.c -o /sbin/my_init 
 + 
 +8) Перегенерировать initrd 
 + 
 +[[перегенерация_initrd|Перегенерация initrd]] 
 + 
 +9) Установить загрузчик lilo 
 + 
 +[[установка_и_настройка_загрузчика_lilo|Установка и настройка загрузчика LILO]]
  
-5) Настроить lilo на загрузку нужного ядра и init'a+10) Настроить lilo на загрузку нужного ядра и init'a
  
 ===== Попытка сделать образ с apt оказалась неудачной ====== ===== Попытка сделать образ с apt оказалась неудачной ======
  
-urpmi rpm-build --root /home/uf4n/myrootfs/ +  urpmi rpm-build --root /home/uf4n/myrootfs/ 
-urpmi apt --root /home/uf4n/myrootfs/+  urpmi apt --root /home/uf4n/myrootfs/
  
  
Line 94: Line 144:
 [[пакетный_менеджер_urpmi|Пакетный менеджер urpmi]] [[пакетный_менеджер_urpmi|Пакетный менеджер urpmi]]
  
 +[[https://habr.com/ru/companies/ruvds/articles/702570/|Как самому за один вечер собрать минимальную ОС Linux из исходного кода | Хабр]]
сборка_на_базе_mageia_mandriva.1714292026.txt.gz · Last modified: 2024/04/28 08:13 by uf4n