The officially official Devuan Forum!

You are not logged in.

#1 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2021-12-02 17:53:30

Notes from going thru this guide following the Chimeara stable upgrade.

1. I did a fresh install of Devuan Chimeara using the netinstall.iso install image, downloaded and burned to USB thrumb drive.  This is a non-UEFI install and I installed the default Xfce4 desktop.  That all went well.
2. I did an update and then full-upgrade to the installation
3. To upgrade to the latest Linux Kernel, 5.16-rc3 I followed the guide steps above, and needed to do two changes.
    a. I copied the previous /boot/config-5.10.0-9-amd64  to  my ...src/linux/.config  and changed the CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/debian-uefi-certs.pem"  to CONFIG_SYSTEM_TRUSTED_KEYS=""   else the   make    fails
    b. I needed to install       apt install dwarves         as a prerequisit tool to get the  make  to finish successfully.  make  failed with  'pahole not installed...'
4. after a successfull   make ,  make modules_prepare,  sudo make modules_install  install     then I rebooted.

Whoot, whoot!   system booted into  Linux kernel  5.16-rc3

bkm@optiplex:/boot$ uname -a
Linux optiplex 5.16.0-rc3+ #2 SMP PREEMPT Thu Dec 2 07:11:06 PST 2021 x86_64 GNU/Linux

#2 Re: ARM Builds » Any Chimaera Rpi3/4 builds in the pipeline? » 2021-11-03 02:41:57

>They need testing: https://github.com/pyavitz/binary/releases/tag/images

Here to tell you that the  rpi-devuan-chimaera-5.10.76-ext4-2021-10-30.img.xz  image worked a charm for my RaspberryPi Zero W stick.
I had to comment out the hardline lan eth0 stanza before the wifi worked, but after that it worked well.
Kudos to you on providing those images. Thanks much.

I tried your rpi-img-builder, but it refused to install/run on my Ceres box, said 'The OS you are running is not supported'.   
I'll install Chimaera and try again.  I'd be good to generate my own images with your tool to help.

#3 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2021-09-10 03:36:42

Also, now that I think about it...
You can select     make localyesconfig       or    make localmodconfig     options which will only compile or make available those options/modules that exist for your 'running' machine state. 
In other words you will create a .config that has only those modules that are currently running on your machine.
This make a great, small, compact kernel based on what is running currently...
But, beware!
This might not include certain firmware that is needed for your machine to run successfully.
Often the network card, or other hardware driver is not included, and after you compile/reboot.... your machine might complain or not start successully until you modify the .config to include that firmware or driver.

#4 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2021-09-10 03:26:21

When you use the MAKE script, it will accept a number of options...  if you type    make  -?    or    make  -help   then you can use the TAB completion to list a number of different configurations for the    make     script.
e.g.
Configuration targets:
  config      - Update current config utilising a line-oriented program
  nconfig         - Update current config utilising a ncurses menu based program
  menuconfig      - Update current config utilising a menu based program
  xconfig     - Update current config utilising a QT based front-end
  gconfig     - Update current config utilising a GTK based front-end
  oldconfig   - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
  localyesconfig  - Update current config converting local mods to core
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
  defconfig   - New config with default from ARCH supplied defconfig
  savedefconfig   - Save current config as ./defconfig (minimal config)
  allnoconfig     - New config where all options are answered with no
  allyesconfig    - New config where all options are accepted with yes
  allmodconfig    - New config selecting modules when possible
  alldefconfig    - New config with all symbols set to default
  randconfig      - New config with random answer to all options
  listnewconfig   - List new options
  olddefconfig    - Same as silentoldconfig but sets new symbols to their default value
  kvmconfig   - Enable additional options for guest kernel support
  tinyconfig      - Configure the tiniest possible kernel

Each of these options provide a differnt set of interfaces to select options for a user to explore.

I typically use   make menuconfig   
so that have an easily traversed menu based interface to select, or not, certain Kernel Modules or characteristics.

I select these with some thought and then compile the kernel.
Sometimes it works out great.
Other times it does not.  In those cases I revert back to the previous kernel option and try again.....

In any case, I explore the differing options using the menuconfig, or the nconfig, or other  HELP  > TAB options.... 

Or I create my own CUSTOM .config by selecting various options using  'make menuconfig'  and then editing the .config file with a text editor.

