Core OS Index

1.4. Prepare for Reboot

Follow this instructions with active chroot, first mount partitions and before chroot mount follow file systems;

        $ 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
        

Now you can chroot;

        $ sudo chroot $CHROOT /usr/bin/env -i \
          HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
          PATH=/bin:/usr/bin:/sbin:/usr/sbin \
          /bin/bash --login
        

1.4.1. Linux Kernel

Core ports have two linux kernels, linux-libre and linux-blob. Port linux-libre kernel is a true source based kernel that respects your freedoms, is x86_64 but not generic configured, select modules (drivers) for your hardware, for example correct graphic driver and disk. Port linux-blob is dangerous, contain blobs (from bad corporations).

Addition to upstream kernel is applied a patch with more cpu families gcc optimizations and grsecurity patch. Check tpe protection configuration on sysctl if breaks functionality during initial configuration.

        # cd /usr/ports/c9-ports/linux-libre
        # pkgmk -d
        # pkgadd /usr/ports/packages/linux-libre#4.9.11-2.pkg.tar.gz
        

1.4.4. Checkup

If you have qemu installed you can see if it boots, in this example sdb is usb external drive;

        # qemu-system-x86_64 -kernel /boot/vmlinuz-linux -initrd /boot/initramfs-linux.img -append root=/dev/sdb /dev/sdb2
        

Debug Grub

Debug initram

        /usr/lib/dracut/skipcpio /boot/initramfs-4.9.11-blob.img | gunzip -c | cpio -i -d
        36875 blocks
        
Core OS Index

This is part of the c9-doc Manual. Copyright (C) 2017 c9 team. See the file Gnu Free Documentation License for copying conditions.