Kernel images

This is another one of those questions which shows how much of a linuxnoob I am.
My understanding of kernel compilation is that it generates a kernel image and that this is what the system loads to run. When updating the kernel with pacman, the primary and backup images are rebuilt and replaced. How could I create a third image that wouldn't get updated automatically? My idea is to have a second backup that I will update manually after I'm sure that the latest kernel is stable on my system.
If I've misunderstood something, please let me know what. Thanks.

It's a bit more complicated than that I'm afraid.
The kernel comes pre-compiled, you do not compile it.  The kernel comes in sections, not all of which are needed for all types of hardware.  The core components are always needed, then other sections, called modules, are loaded as necessary.  Some of these modules are needed to read the hard drive, to load modules, which presents a slight problem.  To get arround this problem, these modules are loaded into a special compressed image, which is loaded with the kernel's core components at the beginning of boot.
This mkinitcpio image is the one you see being built when pacman upgrades to a new kernel.  Unfortunatly there is no point keeping the old image when you upgrade to the new kernel, as they will not work together.
If you want to have a backup when upgrading your kernel, you will need a completly separate kernel package. 
Pacman can keep track of two kernels, as long as they have diffrent package names.  If you try to install two diffrent versions of the standard arch package, say kernel26 2.6.27.1 and 2.6.26.5, then pacman will remove the older one in favour of the new one.  You will have to create a different package, called kernel26-xyne, and make sure it doesn't conflict with the standard package anywhere.
The easiest way of doing so is to use ABS to get the PKGBUILD for the standard kernel, and modify the $Localversion, then compile and install the new package.  You could then keep this known-good package as a backup kernel.
More reading on Mkinitcpio: http://wiki.archlinux.org/index.php/Mkinitcpio or type "man mkinitcpio" in a terminal
HTH
Jack
Edit: I've just reaised how complicated that would sound to someone who's not used to messing with the boot process.  It really isn't too bad, maybe someone will come and explain better...
Last edited by Jack B (2008-10-19 20:52:41)