All of those options (146?)  are available for you to explore.  They are various ways to present the various kernel interfaces and/or options... or to limit them.

Part of the fun/beauty is exploring the kernel options given what your hardware/software supports when defining what to use for the kernel, and what to leave out.... that is what 'Tuning' the kernel is all about.

To be safe, select the     make menuconfig     or the     make nconfig     options.... and then just exit out to format the .config for that  next  command =  make

#5 Re: Desktop and Multimedia » What games do you play on Devuan?? » 2021-05-14 22:47:54

I play Kerbel Space Program with several patches, especially Real Solar System and KOS (Kerbal operating system - scripted take offs, etc..). It's on Chimaera with latest kernel, mono (I know, I know...) so that I can play the Linux version.  It's awesome creating rockets to blast off, orbit earth, goto the moon, descend, etc... ).
I also play OpenRTT (rail road Tycoon) several Linux flavor real-time-simulations, etc..

#6 Re: Devuan » Devuan 4 Alpha Installer Iso's » 2021-04-18 21:59:31

I downloaded the netinstall.iso. Burned to CD, after boot selected standard 'Install'..
That all worked well until it asked for a Mirror... when I selected deb.devuan.org it  cycled with error...'Could not access deb.devuan.org'.
I selected ok, and the installer dropped me to the full Advanced list of actions. 
I reselected the Partitions menu which gave me the prompt for a mirror again, and I selected deb.devuan.org. I selected to 'ignore' or worry about it later.  Installer then proceeded to the 'add applications' screen where I selected to add SSH server and then 'Run It' init env.
All that worked fine. The system finished installing. I rebooted fine. RunIt is now my init system. And I can update/full-upgrade. Just smarvillous.

I'm using an old Intell Core2 Duo Dell Optiplex 755... so not a new machine, and no uefi. I'll try the net installer on some of my other machines, give you an update if they have issues.

#7 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2021-04-18 19:48:55

All,

I ran thru this install/config steps by installing Devuan 4.0 Chimera Alpha Desktop as the base and then installing/compiling the v5.12-rc7 linux kernel.
it worked well, yielding the below changes... please note.

> That's right, you need to install both flex and bison. But..., what's the problem installing flex?
Aitor is right, need to install FLEX to make this work.  What issue/error did you see when installing flex?  Or any of the other essentials software?

Also, the essential install list needs to include  'bc'

so updated full list of needed essential installs is -
   sudo apt-get install  libncurses5-dev build-essential  libssl-dev libelf-dev git  bison flex bc

Just so everyone is aware, the size of the linux branch is ~8 GiB

If you can't install or get the menuconfig to work then the nconfig works just fine and yields the same result.

And, after you get this working, then do try the "debhelper" deb-pkg that Untimely suggested. It's very good that it will generate a .deb (and associated) files that you can transport/copy  to another Devuan install, and just install the .deb package to update everything.

Also, yes, I'll come back on occasion when major Devuan builds change or major Linux kernel changes to run thru this with latest builds to validate it still works, or if not post updates.

cheers all.

#8 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2018-08-07 19:07:51

If you're refering to the production Devuan kernel, and how it's built, etc.. then I recommend going to  relay chat  https://webchat.freenode.net/    #Devuan    and ask the question there... maybe from FSmithRed.

#9 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2018-06-03 04:23:53

You are so right... I missed that library.  I'm glad you mentioned it, and I've updated the list of prerequisites.  I've not tried the "debhelper" deb-pkg route yet, so I'm off to give that a shot to see what it gains. 

great catch.

#10 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2018-03-20 20:21:48

I've updated the list of resources/prerequisits to install for make:  removed  module-init-tools, and added   bison and flex

#11 Re: Documentation » Install eudev in ascii » 2017-08-18 16:57:41

Nice, clean upgrade instructions, easy to accomplish and worked well. I've replaced udev with eudev on my ascii test machine.  Also works well with the latest Linux kernel (currently v4.13-rc5).  No freezes, no drops. Works well with USB plug-in/remove, successfully identifies components.  Good stuff!

#12 Re: Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2017-05-01 20:07:54

Devuan RC currently ships with standard kernel.  On my machine...
  Linux devuan 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

