This repository has been archived by the owner on Dec 3, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Linux
71 lines (59 loc) · 3.49 KB
/
README.Linux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Linux Specific Environment Configuration
----------------------------------------
* Symbols for Core Kernel in Linux 2.6.x *
KernInst relies heavily upon the presence of symbol information in
the core kernel and loadable modules. However, the 2.6.x kernel series
does not provide a mechanism to programatically extract symbol info
for the core kernel. Therefore, when running kerninstd on a 2.6.x
machine, you must use the '-system_map' option to specify a valid
'System.map' file for the running kernel.
* Kallsyms Data in Linux 2.4.x Kernels *
KernInst relies heavily upon the presence of kallsyms data in the
core kernel and loadable modules. Since the 2.4 kernels from kernel.org
do not include the support for kallsyms data, the support provided
by various Linux distributions vary. Currently, 2.4 kernels
distributed by RedHat and SuSe are configured to support kallsyms
data, while those from Debian are not. To determine whether your kernel
is configured to support kallsyms data, search through your specific
kernel's config file (normally stashed in /boot) for
'CONFIG_KALLSYMS=y'. If found, you can assume all is well and skip the
rest of this subsection.
If your kernel was not configured with kallsyms support, there are a
few things you can do to allow KernInst to obtain more symbol
information than what the kernel typically exports. For loadable
kernel modules, you can set an option to insmod in /etc/modules.conf
to force insmod to generate kallsyms data for modules it loads.
To do so, insert the following line anywhere in the file.
insmod_opt=-S
<BEGIN DEBIAN NOTE>
The /etc/modules.conf file on Debian systems is automatically
generated by the update_modules utility. You may still manually
add the line above to the file, but in doing so it is only
guaranteed to be present until the next use of update_modules.
As an alternative, you can create a file in /etc/modutils/ that
contains the above line, which will cause update_modules to include
the contents of the file in the generated modules.conf file. You
will need to run update_modules after creating the file.
<END DEBIAN NOTE>
If your system uses an initial ramdisk to preload kernel modules,
the option to insmod in /etc/modules.conf will not be consulted.
In order to specify the option to the insmod executable used in the
ramdisk, please use the provided script as follows to create an initial
ramdisk with the option specified. NOTE: Debian users should use
'update-initrd.debian' in place of 'update-initrd' below.
scripts/update-initrd <initrd file>
The script, if successful, will output the name of a new initial ramdisk.
Please use this name to update the appropriate boot configuration files
(e.g., /etc/lilo.conf or /boot/grub/grub.conf) and re-run any necessary
programs (e.g. /sbin/lilo). If the script fails, error messages will be
output that describe the nature of the problem. Please have a look at the
script and see if you can manually perform the intended actions.
Obviously, changes to the system /etc/modules.conf and initial ramdisk
will not affect currently loaded modules. As such, the system must
be rebooted after the changes to enable KernInst to use the extra
kallsyms data.
Finally, to help provide symbols for the kernel proper, make sure
there is a valid System.map in /boot for your specific kernel. If you
would rather specify the name of the System.map file on the command-line
than place the file in /boot, you may use the '-system_map <filename>'
option.