Similar Messages

  • [SOLVED-in-PART] recompiling kernel images, boot diferent from chroot

    Hi, I got into an dead end. Two days ago I was trying to solve some small annoying problems (ethernet driver, dkms not compiling automatically and difference in time hwclock and software clock) with my recent arch installation. I started with the time difference problem, for which I followed some solutions which I found in the internet, but all for no avail. So I postponed this for later and started to tackle the ethernet driver problem (Atheros AR8161) [https://wiki.archlinux.org/index.php/Ne … ros_AR8161]. I followed all described steps, I also did  the mentioned hack. After all, I turned my note at work off and at home on and surprise it found the GRUB menu, I started the option for the system, the disk was checked but, no system came up. It even messed up my window8 system as well. But that is now up and working. After windows came back GRUB was loading and I can start it from GRUB, but not Arch.
    I looked at the grub menu and as far as I could see and understand everything was pointing and the right direction. So I supposed that during the network driver compilation and module load, something went wrong with the images or images source (if they are important for booting). So reading around I got pointed to how to rebuild the kernel images (http://riskofruin.markmccracken.net/201 … image.html). I know the blog title is kreepy... but the procedure sounds very logic, correct and quite strait forward. So I got the latest Arch image, put it on an usb stick and chroot into my installed system.
    When I started the /sbin/depmod I immediately got an error saying that two files where missing for the kernels 3.7.9-2-ARCH. Well as far as I remember my installed system has the latest kernel (3.7.10-1-ARCH). So I though to update my pendrive system and so restart an both kernels would be equal. After restarting, I repeated al chroot protocol and then I saw that I still had the wrong kernel images. I suspect why, but I am not sure, may be the system is all memory loaded when it is booted up? Also, if I saw right, even the images are quite different (pendrive and harddrive). I surfed around to see how can I, in an chroot environment, where the hardrive installed system has an different kernel from the booted system, generate new kernel images for the hardrive system, soin a hope that  I can initialize my hardrive installed system? Is there someone that could guide me through this?
    PS.: Remember I suppose the problem is in the kernel, I do not not how to check for sure.
    Last edited by camarao (2013-03-10 03:10:56)

    Hi Trilby,
    No, just the initramfs. Because I think when I tryed to install my Atheros AR8161 drive I guess that something went wrong with the image or it could be something else.
    Do you think the vmlinuz-linux should also be reconstructed?
    Yesterday at night I found in the internet, someone using the "-k" option, of mkinitcpio, and pointing to the /boot/vmlinuz.linux directory. So if I understood well mkinitcpio using the options "-k", "-c" and "-g" you can point where to put the reconstructed images, vmlinuz and the initramfs, according to the "-c" pointed mkinitcpio.conf. This would allow me to reconstruct both images for the broken system which are from a different kernel version, than the one used to boot up and repair the broken system.
    Two last questions:
    1. Is it necessary to run /sbin/depmod before reconstructiong the images, as mentioned in the link (http://riskofruin.markmccracken.net/201 … image.html)?
    2. Will the two new images be automatically replaced in /boot?
    Sorry for asking this, but IT is just an hobby for me, and my IT knowledge is limited to what I read and understand. I like adventures and sometime dangerous one as well, I learn a lot. But if sometimes I can get a small help I like.
    Well thanks for everything

  • Arch 0.8 CD - "Could not find kernel image: linux"

    I only get
    Unknown keyword in config file.
    Unknown keyword in config file.
    Could not find kernel image: linux
    when I try to boot the arch 0.8 base installer.
    I checked md5 of the iso I downloaded and it seems to be correct:
    1e0e9f3715d3c51129395570e01b9bc2 Archlinux-i686-0.8-Voodoo.base.iso
    What can be done?
    Last edited by Galdona (2007-04-13 18:34:53)

    I wonder if the CD is defective or if it was burnt at a high speed that your CD cannot read.
    In other words, may be you are reading from a coaster.
    R

  • MDM Not Able To Load Linux Kernel Images Larger Than 32MB?

    Hi All,
    I've been building linux initramfs images for use with a Kintex7 (KC705) running a MicroBlaze processor and have been running into an issue with loading the images using the MicroBlaze Debug Module. It seems the system won’t boot if the image is larger than 32 MB. Unfortunately, my use case requires all application code to be contained in the kernel image and I won't have local non-volatile to boot from.
    Some key factors:
    Petalinux 2014.4
    FPGA image built using Vivado 2014.4 on Windows 7
    1GB RAM on KC705
    Loading images using TCL script on XMD on Windows 7
    As an example, I built an image that would fit within the 32 byte "limit" and booted it with no issues:
    Image Type: MicroBlaze Linux Kernel Image (uncompressed)
    Data Size: 31035828 Bytes = 30308.43 kB = 29.60 MB
    MicroBlaze Processor Configuration :
    Version............................9.4
    Optimization.......................Performance
    Interconnect.......................AXI-LE
    MMU Type...........................Full_MMU
    No of PC Breakpoints...............1
    No of Read Addr/Data Watchpoints...0
    No of Write Addr/Data Watchpoints..0
    Instruction Cache Support..........on
    Instruction Cache Base Address.....0x80000000
    Instruction Cache High Address.....0xbfffffff
    Data Cache Support.................on
    Data Cache Base Address............0x80000000
    Data Cache High Address............0xbfffffff
    Exceptions Support................on
    FPU Support.......................off
    Hard Divider Support...............on
    Hard Multiplier Support............on - (Mul64)
    Barrel Shifter Support.............on
    MSR clr/set Instruction Support....on
    Compare Instruction Support........on
    PVR Supported......................on
    PVR Configuration Type.............Full
    Data Cache Write-back Support......off
    Fault Tolerance Support............off
    Stack Protection Support...........off
    Connected to "mb" target. id = 0
    Starting GDB server for "mb" target (id = 0) at TCP port no 1234
    System Reset .... DONE
    Downloading Program -- simpleImage.mb
    section, .text: 0x80000000-0x802a2b27
    section, .init.text: 0x80359000-0x803727a3
    section, .init.ivt: 0x803749c0-0x803749e7
    section, .note.gnu.build-id: 0x00000000-0x00000023
    section, __fdt_blob: 0x802a2b28-0x802aab27
    section, .rodata: 0x802ab000-0x8032085f
    section, __ksymtab: 0x80320860-0x803254f7
    section, __ksymtab_gpl: 0x803254f8-0x80327f17
    section, __ksymtab_strings: 0x80327f18-0x803380f6
    section, __param: 0x803380f8-0x80338417
    section, __modver: 0x80338418-0x80338fff
    section, __ex_table: 0x80339000-0x8033a59f
    section, .sdata2: 0x8033a5a0-0x8033afff
    section, .data: 0x8033b000-0x8035809f
    section, .init.data: 0x803727a4-0x803749bf
    section, .init.setup: 0x803749e8-0x80374cdb
    section, .initcall.init: 0x80374cdc-0x80374fa3
    section, .con_initcall.init: 0x80374fa4-0x80374fab
    section, .init.ramfs: 0x80374fac-0x81d991b3
    section, .bss: 0x81d9a000-0x81dabb7b
    Then, I added a 10MB random file (created using dd from /dev/urandom) to the same rootfs and tried booting again unsuccessfully:
    Image Type: MicroBlaze Linux Kernel Image (uncompressed)
    Data Size: 41521588 Bytes = 40548.43 kB = 39.60 MB
    MicroBlaze Processor Configuration :
    Version............................9.4
    Optimization.......................Performance
    Interconnect.......................AXI-LE
    MMU Type...........................Full_MMU
    No of PC Breakpoints...............1
    No of Read Addr/Data Watchpoints...0
    No of Write Addr/Data Watchpoints..0
    Instruction Cache Support..........on
    Instruction Cache Base Address.....0x80000000
    Instruction Cache High Address.....0xbfffffff
    Data Cache Support.................on
    Data Cache Base Address............0x80000000
    Data Cache High Address............0xbfffffff
    Exceptions Support................on
    FPU Support.......................off
    Hard Divider Support...............on
    Hard Multiplier Support............on - (Mul64)
    Barrel Shifter Support.............on
    MSR clr/set Instruction Support....on
    Compare Instruction Support........on
    PVR Supported......................on
    PVR Configuration Type.............Full
    Data Cache Write-back Support......off
    Fault Tolerance Support............off
    Stack Protection Support...........off
    Connected to "mb" target. id = 0
    Starting GDB server for "mb" target (id = 0) at TCP port no 1234
    System Reset .... DONE
    Downloading Program -- simpleImage.mb
    section, .text: 0x80000000-0x802a2b27
    section, .init.text: 0x80359000-0x803727a3
    section, .init.ivt: 0x803749c0-0x803749e7
    section, .note.gnu.build-id: 0x00000000-0x00000023
    section, __fdt_blob: 0x802a2b28-0x802aab27
    section, .rodata: 0x802ab000-0x8032085f
    section, __ksymtab: 0x80320860-0x803254f7
    section, __ksymtab_gpl: 0x803254f8-0x80327f17
    section, __ksymtab_strings: 0x80327f18-0x803380f6
    section, __param: 0x803380f8-0x80338417
    section, __modver: 0x80338418-0x80338fff
    section, __ex_table: 0x80339000-0x8033a59f
    section, .sdata2: 0x8033a5a0-0x8033afff
    section, .data: 0x8033b000-0x8035809f
    section, .init.data: 0x803727a4-0x803749bf
    section, .init.setup: 0x803749e8-0x80374cdb
    section, .initcall.init: 0x80374cdc-0x80374fa3
    section, .con_initcall.init: 0x80374fa4-0x80374fab
    section, .init.ramfs: 0x80374fac-0x827991b3
    section, .bss: 0x8279a000-0x827abb7b
    I've also tried the same test with a plain Petalinux image and none of my application code or other customizations to rule out a configuration issue. Additionally, I've tried updating Vivado to 2015.2 and rebuilding the FPGA image, also with no success.
    FYI, here is the TCL script used to load the images:
    fpga -f system_top.bit
    connect mb mdm
    after 2000
    dow simpleImage.mb
    con
    disconnect 0
    I've done a bunch of research on initramfs and haven't seen anything that points to a size limit (except as it relates to RAM size). Anyone have an idea what's going on?
    Thanks!
    -Nick

    Some additional information:
    When the system fails to boot, there is no error message displayed either on the XMD window or the linux console output. The console remains blank.
    I have been able to add random files to the ramdisk that do not push the size over the 32MB boundary and the system successfully boots.

  • Problem while loading kernel image through Jtag (on ZEDBOARD)

    Hi all,
    I am trying to  boot kernel image on the Zedboar via Jtag.
    But while running the "run netboot" i am getting the following error
    "wrong image format for bootm command"
    ERROR: can't get kernel image
    I just enclosed the console Screenshort.
    I am requesting to suggest some solotion for the above problem.

    
    Try re-building the image and see if that helps.
    Can you try booting the image using bootm commands and see if you are able to boot?
    Example:
    uboot> tftpboot 0x1000000 /tftpboot/image.ub
    uboot> tftpboot 0x2000000 /tftpboot/urootfs.cpio.gz
    uboot> tftpboot 0x3000000 /tftpboot/system.dtb
    uboot> bootm 0x1000000 0x2000000 0x3000000
    For details steps refer to details in the link
    Regards,
    Achutha

  • [SOLVED] How to restore kernel image after wrong /etc/mkinitcpio.conf

    I wanted to learn a bit more about the kernel and boot, and I'm afraid I cannot start up my ArchLinux anymore.
    I updated the /etc/mkinitcpio.conf to make the boot faster (with this reference: http://kmandla.wordpress.com/2007/01/30 … initcpio/) and executed #mkinitcpio -p kernel26
    I thought that if there was any problem, I could start up with the "fallback image". Certainly, there was a problem (probably I didn´t loaded all the modules required) and when I tried the fallback image, I experimented the same problem:
    Root device '/dev/disk/by-uuid/...' doesn´t exist
    ramfs$
    In fact, both images are the same (or at least they have the same size)
    I tried the ArchLinux liveCD to recover my system. There's no recovery service, so I started up the CD-ROM, mounted my ArchLinux partitions, generated the images and copied into the /boot of my Archlinux partitions. But the same problem is still there.
    What could I do to fix it?
    Thank you in advance
    Last edited by jjjaime (2009-05-10 15:45:45)

    Thank you. I follow your instructions and it worked (perhaps it would be simpler with a "#pacman -Sy kernel26"). I didn't know the command chroot and it's really interesting.
    red_erik wrote:
    I have a similar problem, (read more in this thread), and I solve it by booting off the Live CD, and doing the following:
    (replace sda1 with your / partition)
    cd /
    mount -t ext3 /dev/sda1 /mnt
    mount -t proc proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    mount -o bind /dev /mnt/dev
    chroot /mnt /bin/bash
    mkinitcpio -p kernel26
    after that, I exit chroot, unmount all of my partitions and reboot...:
    cd /
    umount -a
    exit
    cd /
    umount -a
    reboot
    hope this helps...

  • [Solved] Failed to initialize the NVIDIA kernel module

    Hi all,
    I've just made the jump to arch and have a fresh install. I'm having trouble getting the nvidia drivers to work. I am currently using the nouveau drivers without issue.
    The method I am using - after much trial - is:
    - uninstall nouveau and mesa lib
    - install nvidia package
    - remove nouveau module entry in mkinitcpio.conf
    - run `mkinitcpio -p linux`
    - edit .conf in xorg.conf.d with minimal required settings. Currently:
    Section "Device"
    Identifier "device0"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    EndSection
    I have installed the linux-headers package and tried reinstalling nvidia again
    Card:
    01:00.0 VGA compatible controller: NVIDIA Corporation GF106 [GeForce GTS 450] (rev a1)
    Kernel:
    3.12.6-1-ARCH
    My Xorg.0.log looks like:
    [ 3.979]
    X.Org X Server 1.14.5
    Release Date: 2013-12-12
    [ 3.979] X Protocol Version 11, Revision 0
    [ 3.979] Build Operating System: Linux 3.12.5-1-ARCH x86_64
    [ 3.979] Current Operating System: Linux arch.tempera 3.12.6-1-ARCH #1 SMP PREEMPT Fri Dec 20 19:39:00 CET 2013 x86_64
    [ 3.979] Kernel command line: initrd=\initramfs-linux.img root=/dev/sda2 rw
    [ 3.979] Build Date: 13 December 2013 03:11:42PM
    [ 3.979]
    [ 3.979] Current version of pixman: 0.32.4
    [ 3.979] Before reporting problems, check [url]http://wiki.x.org[/url]
    to make sure that you have the latest version.
    [ 3.979] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 3.979] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Jan 4 21:29:46 2014
    [ 3.980] (==) Using config directory: "/etc/X11/xorg.conf.d"
    [ 3.980] (==) No Layout section. Using the first Screen section.
    [ 3.980] (==) No screen section available. Using defaults.
    [ 3.980] (**) |-->Screen "Default Screen Section" (0)
    [ 3.980] (**) | |-->Monitor "<default monitor>"
    [ 3.981] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
    [ 3.981] (**) | |-->Device "device0"
    [ 3.981] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
    [ 3.981] (==) Automatically adding devices
    [ 3.981] (==) Automatically enabling devices
    [ 3.981] (==) Automatically adding GPU devices
    [ 3.984] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
    [ 3.984] Entry deleted from font path.
    [ 3.984] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
    [ 3.984] Entry deleted from font path.
    [ 3.984] (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
    [ 3.984] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
    [ 3.984] Entry deleted from font path.
    [ 3.984] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
    [ 3.984] (==) FontPath set to:
    /usr/share/fonts/misc/,
    /usr/share/fonts/TTF/,
    /usr/share/fonts/Type1/
    [ 3.984] (==) ModulePath set to "/usr/lib/xorg/modules"
    [ 3.984] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
    [ 3.984] (II) Loader magic: 0x7fec20
    [ 3.984] (II) Module ABI versions:
    [ 3.984] X.Org ANSI C Emulation: 0.4
    [ 3.984] X.Org Video Driver: 14.1
    [ 3.984] X.Org XInput driver : 19.1
    [ 3.984] X.Org Server Extension : 7.0
    [ 3.985] (--) PCI:*(0:1:0:0) 10de:0dc4:19da:1184 rev 161, Mem @ 0xf4000000/16777216, 0xe0000000/134217728, 0xe8000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
    [ 3.986] Initializing built-in extension Generic Event Extension
    [ 3.986] Initializing built-in extension SHAPE
    [ 3.986] Initializing built-in extension MIT-SHM
    [ 3.986] Initializing built-in extension XInputExtension
    [ 3.986] Initializing built-in extension XTEST
    [ 3.986] Initializing built-in extension BIG-REQUESTS
    [ 3.986] Initializing built-in extension SYNC
    [ 3.986] Initializing built-in extension XKEYBOARD
    [ 3.986] Initializing built-in extension XC-MISC
    [ 3.986] Initializing built-in extension SECURITY
    [ 3.986] Initializing built-in extension XINERAMA
    [ 3.986] Initializing built-in extension XFIXES
    [ 3.986] Initializing built-in extension RENDER
    [ 3.986] Initializing built-in extension RANDR
    [ 3.986] Initializing built-in extension COMPOSITE
    [ 3.986] Initializing built-in extension DAMAGE
    [ 3.986] Initializing built-in extension MIT-SCREEN-SAVER
    [ 3.986] Initializing built-in extension DOUBLE-BUFFER
    [ 3.986] Initializing built-in extension RECORD
    [ 3.986] Initializing built-in extension DPMS
    [ 3.986] Initializing built-in extension X-Resource
    [ 3.986] Initializing built-in extension XVideo
    [ 3.986] Initializing built-in extension XVideo-MotionCompensation
    [ 3.986] Initializing built-in extension XFree86-VidModeExtension
    [ 3.986] Initializing built-in extension XFree86-DGA
    [ 3.986] Initializing built-in extension XFree86-DRI
    [ 3.986] Initializing built-in extension DRI2
    [ 3.986] (II) LoadModule: "glx"
    [ 3.989] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
    [ 4.075] (II) Module glx: vendor="NVIDIA Corporation"
    [ 4.075] compiled for 4.0.2, module version = 1.0.0
    [ 4.075] Module class: X.Org Server Extension
    [ 4.075] (II) NVIDIA GLX Module 331.20 Wed Oct 30 17:36:48 PDT 2013
    [ 4.076] Loading extension GLX
    [ 4.076] (II) LoadModule: "nvidia"
    [ 4.076] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
    [ 4.082] (II) Module nvidia: vendor="NVIDIA Corporation"
    [ 4.082] compiled for 4.0.2, module version = 1.0.0
    [ 4.082] Module class: X.Org Video Driver
    [ 4.083] (II) NVIDIA dlloader X Driver 331.20 Wed Oct 30 17:16:53 PDT 2013
    [ 4.083] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
    [ 4.083] (++) using VT number 7
    [ 4.090] (II) Loading sub module "fb"
    [ 4.090] (II) LoadModule: "fb"
    [ 4.090] (II) Loading /usr/lib/xorg/modules/libfb.so
    [ 4.091] (II) Module fb: vendor="X.Org Foundation"
    [ 4.091] compiled for 1.14.5, module version = 1.0.0
    [ 4.091] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 4.091] (WW) Unresolved symbol: fbGetGCPrivateKey
    [ 4.091] (II) Loading sub module "wfb"
    [ 4.091] (II) LoadModule: "wfb"
    [ 4.091] (II) Loading /usr/lib/xorg/modules/libwfb.so
    [ 4.092] (II) Module wfb: vendor="X.Org Foundation"
    [ 4.092] compiled for 1.14.5, module version = 1.0.0
    [ 4.092] ABI class: X.Org ANSI C Emulation, version 0.4
    [ 4.092] (II) Loading sub module "ramdac"
    [ 4.092] (II) LoadModule: "ramdac"
    [ 4.092] (II) Module "ramdac" already built-in
    [ 4.093] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
    [ 4.093] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
    [ 4.093] (==) NVIDIA(0): RGB weight 888
    [ 4.093] (==) NVIDIA(0): Default visual is TrueColor
    [ 4.093] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
    [ 4.094] (**) NVIDIA(0): Enabling 2D acceleration
    [ 4.095] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
    [ 4.095] (EE) NVIDIA(0): system's kernel log for additional error messages and
    [ 4.095] (EE) NVIDIA(0): consult the NVIDIA README for details.
    [ 4.095] (EE) NVIDIA(0): *** Aborting ***
    [ 4.095] (EE) NVIDIA(0): Failing initialization of X screen 0
    [ 4.095] (II) UnloadModule: "nvidia"
    [ 4.095] (II) UnloadSubModule: "wfb"
    [ 4.095] (II) UnloadSubModule: "fb"
    [ 4.095] (EE) Screen(s) found, but none have a usable configuration.
    [ 4.095] (EE)
    Fatal server error:
    [ 4.095] (EE) no screens found(EE)
    [ 4.095] (EE)
    Please consult the The X.Org Foundation support
    at [url]http://wiki.x.org[/url]
    for help.
    [ 4.095] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
    [ 4.095] (EE)
    [ 4.107] (EE) Server terminated with error (1). Closing log file.
    The only entry I found in `dmesg | grep nvidia` related to nvidia-drm, and seemed to say it was loaded successfully. I didn't save the exact entry and i've reinstalled nouveau now so that I could post this.
    Any help much appriciated. I've been at this for a while. Learning a lot in the process!
    Last edited by gnibbler (2014-01-04 22:31:49)

    Success! Several days of trying various things and I finally give in and make a post to this forum. One more attempt - which was only really so that I could add modprobe info to this post - and it works.
    I had at some stage installed the driver xf86-video-nv, and this may have been causing the clash. I un-installed it, and followed the procedure above to reinstall nvidia.
    I think the main hang up I'd had is that I had not been rebuilding my kernel image with mkinitcpio after installing nvidia during my previous attempts.
    I hope some info in here helps some other stuck archer.
    Edit: Thanks graysky. I had found the right nvidia driver using the arch wiki and followed this advice to remove the nouveau hook. Much appriciated.
    Last edited by gnibbler (2014-01-04 22:35:00)

  • [SOLVED]Unable to boot into the kernel I compiled, kernel panic

    I try to compile a kernel myself and boot into it, and I use virtualbox to test it. (arch guest inside my arch host)  I first copy /proc/config.gz of my guest system to the linux source code directory, rename it to .config, and just compile it. After that I copy the image under arch/x86/bzImage to /boot directory, then I follow the instruction given by the arch wiki to create an entry in grub. Here is my /etc/grub.d/40-custom:
    #!/bin/sh
    exec tail -n +3 $0
    menuentry 'Custom Entry' {
    set root=(hd0,msdos1)
    echo 'Loading Modified Linux'
    linux /boot/vmlinuz-modified
    echo 'Loading initial ramdisk ...'
    initrd /boot/initramfs-linux.img
    following is this command:
    grub-mkconfig -o /boot/grub/grub.cfg
    But after reboot I cannot boot into the new kernel, it shows "unable to mount root fs on unknown-block(0,0):
    https://img.vim-cn.com/e5/5227d8d4cc07c … ce81ee.png (choose "Advanced Option for Archlinux-> With Linux Modified")
    https://img.vim-cn.com/a9/12869edfbbca1 … 649380.png (choose "Custom Entry" on the first page directly)
    I have searched for a while but didn't find a solution. Is there anything I'm doing wrong, please?
    Last edited by Frefreak (2015-05-07 10:48:05)

    Head_on_a_Stick wrote:
    Frefreak wrote:I think I did compress it, if I remember correctly. (I actually built it several times)
    I am referring to /proc/config.gz -- this is a gzip archive and needs to be decompressed before you can use it to compile your kernel image.
    This isn't strictly true, it just makes the process easier because you're starting with a sane .config (assuming you're booted into one of Arch's official kernels at least). You can start from scratch, but you need to know what you're doing.
    Frefreak wrote:Ok, I'll rebuild everything from the beginning later.
    No need to rebuild everything, just generate an initramfs for the custom kernel. The initramfs contains modules that are specific to a the kernel image that they were generated for; this is probably why /boot/initramfs-linux.img isn't working for you.

  • [HOW-TO] Ati Radeon & Kernel 2.6 - Updated

    [HOW-TO] Ati Radeon & Kernel 2.6
    Updated on new ati-drivers 4.3.0
    [CONTENTS]
        1.1 Requirements
        2.0 Compiling Kernel
        2.1 Configuring Bootloader [GRUB]
        3.0 Building & Generating modules
        3.1 Pacthing modules
        3.2 Compiling modules
        3.3 Adding modules boot runlevel
        4.0 fglrxconfig
        4.1 Xorg.conf   NEW!!
    [1.1] Requirements
        (All Intel & AMD users)
        1. Ati Radeon 9xxx (Mine 9600 Sapphyre pro)
        2. Kernel 2.8.x (Current 2.8.1)
        3. wget, rpmunpack, cpio
        4. PKGBUILD [FILE]
        5. ati-drivers.install [FILE]
        6. fglrx-2.6-vmalloc-vmaddr.patch   New!!!
    Those are code for listed files:
    PKGBUILD New!!!
    pkgname=ati-drivers
    pkgver=3.11.1
    pkgrel=1
    pkgdesc="Proprietary (binary) drivers for ATI Radeon Cards."
    url="www.ati.com/support/driver.html"
    depends=('xfree86')
    install="$pkgname.install"
    source=(http://www2.ati.com/drivers/linux/fglrx-4.3.0-$pkgver.i386.rpm)
    #md5sums=('9f7802ee0bbdeb5172673027056e789d')
    # build-time deps: rpmunpack, cpio, gzip
    build() {
    cd $startdir/pkg
    rpmunpack < $startdir/src/fglrx-4.3.0-$pkgver.i386.rpm | gzip -d | cpio -idmuv
    chmod 755 -R .
    mv opt/kde3 opt/kde
    mkdir -p opt/gnome/share
    mv usr/share/gnome/apps/ opt/gnome/share
    rm -rf usr/share/gnome
    usr/share/applnklib/modules/fglrx/{fglrx*.o,fglrx_info.txt}
    usr/X11R6/bin/LICENSE.{GPL,QPL}
    usr/X11R6/bin/*.bz2
    ati-drivers.install   New!!!
    post_install() {
    cat << EOF
    NOTE
    To create an fglrx module for your system, do:
    cd /lib/modules/fglrx/build_mod
    ./make.sh
    cd ..
    ./make_install.sh
    Make sure you have your full kernel tree at /usr/src/linux
    Then initialize "fglrxconfig" to create an XF86Config
    for your graphics card.
    EOF
    post_upgrade() {
    /bin/true
    pre_remove() {
    /bin/true
    op=$1
    shift
    $op $*
    fglrx-2.6-vmalloc-vmaddr.patch New!!!
    --- firegl_public.c 2004-03-17 17:00:29.000000000 -0500
    +++ /lib/modules/fglrx/build_mod/firegl_public.c 2004-07-18 16:09:46.000000000 -0500
    @@ -2010,8 +2010,8 @@
    pMmPage = virt_to_page(kaddr);
    #endif /* LINUX_VERSION_CODE < 0x020400 */
    - atomic_inc(&(pMmPage->count)); /* inc usage count of page */
    +// atomic_inc(&(pMmPage->_count)); /* inc usage count of page */
    + get_page(pMmPage);
    #if LINUX_VERSION_CODE >= 0x020400
    // __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%pn",
    // address, page_address(pMmPage));
    [2.0] Compiling kernel
    <*> MTRR
    e poi
    <M> /dev/agpgart (AGP Support)                                                           
    < >   ALI chipset support                                                                 
    < >   ATI chipset support                                                                 
    < >   AMD Irongate, 761, and 762 chipset support                                           
    < >   AMD Opteron/Athlon64 on-CPU GART support                                             
    < >   Intel 440LX/BX/GX, I8xx and E7x05 chipset support                                   
    < >   Intel i865 chipset support                                                           
    < >   NVIDIA nForce/nForce2 chipset support                                               
    < >   SiS chipset support                                                                 
    < >   Serverworks LE/HE chipset support                                                   
    <M>   VIA chipset support                                                                 
    < >   Transmeta Efficeon support                                                           
    [*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)                       
    < >   3dfx Banshee/Voodoo3+                                                               
    < >   3dlabs GMX 2000                                                                     
    < >   ATI Rage 128                                                                         
    < >   ATI Radeon                                                                           
    < >   Matrox g200/g400                                                                     
    < >   SiS video cards                                                                     
    make dep && make clean bzImage modules modules_install
    [/code]
    when finished,mount boot partition (if not already mounted)
    [code]
    mount /boot
    [/code]
    and copy kernel image to the boot directory, so the new kernel loads after computer restart. Pay attention to not overwrite existent kernels images in boot partition. For security issues rename it as ***_new.
    [code]
    cp arch/i386/boot/bzImage /boot/vmlinuz_new
    [/code]
    [2.1] Configuring Bootloader [GRUB]
    Edit your boot-loader config file.
    I currently use grub instead of lilo.
    [code]
    nano /boot/grub/menu.lst
    [/code]
    Add a new sub-menu (this is an example) Check on the forum how to set-up a bootloader).
    [code]
    # (0) Arch Linux
    title  Arch Linux  [/boot/vmlinuz_new]
    root   (hd0,3)
    kernel (hd0,1)/vmlinuz_new root=/dev/discs/disc0/part4 ro
    [/code]
    REBOOT
    [3.0] Building ati-drivers
    Make a directory under /var/abs/local called ati
    [code]
    mkdir /var/abs/loca/ati
    [/code]
    copy in it the two files PKGBUILD ati-drivers.install
    [code]
    cp /path/to/file/PKGBUILD /var/abs/local/ati
    cp /path/to/file/ati-drivers.install /var/abs/local/ati
    [/code]
    start building package
    [code]
    makepkg -c
    [/code]
    if all goes well, this will be the output
    [code]
    [root@CippaLippa ati]# makepkg -c
    ==> Making package: ati-drivers
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    ==> .......
    ==> .......
    ==> Compressing man pages...
    ==> Stripping debugging symbols from libraries...
    ==> Stripping symbols from binaries...
    ==> Generating .PKGINFO file...
    ==> Copying install script...
    ==> Generating .FILELIST file...
    ==> Compressing package...
    ==> Cleaning up...
    ==> Finished making: ati-drivers  (Tue Feb 10 15:11:13 CET 2004)
    [root@CippaLippa ati]#
    [/code]
    It downloads necessary files and generates a file called ati-drivers-3.9.x.pkg.tar.gz
    Install it using:
    [code]
    pacman -A ati-drivers-3.x.x.pkg.tar.gz
    [/code]
    This installation generates a folder in /lib/modules/fglrx
    Change directory
    [code]
    cd /lib/modules/fglrx
    [/code]
    [3.1] Pacthing modules
    To patch modules simply copy the two files .patch listed on top in this directory. Intel users must only install fglrx-2.6-vmalloc-vmaddr.patch, AMD users both.
    [code]
    cp /path/to/patch/fglrx-2.6-vmalloc-vmaddr.patch /lib/modules/fglrx
    [/code]
    change directory
    [code]
    cd build_mod
    [/code]
    to patch the file firegl_public.c
    [code]
    patch -b firegl_public.c ../fglrx-2.6-vmalloc-vmaddr.patch
    [/code]
    It's time to compile the modules
    [code]
    sh make.sh
    [root@CippaLippa build_mod]# sh make.sh
    ATI module generator V 2.0
    ==========================
    initializing...
    probing for VMA API version...
    cleaning...
    patching...
    make[1]: Leaving directory `/usr/src/linux-2.6.x
    build succeeded with return value 0
    duplicating results into driver repository...
    done.
    ==============================
    You must change your working directory to /lib/modules/fglrx
    and then call ./make_install.sh in order to install the built module.
    ==============================
    [/code]
    change directory as you see on screen
    [code]
    cd /lib/modules/fglrx
    [/code]
    and compile in
    [code]
    sh make_install.sh
    [/code]
    if will be no errors in output, module fglrx were perfectly compiled in /lib/modules/2.6.x/kernel/drivers/char/drm/ and named "fglrx.ko"
    [3.2] Adding modules boot runlevel
    open /etc/rc.conf
    [code]
    nano /etc/rc.conf
    [/code]
    go to line MODULES= and add
    [code]
    agpgart via-agp fglrx rtc  <== make sure always in this order
    [/code]
    (if your motherboard is "VIA" equipped, else check what do you have: the same configured in kernel under /dev/agpgart (AGP Support)   
    [4.0] fglrxconfig
    Ati-drivers comes with a modified xf86config, utility to generate XF86config files.
    Run
    [code]
    fglrxconfig
    [/code]
    and a welcome screen appear
    [code]
    ==============================================================================
    ATI - FIRE GL - BE THE CREATOR
    ==============================================================================
    This program will create the ATI "XF86Config-4" file
    - based on your selections - for the below listed boardtypes...
             - ATI Radeon 8500 / 9100
             - ATI FireGL 8700 / 8800 / E1
             - ATI FireGL T2
             - ATI Radeon 9000
             - ATI Radeon 9200
             - ATI Radeon 9500
             - ATI Radeon 9600
             - ATI Radeon 9700
             - ATI Radeon 9800
             - ATI FireGL Z1 / X1 / X2
             - ATI Mobility M9
             - ATI Mobility FireGL 9000
             - ATI Mobility M9PLUS
    The "XF86Config-4" file usually resides in /etc/X11.
    Press [Enter] to continue, press 'q'&[Enter] or [Ctrl]+'c' to abort.
    [/code]
    follow the on-screen steps leaving default settings. Configure only mouse, keyboard, screen frequencies and resolution. At least when prompt for:
    [code]
    External AGPGART module:
    external agpgart module execute this on the commandline (as root):
        /sbin/insmod agpgart
    or alternatively configure your system to auto load the module.
    Do you want to use the external AGP GART module (y/n)? [y]
    [/code]
    be sure to answer "YES".
    [4.1] Xorg.cong New!!!
    Xorg configuration file, resides in /etc/X11.
    It is XF86config renamed and Will replace soon it, with the new video system based on Xorg.
    This is my xorg.conf file:
    [code]
    Section "dri"
        Mode 0666
    EndSection
    Section "Module"
        Load        "dbe"      # Double buffer extension
        SubSection  "extmod"
          Option    "omit xfree86-dga"   # don't initialise the DGA extension
        EndSubSection
        Load        "type1"
        Load        "freetype"
        Load        "glx"   # libglx.a
        Load        "dri"   # libdri.a
    EndSection
    Section "Files"
        RgbPath    "/usr/X11R6/lib/X11/rgb"
        FontPath   "/usr/X11R6/lib/X11/fonts/local/"
        FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
        FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
        FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
        FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
        ModulePath "/usr/X11R6/lib/modules"
    EndSection
    Section "InputDevice"
        Identifier    "Keyboard1"
        Driver    "Keyboard"
        Option "AutoRepeat" "500 30"
        Option "XkbRules"    "xfree86"
        Option "XkbModel"    "pc105"
        Option "XkbLayout"    "it"
    EndSection
    Section "InputDevice"
        Identifier    "Mouse1"
        Driver "mouse"
        Option "Protocol"   "ImPS/2"
        Option "ZAxisMapping"   "4 5"
        Option "Device"     "/dev/usbmouse"
    EndSection
    Section "Monitor"
        Identifier  "Monitor0"
        HorizSync   31-96
        VertRefresh 55-160
        Option "DPMS"
    EndSection
    Section "Device"
        Identifier  "Standard VGA"
        VendorName  "Unknown"
        BoardName   "Unknown"
    EndSection
    Section "Device"
        Identifier                          "ATI Graphics Adapter"
        Driver                              "fglrx"
        #Option                              "NoDDC"
        Option "no_accel"                   "no"
        Option "no_dri"                     "no"
        Option "DesktopSetup"               "0x00000000"
        Option "MonitorLayout"              "AUTO, AUTO"
        Option "IgnoreEDID"                 "off"
        Option "HSync2"                     "unspecified"
        Option "VRefresh2"                  "unspecified"
        Option "ScreenOverlap"              "0"
        Option "NoTV"                       "yes"     
        Option "TVStandard"                 "NTSC-M"     
        Option "TVHSizeAdj"                 "0"     
        Option "TVVSizeAdj"                 "0"     
        Option "TVHPosAdj"                  "0"     
        Option "TVVPosAdj"                  "0"     
        Option "TVHStartAdj"                "0"     
        Option "TVColorAdj"                 "0"     
        Option "GammaCorrectionI"           "0x00000000"
        Option "GammaCorrectionII"          "0x00000000"
        Option "Capabilities"               "0x00000000"
        Option "VideoOverlay"               "on"
        Option "OpenGLOverlay"              "off"
        Option "CenterMode"                 "off"
        Option "PseudoColorVisuals"         "off"
        Option "Stereo"                     "off"
        Option "StereoSyncEnable"           "1"
        Option "FSAAScale"                  "1"
        Option "FSAADisableGamma"           "no"
        Option "FSAACustomizeMSPos"         "no"
        Option "FSAAMSPosX0"                "0.000000"
        Option "FSAAMSPosY0"                "0.000000"
        Option "FSAAMSPosX1"                "0.000000"
        Option "FSAAMSPosY1"                "0.000000"
        Option "FSAAMSPosX2"                "0.000000"
        Option "FSAAMSPosY2"                "0.000000"
        Option "FSAAMSPosX3"                "0.000000"
        Option "FSAAMSPosY3"                "0.000000"
        Option "FSAAMSPosX4"                "0.000000"
        Option "FSAAMSPosY4"                "0.000000"
        Option "FSAAMSPosX5"                "0.000000"
        Option "FSAAMSPosY5"                "0.000000"
        Option "UseFastTLS"                 "0"
        Option "BlockSignalsOnLock"         "on"
        Option "UseInternalAGPGART"         "no"
        Option "ForceGenericCPU"            "no"
        BusID "PCI:1:0:0"    # vendor=1002, device=4150
        Screen 0
    EndSection
    Section "Screen"
        Identifier  "Screen0"
        Device      "ATI Graphics Adapter"
        Monitor     "Monitor0"
        DefaultDepth 24
        #Option "backingstore"
        Subsection "Display"
            Depth       24
            Modes       "1280x1024" "1024x768" "800x600"
            ViewPort    0 0  # initial origin if mode is smaller than desktop
        EndSubsection
    EndSection
    Section "ServerLayout"
        Identifier  "Server Layout"
        Screen "Screen0"
        InputDevice "Mouse1" "CorePointer"
        InputDevice "Keyboard1" "CoreKeyboard"
    EndSection
    [/code]
    REBOOT
    Start in X with kde, gnome or othet window manager.
    If X does not start you maybe made something wrong, retry from the beginning. Else if it starts, check if DRI os working
    [code]
    fgl_glxgears
    [/code]
    if it is working, a rotating cube will appear in a new windows, and if it is so.....
    ENJOY
    **SORRY FOR MY ENGLISH **

    Using kernel 2.6.2
    I'm starting over again but now cannot get the PKGBUILD to complete.  I had this problem this morning as well, but after editing the PKGBUILD file did eventually get it to complete.  This is the output of makepkg -c using the PKGBUILD as posted:
    [root@Arch2 ati]# makepkg -c
    ==> Making package: ati-drivers  (Wed Feb 11 16:11:02 GMT 2004)
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    ==>     Downloading fglrx-glc22-4.3.0-3.2.8.i586.rpm
    --16:11:02--  http://www2.ati.com/drivers/linux/fglrx … 8.i586.rpm
               => `fglrx-glc22-4.3.0-3.2.8.i586.rpm'
    Resolving www2.ati.com... 62.25.100.58, 62.25.100.32
    Connecting to www2.ati.com[62.25.100.58]:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 4,365,039 [audio/x-pn-realaudio-plugin]
    100%[====================================>] 4,365,039     55.23K/s    ETA 00:00
    16:12:27 (50.80 KB/s) - `fglrx-glc22-4.3.0-3.2.8.i586.rpm' saved [4365039/4365039]
    ==> Validating source files with MD5sums
        fglrx-glc22-4.3.0-3.2.8.i586.rpm ... Passed
    ==> Extracting Sources...
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    ./lib/modules/fglrx/build_mod/2.6.x/Makefile
    ./lib/modules/fglrx/build_mod/agp.h
    ./lib/modules/fglrx/build_mod/agp3.c
    ./lib/modules/fglrx/build_mod/agp_backend.h
    ./lib/modules/fglrx/build_mod/agpgart.h
    ./lib/modules/fglrx/build_mod/agpgart_be.c
    ./lib/modules/fglrx/build_mod/firegl_public.c
    ./lib/modules/fglrx/build_mod/firegl_public.h
    ./lib/modules/fglrx/build_mod/i7505-agp.c
    ./lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC2
    ./lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC3
    ./lib/modules/fglrx/build_mod/make.sh
    ./lib/modules/fglrx/build_mod/nvidia-agp.c
    ./lib/modules/fglrx/fglrx.2.4.18-17.7.x.o
    ./lib/modules/fglrx/fglrx.2.4.18-17.8.0.o
    ./lib/modules/fglrx/fglrx.2.4.20-6-SMP.o
    ./lib/modules/fglrx/fglrx.2.4.20-6.o
    ./lib/modules/fglrx/fglrx.2.4.21-1.1931.2.349.2.2.ent-SMP.o
    ./lib/modules/fglrx/fglrx.2.4.21-1.1931.2.349.2.2.ent.o
    ./lib/modules/fglrx/fglrx.2.4.21-1.1931.2.349.2.2.entbigmem-SMP.o
    ./lib/modules/fglrx/fglrx_info.txt
    ./lib/modules/fglrx/make_install.sh
    ./opt/kde3/share/applnk/fireglcontrol_kde3.desktop
    ./usr/X11R6/bin/LICENSE.GPL
    ./usr/X11R6/bin/LICENSE.QPL
    ./usr/X11R6/bin/fgl_glxgears
    ./usr/X11R6/bin/fglrx_xgamma
    ./usr/X11R6/bin/fglrxconfig
    ./usr/X11R6/bin/fglrxinfo
    ./usr/X11R6/bin/fireglcontrol.qt2.gcc2.96.bz2
    ./usr/X11R6/bin/fireglcontrol.qt3.gcc3.2.bz2
    ./usr/X11R6/bin/fireglcontrol.qtstatic.gcc2.96.bz2
    ./usr/X11R6/include/X11/extensions/fglrx_gamma.h
    ./usr/X11R6/lib/libGL.so.1.2
    ./usr/X11R6/lib/libfglrx_gamma.a
    ./usr/X11R6/lib/libfglrx_gamma.so.1.0
    ./usr/X11R6/lib/modules/dri/fglrx_dri.so
    ./usr/X11R6/lib/modules/drivers/fglrx_drv.o
    ./usr/X11R6/lib/modules/linux/libfglrxdrm.a
    ./usr/include/GL/glxATI.h
    ./usr/share/applnk/fireglcontrol.kdelnk
    ./usr/share/gnome/apps/fireglcontrol.desktop
    ./usr/share/icons/ati.xpm
    ./usr/share/pixmaps/ati.xpm
    ./usr/src/ATI/fglrx_panel_sources.tgz
    ./usr/src/ATI/fglrx_sample_source.tgz
    21763 blocks
    /usr/bin/makepkg: line 23: usr/share/applnklib/modules/fglrx/fglrx*.o: No such file or directory
    usr/X11R6/bin/LICENSE.GPL: line 2: syntax error near unexpected token `('
    usr/X11R6/bin/LICENSE.GPL: line 2: ` The Qt GUI Toolkit is Copyright (C) 1994-2000 Trolltech AS.'
    /usr/bin/makepkg: line 25: usr/X11R6/bin/fireglcontrol.qt2.gcc2.96.bz2: cannot execute binary file
    ==> ERROR: Build Failed.  Aborting...
    [root@Arch2 ati]#
    I seem to be going backwards!

  • Trouble upgrading to kernel 2.6.22 [SOLVED]

    Hi,
    It's been awhile since I updated my system.  Ran pacman -Syu today, and I'm now having difficulty booting to the new kernel.  On boot, at "loading Modules", the system is responding:
    FATAL: Could not load /lib/modules/2.6.21-ARCH/modules.dep
    Thereafter, several modules fail to load.
    I've tried re-installing kernel26
    pacman -Sf kernel26
    and this seems to run successfully.  I've rebooted, and gone so far as doing a power cycle to make sure the disk cache was flushed.
    I noticed a new
    kconfig26.pacnew
    file in the boot directory, so I renamed the old one, and moved ".pacnew" to kconfig26, then reran the installation of the kernel, and still no soap.
    I'm sure that I've done something stupid here, but any advice you could offer would be most appreciated!
    Last edited by desertViking (2007-08-15 22:37:11)

    Hmm.  Definitely confusing.
    uname -a indicates that I am booted to 2.6.21-ARCH kernel.  So, I reran mkinitcpio with, and without, the -k option, and it was definitely generating 2.6.22-ARCH.
    So, in the /boot directory, I again checked the names.  Out of curiosity, I renamed kernel26.img to kernel26.img.sav, and vmlinuz to vmlinuz.sav, and, hmm, rebooted to 2.6.21.
    Seems like 2.6.21 kernel is somewhere, but I'll be darned if I can figure out where it's pulling from.
    The menu.lst
    title Arch Linux (2007)
    root (hd0,2)
    kernel /boot/vmlinuz26 root=/dev/sda3 ro vga=792
    initrd /boot/kernel26.img
    should be referencing /sda3/boot, correct?
    Edit:
    Found it!  At some point long ago, I pointed /boot in fstab to the sda1.  This was where the kernels were being regenerated.
    But I was booting to sda3.  This contained the old image.
    I copied the images to sda3, and I was able to boot.  I've regenerated the kernel image just to make sure that everything is pointing to the proper places.
    Thank you for the clues and advice.
    Last edited by desertViking (2007-08-15 22:36:14)

  • Manual Kernel Compilation fails with "Error: not a valid kernel..."

    I wanted to try out the Zen kernel to compile my own custom kernel. The basic steps that I did were:
    1. $ make localmodconfig
    2. $ make -j3
    3. # make modules_install
    4. # cp -v ~/<build directory>/arch/x86_64/boot/bzImage /boot/vmlinuz-linux-zen-3.1.4.img
    5. # mkinitcpio -k vmlinuz-linux-zen-3.1.4 -g /boot/initramfs-linux-zen-3.1.4
    and I get the error:
    ==> ERROR: '/lib/modules/vmlinuz-linux-zen-3.1.4' is not a valid kernel module directory
    Inside of /lib/modules I have a new files called "3.1.4-zen-ARCH-g30db333 (and the original files that were there from the stock kernel).
    Inside of /boot/ I have the stock image and the stock initram as well as "vmlinuz-linux-zen-3.1.4.img"
    Which step am I missing? Also, I was thinking it was possible to NOT use an initram if I just compiled the ext2 and ext4 (root is ext4) into the kernel instead of building them as modules. Is my thinking correct? Also, if anyone needs a reason why I'm using the zen sources instead of the nice Liquorix binary, the answer is simply that I wanted to mess around with it to satisfy my curiosity. Thanks.

    As per the man page:
    -k kernelversion
    Use kernelversion, instead of the current running kernel. This may be a path to a kernel image or a
    specific kernel version. If specified as a path to an image, this will always be prefixed by the basedir.
    You've picked... neither? I guess you want "/boot/vmlinuz-linux-zen-3.1.4.img" or "3.1.4-zen-ARCH-g30db333".
    Compiling the filesystem module into the kernel alone is not sufficient to avoid using an initramfs. You also need, at a minimum, drivers for the disk controller and a block device driver.
    Last edited by falconindy (2011-12-08 04:43:21)

  • Issue with booting recent Linux Kernel

    Ever since after the kernel 3.15.5-1 any recent versions after updating causes my system to fail to boot and dropping into an emergency console.
    Kernel Version
    archKartious
    > ~ uname -a
    Linux nickarch 3.15.5-1-ARCH #1 SMP PREEMPT Thu Jul 10 07:08:50 CEST 2014 x86_64 GNU/Linux
    After looking at the Journal it seems that the system does not recognise the filesystem type "vfat" which is my ESP
    Journalctl -b -1
    Aug 10 14:50:16 nickarch systemd-fsck[232]: fsck.fat 3.0.26 (2014-03-07)
    Aug 10 14:50:16 nickarch systemd-fsck[232]: /dev/sdc1: 345 files, 8979/130812 clusters
    Aug 10 14:50:16 nickarch mount[264]: mount: unknown filesystem type 'vfat'
    Aug 10 14:50:16 nickarch systemd[1]: boot-efi.mount mount process exited, code=exited status=32
    Aug 10 14:50:16 nickarch systemd[1]: Failed to mount /boot/efi.
    Aug 10 14:50:16 nickarch systemd[1]: Dependency failed for Local File Systems.
    Aug 10 14:50:16 nickarch systemd[1]: Unit boot-efi.mount entered failed state.
    Aug 10 14:50:16 nickarch systemd-fsck[228]: /dev/sda1: clean, 540132/30531584 files, 58237710/122096390 blocks
    Aug 10 14:50:16 nickarch systemd-journal[172]: Permanent journal is using 640.0M (max allowed 1.0G, trying to leave 1.5G free of 5.1G available → c
    Aug 10 14:50:16 nickarch systemd-journal[172]: Time spent on flushing to /var is 102.763ms for 927 entries.
    Aug 10 14:50:16 nickarch kernel: usb 2-1: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes
    Aug 10 14:50:16 nickarch kernel: EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: data=ordered
    Aug 10 14:50:16 nickarch kernel: usb 4-1: new high-speed USB device number 2 using ehci-pci
    Aug 10 14:50:16 nickarch systemd[1]: mnt-wa.mount mount process exited, code=exited status=32
    Aug 10 14:50:16 nickarch systemd[1]: Failed to mount /mnt/wa.
    Aug 10 14:50:16 nickarch systemd[1]: Unit mnt-wa.mount entered failed state.
    Picture Kernel Configuration
    So I decided to build a custom kernel and see if the module is configured to load when compiled.. which it was, so I decided to add the msdostools along with the vfat module just incase and compiled it.... After all the waiting I tried to install the custom kernel which resulted in the same issue again. I have also tried installing the linux-lts package which also has the same issue. May I pick your brains for a few ideas? I really hope not to stay on 3.15.5 forever...
    Last edited by Kartious (2014-08-13 19:45:13)

    ooo wrote:do you have systemd in your mkinitcpio.conf HOOKS?
    No I don't I just use the generic config file when I run mkinitcpio
    HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
    Also putting nofail did not work. I got dropped into emergency mode again.
    Journalctl -b -1 (boot with 3.15.8)
    Aug 11 16:31:32 nickarch systemd-fsck[225]: /dev/sdc3: clean, 5012/675952 files, 1219655/2699264 blocks
    Aug 11 16:31:32 nickarch systemd[1]: var.mount: Directory /var to mount over is not empty, mounting anyway.
    Aug 11 16:31:32 nickarch kernel: EXT4-fs (sdc3): mounted filesystem with ordered data mode. Opts: data=ordered
    Aug 11 16:31:32 nickarch systemd-fsck[228]: fsck.fat 3.0.26 (2014-03-07)
    Aug 11 16:31:32 nickarch systemd-fsck[228]: /dev/sdc1: 345 files, 8977/130812 clusters
    Aug 11 16:31:32 nickarch mount[249]: mount: unknown filesystem type 'vfat'
    Aug 11 16:31:32 nickarch systemd[1]: boot-efi.mount mount process exited, code=exited status=32
    Aug 11 16:31:32 nickarch systemd[1]: Failed to mount /boot/efi.
    Aug 11 16:31:32 nickarch systemd[1]: Unit boot-efi.mount entered failed state.
    Aug 11 16:31:32 nickarch systemd-fsck[230]: /dev/sda1: clean, 542267/30531584 files, 58308134/122096390 blocks
    Aug 11 16:31:32 nickarch kernel: EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: data=ordered
    Aug 11 16:31:32 nickarch kernel: usb 2-1: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes
    Aug 11 16:31:32 nickarch mount[259]: mount: /mnt/wa: mount failed: Unknown error -1
    Aug 11 16:31:32 nickarch systemd[1]: mnt-wa.mount mount process exited, code=exited status=32
    Aug 11 16:31:32 nickarch systemd[1]: Failed to mount /mnt/wa.
    Aug 11 16:31:32 nickarch systemd[1]: Dependency failed for Local File Systems.
    Aug 11 16:31:32 nickarch systemd[1]: Unit mnt-wa.mount entered failed state.
    Aug 11 16:31:32 nickarch systemd-journal[174]: Permanent journal is using 664.0M (max allowed 1.0G, trying to leave 1.5G free of 5.1G available → current limit 1.0G).
    Aug 11 16:31:32 nickarch systemd-journal[174]: Time spent on flushing to /var is 85.022ms for 935 entries.
    Aug 11 16:31:33 nickarch kernel: usb 4-1: new high-speed USB device number 2 using ehci-pci
    Aug 11 16:31:33 nickarch systemd-fsck[262]: /dev/sdb1: clean, 5582/15269888 files, 42588594/61049390 blocks
    Aug 11 16:31:33 nickarch alsactl[267]: /usr/bin/alsactl: load_state:1729: No soundcards found...
    Aug 11 16:31:33 nickarch kernel: hub 4-1:1.0: USB hub found
    Aug 11 16:31:33 nickarch kernel: hub 4-1:1.0: 8 ports detected
    Aug 11 16:31:33 nickarch systemd[269]: Failed at step EXEC spawning /bin/plymouth: No such file or directory
    Aug 11 16:31:33 nickarch kernel: EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: data=ordered
    Aug 11 16:31:33 nickarch kernel: usb 4-1.5: new full-speed USB device number 3 using ehci-pci
    Aug 11 16:31:33 nickarch kernel: Switched to clocksource tsc
    Aug 11 16:31:33 nickarch kernel: usb 4-1.6: new full-speed USB device number 4 using ehci-pci
    lolilolicon wrote:Refer to the manpage git-bisect(1), it's fairly straight-forward.
    If you already compile your own kernel with minimal modules (e.g. via localmodconfig) it would make the process smoother/quicker. It helps if you have a custom kernel PKGBUILD handy.
    The good news is that between 3.15.5 and 3.15.6 there aren't many patches going into the kernel so it's a small pool to catch the fish.
    Okay thanks for the heads up. I will look into this when I find some time, I will need to get 3.15.6 again but I can get that from the Arch Rollback Machine or get a friend (who is also on arch x86_64) to send it to me.
    mrunion wrote:I used to get similar messages before I had my ESP partition mounted in such a way that Kernel updates automatically installed to it. When I first installed Arch on my new laptop that used EFI, I had to remember to MANUALLY copy to the ESP the new Kernel images, etc. after a Kernel update. If I didn't, I would get the "vfat" error. Could this be your issue? Are you sure that after updating the Kernel, the new image/etc. is actually the stuff you're booting from?
    Really? So where would the would the kernel images be if they are not already in the ESP ?
    lsblk for reference
    NAME FSTYPE LABEL UUID MOUNTPOINT
    sda
    └─sda1 ext4 869b8001-7f92-48cd-bc46-816bb2201989 /home
    sdb
    └─sdb1 ext4 e2d17153-a82a-45fa-ba98-fdef32f94914 /media
    sdc
    ├─sdc1 vfat D92E-5388 /boot/efi
    ├─sdc2 ext4 949416a7-abf3-48f4-bcc2-da0db7e49fab /
    └─sdc3 ext4 b5f0d70f-8ce3-4c84-b1a1-373002444fa2 /var
    sr0
    loop0 iso9660 WA 2005-02-10-10-59-00-00 /mnt/wa

  • BTRFS RAID0 root filesystem Kernel Panic (EFISTUB)

    I'm attempting to boot a btrfs raid0 via UEFI, but I'm getting a Kernel panic:
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    Kernel Offset 0x0 from 0xffffffff01000000
    The raid is configured such that two partitions of identical size (/dev/sda2 and /dev/sdb2) are striped via mkfs.btrfs -d raid0. The partitions mount fine in a Live environment, but trying to load this via the kernel command line fails absolutely fantastically. The EFI system partition resides at /dev/sdb1, and it contains the kernel images and initrd.
    My Kernel command line is:
    /vmlinuz-linux root=PARTUUID=<PARTUUID of /dev/sdb2> rootfstype=btrfs rootflags=device=/dev/sda2,device=/dev/sda2,subvol=__active/__root initrd=/initramfs-linux.img ro
    This is set up via an efibootmgr entry. I have successfully run several systems with single btrfs disks as root devices, but this raid0 refuses to work. I have added 'btrfs' to the HOOKS array (immediately before fsck) and have also tried with 'btrfs' in the MODULES array. Neither have made any change in the message produced.
    Any and all help appreciated.
    EDIT: This might just be a motherboard incompatibility, as I can boot the kernel from the EFI shell just fine.
    Last edited by Reason (2015-04-22 05:24:23)

    In case you have not seen it: https://bugs.archlinux.org/task/42884

  • [SOLVED] Low quality windows after kernel upgrading

    Hello,
    I've got such a weird situation. After I upgraded to 3.12-2, my KDE windows got a low quality style. You can figure out better what I mean with this screenshot.
    I did try to reinstall the video driver (I'm using the integrated gpu currently), delete and recreate the KDE cache, and downgrade the kernel. But an even stranger thing is that although I downgraded the kernel, the system kept using the 3.12.2-2; I was able to use neither dhcpcd nor X too.
    I strongly think it's an hardware compatibility problem, don't you?
    Last edited by Grant (2013-12-07 12:23:46)

    berbae wrote:
    Grant wrote:I did try to re-install the video driver, delete and recreate the KDE cache, and downgrade the kernel.
    It would have been better to post the exact commands you used and their result (what video driver? what KDE cache? what kernel? )
    I strongly think it's an hardware compatibility problem, don't you?
    How could that prevent you from downgrading the kernel?
    So you say that you downgraded the kernel, to 3.12.1-3 I presume, you rebooted and the machine still uses the 3.12.2-1 kernel!
    It's very strange : did the downgrading finished normally? Look into the pacman.log file and the kernel log messages in dmesg; and the xorg server log also, if possible with the new kernel and with the previous one. There is also the .xsession-errors file in $HOME.
    I know it's strange! I've never come across a similiar problem. And I'm gonna tell you more: it kept doing that even when the *.3-1 came out. I had to use the brute force. I manually removed the kernel images, the packages in the cache, and upgraded with --force, all that in live mode, and it worked fine.

  • Ftp setup - can't get kernel!

    Actually, I ripped a friends PC to install arch on it. While I wanted to install the kernel-scsi-image, I fetch response of the system that it can't find the image.
    Has anyone removed the kernel images, that are used by the arch iso cd????
    I used ftp.archlinux.org as source. Afaik I can't switch sources while installation procedure.
    It woulr be nice to get help pretty soon, as I am sitting here, having another cup of coffee, telling my friend it will work out in the end.

    I found it in the arch news. Anyway. I felt more comfortable with leaving the kernel names as they have been used so far, and naming the new kernels kernel26 etc. No need to brake the system, don't you agree?
    If the system has to be changed for strong reasons, then the basic installation sources should be changed, too, at the same time. Therefore, it would be nice to have a newer iso in short time.

Maybe you are looking for