Arch offers its updates on a rolling release schedule. Arch linux is updated to the newest version with the command:
pacman -Syu
Arch linux will overwrite the kernel when the upstream maintainers release a new kernel package. In many instances, especially in a virtualized environment, where the kernel might be located outside of the running server, it is necessary to tell pacman to ignore upgrading the linux kernel.
To do so, add this line to the pacman configuration file, /etc/pacman.conf:
IgnorePkg = linux
Once this line is modified, any future updates to the system will skip the kernel overwrite.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Please add a NOTE to /etc/pacman.conf stating that you cannot update linux, otherwise your system will not boot anymore. Something like:
NOTE: linux cannot be updated as the kernel is located outside the virtual server!
When are you going to allow kernels to be updated?
want updating of kernels as well
This should be a DigitalOcean default since it is specific to DigitalOcean and not Arch rollouts in general.
this options is now added by default in latest pacman.conf that ships with newer arch linux or when running pacman -Syu is should be in the pacman.conf.pacnew, and you just need to uncomment the line rather than adding, plus you should ignore linux-api-headers as well. so the line should look like this:
Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = linux linux-api-headers
Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = linux linux-api-headers
Adding this line elsewhere WON’T WORK.
Why is this needed? When will be able to upgrade the kernel?
I would really like to have newer kernels too.
Hello, why is this marked as [SOLVED] ? It’s not solved at all, it’s just ignored.
It’s not right if I can’t naturally upgrade the kernel at all.
We’re working on allowing customers to use their own kernels:
http://digitalocean.uservoice.com/forums/136585-digital-ocean/suggestions/2814988-give-option-to-use-the-droplet-s-own-bootloader
http://digitalocean.uservoice.com/forums/136585-digital-ocean/suggestions/3226493-adding-kernel-management-to-the-web-user-interface
How to use last kernels in Digital Ocean droplet
@Sean commented · June 10, 2013 4:29 p.m. This is how I set up my own kernels. (try at your own risk) http://www.youtube.com/watch?v=LHNPTvMwHPE
Following to Sean video (see his post with youtube video) made this with my arch droplet - and very happy! Finally I have normal (not-Frankenstein) arch system as arch naturally is - always up-to-date! Big Thanks, Sean!
There few steps.
Switch to root (if you have sudo installed): sudo su
Install kexec-tools: pacman -S kexec-tools -y
Remove systemd-sysvcompat: pacman -R systemd-sysvcompat
Make you own boot script: nano /tmp/init ======code====================== #!/bin/sh
kexec --load /boot/vmlinuz-linux --initrd=/boot/initramfs-linux.img --append=“root=LABEL=DOROOT init=/usr/lib/systemd/systemd” &&
mount -o ro,remount / &&
kexec -e
exec /usr/lib/systemd/systemd ======end==code========================
Change dir: cd /sbin
Copy our script: cp /tmp/init ./
Make it executable: chmod 0755 init
Go to pacman.conf and enable kernel updates: nano /etc/pacman.conf
… #IgnorePkg = linux …
Change line ‘IgnorePkg = linux’ - comment it with # (and save file!)
Then update system: pacman -Syu
And after reboot you droplet (‘sudo reboot’ not work after remove systemd-sysvcompat): systemctl reboot
Check now you kernel (uname -a) and happy!