Project

General

Profile

New illumos kernel

Added by Igor Pashev about 7 years ago

illumos kernel finally (after more that a year) is compiled from sources.
Sources are at state of October 2012 with these fixes:
  • 3443 Missing curly-braces in one ixgbe file.
  • 995 boot message: No randomness provider enabled for /dev/random

Note that old zfsutils will not work on new kernel,
and new zfsutils will not work on old kernel.

Known issues:
  • There are warnings about multiple defined symbols in kmdbmod
  • Closed source drivers are missed (more warnings from scsi drivers)

Discuss at or #osdyson at irc.freenode.net.

How to jump onto new kernel:
  1. Create a shapshot of your VM !
  2. Update APT repository:
    apt-get update
    
  3. Make sure you have new bootadm:
    apt-get install bootadm
    
  4. Create a new "BE":
    zfs snapshot dyson/root@new
    zfs clone dyson/root@new dyson/new
    
  5. Mount devices under the new BE:
    mount -F lofs /devices /dyson/new/devices
    
  6. Sweep out old kernel and its configs - FROM JUST CREATED BE!:
    chroot /dyson/new apt-get purge illumos-kernel
    rm -f /dyson/new/etc/devlink.tab
    rm -f /dyson/new/etc/minor_perm
    rm -f /dyson/new/etc/driver_aliases
    rm -f /dyson/new/etc/driver_classes
    rm -f /dyson/new/etc/name_to_major
    rm -f /dyson/new/etc/security/device_policy
    rm -f /dyson/new/etc/security/extra_privs
    rm -f /dyson/new/etc/path_to_inst
    
  7. Install new packages into new "BE"
    chroot /dyson/new apt-get install illumos-kernel zfsutils
    
  8. install 32-bit libraries for componentents which are still 32-bit:
    chroot /dyson/new apt-get install lib32zfs1
    
  9. Create boot archive:
    bootadm update-archive -R /dyson/new
    
  10. Add a new GRUB entry:
    vim /dyson/boot/grub/menu.lst
    
  11. Add these lines (copy previous and edit bootfs and title):
    title New Kernel
    findroot (pool_dyson,0,a)
    bootfs dyson/new
    kernel$ /platform/i86pc/kernel/amd64/unix -B $ZFS-BOOTFS -m verbose -k
    module$ /platform/i86pc/amd64/boot_archive
    
  12. Reboot and remember to choose New Kernel in GRUB menu:
    sync
    reboot
    

Comments