diff options
Diffstat (limited to 'core/reboot.html')
-rw-r--r-- | core/reboot.html | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/core/reboot.html b/core/reboot.html deleted file mode 100644 index 1a4783b..0000000 --- a/core/reboot.html +++ /dev/null @@ -1,232 +0,0 @@ -<!DOCTYPE html> -<html dir="ltr" lang="en"> - <head> - <meta charset='utf-8'> - <title>1.3. Boot</title> - </head> - <body> - - <a href="index.html">Core OS Index</a> - - <h1>1.3. Boot</h1> - - <p>Follow this instructions with active chroot, - first <a href="configure.html#chroot">mount partitions</a> - and before chroot mount follow file systems;</p> - - <pre> - $ sudo mount --bind /dev $CHROOT/dev - $ sudo mount -vt devpts devpts $CHROOT/dev/pts - $ sudo mount -vt tmpfs shm $CHROOT/dev/shm - $ sudo mount -vt proc proc $CHROOT/proc - $ sudo mount -vt sysfs sysfs $CHROOT/sys - </pre> - - <p>Now you can chroot;</p> - - <pre> - $ sudo chroot $CHROOT /usr/bin/env -i \ - HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ - PATH=/bin:/usr/bin:/sbin:/usr/sbin \ - /bin/bash --login - </pre> - - <h2 id="linux">1.3.1. Kernel</h2> - - <p>Install <a href="ports/linux-gnu">linux-gnu</a> port, - linux libre kernel is a true source based kernel that - respects your freedoms. Read <a href="linux.html">linux kernel</a> - for more information.</p> - - <p>Default crux configuration can be obtained from iso, - kernel port depend on <a href="reboot.html#dracut">dracut</a>, grub2 - and grub2-efi. You don't need them to build with pkgmk, to install - boot related tools use prt-get;</p> - - <pre> - $ prt-get depinst linux-gnu - </pre> - - <p>If you don't have the port binary package build it;</p> - - <pre> - # cd /usr/ports/machine-ports/linux-gnu - # pkgmk -d - </pre> - - <p>Install kernel;</p> - - <pre> - # pkgadd /usr/ports/packages/linux-gnu#4.9.86-2.pkg.tar.gz - </pre> - - <h2 id="dracut">1.3.2. Dracut</h2> - - <p>Install dracut;</p> - - <pre> - # cd /usr/ports/machine-ports/dracut - # pkgmk -d - # pkgadd /usr/ports/packages/dracut#044-2.pkg.tar.gz - </pre> - - <p>Review configuration file;</p> - - <pre> - # PUT YOUR CONFIG IN separate files - # in /etc/dracut.conf.d named "<name>.conf" - - # Equivalent to -H - hostonly="no" - - # Mount / and /usr read-only by default. - ro_mnt="no" - - # Equivalent to -m "module module module" - dracutmodules+="dash kernel-modules rootfs-block udev-rules usrmount base fs-lib shutdown" - - # Equivalent to -a "module" - add_dracutmodules+="caps debug" - - # Equivalent to -o "module" - #omit_dracutmodules+="systemd systemd-bootchart systemd-networkd systemd-initrd" - - # SEE man dracut.conf(5) for options - </pre> - - <p>Run dracut to create init ram filesystem for - port linux-blob kernel;</p> - - <pre> - # dracut --kver 4.9.86-gnu - </pre> - - <h2 id="grub">1.3.3. Grub</h2> - - <p>Create grub file in /etc/default/grub with values;</p> - - <pre> - GRUB_DISABLE_LINUX_UUID=false - GRUB_ENABLE_LINUX_LABEL=false - </pre> - - <p><a href="http://www.gnu.org/software/grub/manual/grub.html">Grub Manual</a>, - install grub on MBR of disk sdb;</p> - - <pre> - # grub-install /dev/sdb - Installation finished. No error reported. - </pre> - - <p>If you are installing on removable media;</p> - - <pre> - # grub-install --removable /dev/sdb - Installation finished. No error reported. - </pre> - - <p>grub-mkconfig generates grub.cfg, it will try to discover - available kernels and attempt to generate menu entries for - them;</p> - - <pre> - # grub-mkconfig -o /boot/grub/grub.cfg - Generating grub.cfg ... - Found linux image: /boot/vmlinuz-4.9.86-gnu - Found initrd image: /boot/initramfs-4.9.86-gnu.img - done - # - </pre> - - <p>Check /boot/grub/grub.cfg, if is wrong add menu to - /etc/grub.d/40_custom, replace correct partition from grub-prob - output and correct UUID from fstab or blkid</p> - - <pre> - # grub-probe --target=hints_string / - </pre> - - <h3>1.3.3.1. Rescue iso</h3> - - <p>Simple way to have "resque" system is to mount boot as read only, - this assures that even as root nothing can be changed without remount. - To have different system independent from host grub will have entry to - boot small iso on /boot partition;</p> - - <p>Crux iso is not used because at the moment it fails to - find "crux-media" during or after init.</p> - - <pre> - $ wget http://ftp.nluug.nl/os/Linux/distr/tinycorelinux/7.x/x86/release/CorePlus-current.iso - $ sudo mv CorePlus-current.iso /boot/tinycore.iso - </pre> - - <p>Edit /etc/grub.d/40_custom</p> - - <pre> - - menuentry "Rescue" { - load_video - set gfxpayload=keep - - set isofile="/tinycore.iso" - loopback loop $isofile - linux (loop)/boot/vmlinuz64 loglevel=3 cde - initrd (loop)/boot/corepure64.gz - } - </pre> - - <h2 id="recover">1.3.4. Recover</h2> - - <h3>Root password</h3> - - <p>On grub boot menu press e to edit boot options, change;</p> - - <pre> - linux /vmlinuz-4.9.92-gnu root=UUID=3bab76f8-e714-45f1-8e30-04cc8a09c3d1 ro single - </pre> - - <p>to;</p> - - <pre> - linux /vmlinuz-4.9.92-gnu root=UUID=3bab76f8-e714-45f1-8e30-04cc8a09c3d1 ro init=/bin/bash - </pre> - - <p>Boot and mount;</p> - - <pre> - # mount -a - # mount -o remount,rw / - # passwd root - # mount -o remount,ro / - # sync - </pre> - - <p>Reboot computer using power / reset.</p> - - <h2 id="checkup">1.3.5. Checkup</h2> - - <p>If you have qemu installed you can see if it boots, in this - example sdb is usb external drive;</p> - - <pre> - # qemu-system-x86_64 -kernel /boot/vmlinuz-linux -initrd /boot/initramfs-linux.img -append root=/dev/sdb /dev/sdb2 - </pre> - - <h3>Debug Grub</h3> - - <h3>Debug initram</h3> - - <pre> - /usr/lib/dracut/skipcpio /boot/initramfs-4.9.86-gnu.img | gunzip -c | cpio -i -d - 36875 blocks - </pre> - - <a href="index.html">Core OS Index</a> - <p>This is part of the Tribu System Documentation. - Copyright (C) 2020 - Tribu Team. - See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a> - for copying conditions.</p> - </body> -</html> |