===== dCore Updates (kernel and initrd) ===== The dCore base system consists of only two files. The first is a Linux kernel, specific to the dCore version being run (eg. vmlinuz-xenial). The second an initrd (compressed Linux file system, eg. dCore-xenial.gz) containing the directory structure, applications and scripts that run the system (eg. BusyBox tools, dCore scripts). True to the Tiny Core philosophy both files are small (kernel <4 MB, initrd ~12 MB). ==== dCore Kernel Updates ==== The kernel used by a dCore port is based on the most recent Tiny Core Linux kernel available when the port is prepared for release, not the Debian or Ubuntu release kernel. It is, however, rebuilt specifically for the dCore port with any custom configuration that may be required, such as systemd-related issues. The kernel config, patched source and READMEs can be found at http://tinycorelinux.net/dCore/x86/import/src/. As kernels provided by dCore have specifically been created to work with the applicable dCore port, ''sce-import'' should not be used to import a Debian or Ubuntu kernel to use with dCore. To keep the kernel compact, numerous kernel modules are prepared and provided separately, such as alsa-modules, bluetooth, graphics, touchscreen, netfilter, scsi, usb-serial, virtualbox, wireless, etc. To view available kernel modules run [[http://wiki.tinycorelinux.net/dcore:sce-searchprebuilt_command|sce-searchprebuilt]] or perform an [[http://wiki.tinycorelinux.net/dcore:sce-import_command|sce-import]] search using the -c (contains option) with the kernel version in use and the keyword 'tinycore', example, ''sce-import -cb 4.2.9-tinycore''. The -b option used in the example ensures any imported kernel modules are loaded at boot, which is recommended to enable the required functionality. If uncertain run ''uname -a'' or ''uname -r'' and confirm the dCore system's kernel version to ensure compatibility before importing modules. These older supported dCore ports use the 3.16.6 kernel: *dCore-jessie *dCore-trusty *dCore-wheezy More recent dCore ports use the 4.2.9 kernel, the same kernel version used in Tiny Core Linux v7: *dCore-stretch *dCore-xenial *dCore-yakkety To provide stability kernels are not updated during the lifespan of the dCore port. It is, therefore, not necessary to check for or apply kernel updates. Similar to most Linux distributions, users with newer hardware should consider utilizing the newest dCore port available. Current dCore kernel and associated initrd files, the only two files needed to get a working system, can be manually downloaded from dCore ports ([[http://tinycorelinux.net/dCore/x86/release/|stable releases]], [[http://tinycorelinux.net/dCore/x86/release_candidates/|release candidates]]) using a web browser or wget. Depending on permissions of the directory, sudo may be needed. Example: wget http://tinycorelinux.net/dCore/x86/release/dCore-trusty/vmlinuz-trusty As dCore boots to RAM, manually replacing a kernel is simple: *Download new kernel. *Recommend backing up old kernel. *Replace the old kernel in dCore's boot directory. *Reboot system to use the new kernel. Ensure the kernel and initrd files utilized are both from the same dCore port. Users upgrading to a newer dCore port will need to ensure the boot loader configuration file is appropriately updated. Updating to a new dCore port is essentially a new install, a fresh /tce directory should be utilized and any desired SCEs will need to be re-imported. **[[http://wiki.tinycorelinux.net/dcore:welcome|> Return to the dCore Wiki Welcome page]]** ==== dCore Initrd Updates ==== Rapid dCore development may result in frequent initrd updates to provide bug fixes and add new features, particularly if tracking release candidates. Running the ''version -c'' command checks if running the latest release and ''version -r'' checks if running the latest release candidate. If a dCore system update is available, permission is requested to wget the latest dCore-*.gz and md5sum files to the boot directory specified in /etc/sysconfig/boot_path. Review the comments in /etc/sysconfig/boot_path to properly configure the file. Reboot to apply the update. Usage options from the 'version –help' command: version - Confirm dCore version, check for release or release candidate (RC) updates, prompted to download an available update to the directory specified in /etc/sysconfig/boot_path. Review this file for details. The partition will auto-mount if /mnt/* is included in the pathway and the entry exists in /etc/fstab. The existing dCore*.gz and *.md5.txt files are automatically backed up before the update is downloaded. Number of backups kept can also be specified. Reboot system to complete the update. Usage: version Display dCore name and version being utilized. version -c Check if using the latest stable release, if different version available prompted to download, wget latest stable release and md5.txt file to directory specified in /etc/sysconfig/boot_path. version -r Check if using the latest release candidate, if an update is available prompted to download, wget latest release candidate and md5.txt file to directory specified in /etc/sysconfig/boot_path. version -l Display dCore name and version being utilized. version -s Display dCore version being utilized. Alternatively, initrd updates can be manually downloaded from [[http://tinycorelinux.net/ports.html|dCore ports.]] via web browser or wget. Depending on permissions of the directory, ''sudo'' may be needed. Example: wget http://tinycorelinux.net/dCore/x86/release/dCore-trusty/dCore-trusty.gz To manually update the initrd file: *Download updated initrd file. *Replace the old initrd file in dCore's boot directory. *Recommend backing up old initrd file. *Reboot system for the update to take effect. In regards to updating SCE extensions, review the [[http://wiki.tinycorelinux.net/dcore:sce-update_command|dCore sce-update Command]]. **[[http://wiki.tinycorelinux.net/dcore:welcome|> Return to the dCore Wiki Welcome page]]**