Kernel as provided by Debian. So no "custom" patches that Devuan put in (that I'm aware of...).

#13 Documentation » HOWTO: upgrade Devuan (stable) to the latest Linux kernel » 2017-04-23 07:27:48

batmore
Replies: 19
This is a tutorial to upgrade the existing kernel to the latest version, or a version you select

Getting and compiling a Linux kernel need not be hard or complex.  The following tutorial is long, but not difficult. 

This tutorial assumes -

  • you've installed ( or upgraded to) Devuan 

  • you are compiling the kernel on the machine that will use it. Other configurations are do-able, just not part of this tutorial

  • you are compiling a i386 or amd64 system. This tutorial doesn't cover other architectures

  • you have a userid installed on the base system, if you are going to use userid 'root' then skip the 'setup sudo' part   

  • you know the 'root' password

  • you are ok with Grub. Grub update is completed by the 'make' install step. Tutorial uses only this method

Task list -

  • Setup 'sudo' so that you can do Administrator level work without being 'root'

  • Edit  apt-get  'sources.list'  to comment out the CD-ROM source, or move the cdrom definition to last place in the file 

  • Use apt-get to install the several prerequisites

  • Make a directory for the linux source files

  • Use   git   to clone the Linux branch (all of it to start)... roughly 3 GiB

  • Check latest linux version

  • Checkout the latest linux kernel version, or checkout a specific version

  • Get a copy of the kernel config from your current linux install

  • Use 'menuconfig' to prep the kernel .config file

  • Use 'make' to compile the kernel

  • Use 'make' to compile the various modules and to install everything

  • Reboot   to effect the new kernel

  • Check to see that your machine is using the new kernel version

  • Party !!

Detail task steps -

Switch User (su) to root to add your userid to "Sudo"  so that you can do Admin work without being administrator
  Open a Terminal window/screen, at prompt type

    su       

   and press [return/enter key], then provide root password  (default devuan pswd is:  toor )

Add  'Sudo' to your userid

    visudo        then press [return/enter key]

 
   Add your userid (ie:  bkm )  just below the entry for "root"  with same priviliges, etc..

     root    ALL=(ALL:ALL) ALL
     bkm     ALL=(ALL:ALL) ALL

   Press control-x to exit, select  "Y"  when prompted to save changes, then [enter]  key to exit
 
Back at root prompt, type in

     exit      

Edit  sources.list  to comment out the CD-ROM source, or move the line with the definition to last place in file

     sudo nano /etc/apt/sources.list  

     
     Comment out (place a hash symbol  #  at beginning of line) "deb cdrom:..."
     Ctrl-x, then "Y" to save and exit

Use apt-get to install these several software prerequisites.

  
    sudo apt-get update          
    sudo apt-get install  libncurses5-dev build-essential  libssl-dev libelf-dev git  bison flex 

   
      press "Y" at  "Do you want to continue? [Y/n]"  prompt

Make a directory for the linux source files, then change directory into your new source directory.

    mkdir ~/src     
    cd ~/src       

Use   git   to clone the Linux branch (all of it to start)

    git clone [url]https://github.com/torvalds/linux.git[/url]      

Check latest linux version, cd into the git linux directory

    cd ~/src/linux   
    git tag -l              (that"s a lower case "L"  for list )

   

  check the listing for the highest level version, remember that 4.11 comes after 4.1

Checkout the latest linux kernel version after reviewing the git tag list (above)

    git checkout -f        

   OR if you want/know of a specific version then ie:

    git checkout v4.11-rc6   

Get a copy of the kernel config... from our current linux install

     cp /boot/conf*  ~/src/linux/.config      (note the  .config )

Validate the .config  using  'menuconfig'

    make menuconfig

  once in 'menuconfig'   (text based kernel config menu) then use arrow-keys to select <Exit>
   select <Yes> at the save .config prompt

Kick off the kernel compile, use 6 job threads to do the compile

    make -j 6

Kick off the kernel modules prepare, then install the modules

    make modules_prepare
    sudo make modules_install install

After the kernel is compiled, the large number of modules is installed, and GRUB2 is updated, then reboot to move to the new kernel version.

  
    sudo reboot

Once the reboot occurs you"ll see the GRUB boot menu,
  and if you do nothing (for the 5 seconds you"re allowed) then the latest kernel version will be used to boot the machine

Check to see if the machine is using the new kernel version
  Open a terminal session and at terminal prompt, type in:

  uname -a

  you should see something like...

     "Linux devuan 4.11.0-rc4+ #1 SMP Thu Mar 30.. x86_64 GNU/Linux"

Party!!

-------------------------------------------------------------------------------------------------------
Appendix
  - maintaining your Linux kernel, housekeeping... 
         - assumes you start where you left off (above)

To go a bit further, you might want to customize your kernel a bit, or to recycle and compile another kernel.  Some helpful tips.

Gather information about your machine, helps when you want to customize your kernel.  The more you know about your machine, the finer you can tune it.

List and capture machine specific information. Run these commands, then store/print the output for reference.
  List PCI information

   lspci   >  myMachine.info

  or   lspci -v              for more verbose information

  List USB information

   lsusb   >>  myMachine.info

   or    lsusb -v          for more info

   List CPU info

   lscpu   >>  myMachine.info

List Modules loaded and running on your machine

   lsmod  >>  myMachine.info

Print out the    myMachine.info       file and keep for reference.

Clean or Reset your kernel build environment.

Change to your Linux source directory, list the current kernel version, then save your existing .config file to something meaningful... ie: your kernel version!

   cd ~/src/linux
   uname -a 
   cp .config .config-4.11-rc2

Clean up and reset the kernel build env.

    make clean
    make mrproper

Copy your saved kernel configuration to  .config     

    cd ~/src/linux
    cp .config-4.11-rc2  .config

OR list the current /boot/configs and copy the one you want.  ie: latest

    cd ~/src/linux
    ls -la /boot/config
    cp /boot/config-4.11-rc2 .config  

Get the latest kernel updates from https://github.com/torvalds/linux.git

   git fetch

List out the kernel versions.... remember 4.1, 4.11, 4.2...

   git tag -l 

Checkout the latest kernel version  (reset the master head) or select a specific kernel version (see way above).

   git checkout -f

Use steps below to  'make menuconfig' to validate the kernel .config

Now compile your kernel... and reboot.

Tune your kernel   .config   
Should you want to start tuning your kernel (shrinking it to the smallest possible size with the most flexibility) then you must modify the kernel .config   file by using the  'make menuconfig'  utility.  This is where your earlier inventory of machine hardware (above) is important. 

Ensure you've saved off your build environment .config or use the instructions above to make a copy of the exiting /boot/configxxx file.

An easy way to make a succinct kernel configuration, based on the currently loaded kernel modules

    cd ~/src/linux
    make localmodconfig

   check the listed modules against your machine inventory list (the myMachine.info listing). 

   Firmware for USB, networking cards, or wifi things are where most problems occur. 
   If it's ok with you then update your '/etc/apt/sources.list' for  contrib and non-free  repositories.
   firmware-linux-free comes with the standard install, but other firmware installs such as: firmware-linux, firmware-linux-nonfree,     firmware-iwlwifi, firmware-ralink, firmware-realtek, and many others, are in the 'contrib' and 'non-free' repositories.

The 'make'  wizard will ask you to decide on the fate of new/updated modules. 

For new or modified modules you'll be prompted to decide [Yes/No/Module/New] (New):  or similar.  Typically the default is in parens ie: '(New)', and that is probably a safe selection...select [enter] key for default option.
ie:

* PCI GPIO expanders
*
AMD 8111 GPIO driver (GPIO_AMD8111) [N/m/y/?] n
BT8XX GPIO abuser (GPIO_BT8XX) [N/m/y/?] (NEW) 

   go thru each module prompt till you're at the shell prompt again, then use   'make menuconfig'   (way above) to validate it.

Explore your kernel .config file
Explore your kernel .config via the 'make menuconfig'  menu.
Remember to refer to your previously printed/saved machine info and make intelligent decisions on what to remove, what to leave in.

cd ~/src/linux
cp .config-4.11-rc2 .config
make menuconfig

<exit> and <save>  to effect the .config changes, then use 'make' to compile your new, tuned kernel.  Reboot to enact it.

If your new, tuned, kernel doesn't boot
  Don't panic... we have the previous kernel remember? 

Reboot again, and at the restart Kernel Selection menu then use the arrow keys to select the 'Advanced...' options and select a previous kernel.

Board footer

Forum Software