| 4 | = links = |
| 5 | |
| 6 | * [http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/SystemTap_Beginners_Guide/topsyssect.html 4.3.5. Tracking Most Frequently Used System Calls] |
| 7 | |
| 8 | == how to build == |
| 9 | * https://help.ubuntu.com/community/Kernel/Compile |
| 10 | * This page does NOT describe how to build upstream kernels from kernel.org. This is how to rebuild the actual Ubuntu kernel starting from source. |
| 11 | * [http://d.hatena.ne.jp/haradats/20070819 VMware上のUbuntuで最新カーネルをビルドする - よそ行き顔で] |
| 12 | > * パッケージの導入 |
| 13 | > * build-essential(これがなくては/usr/includeすらない) |
| 14 | > * kernel-package |
| 15 | > * libncurses5-dev(make menuconfigを行うために必要。本来kernel-packageに入っていると良いような気がする) |
| 16 | > * subversion, subversion-tools(TOMOYOのレポジトリの参照用) |
| 17 | > * quilt(もともとはAndrew Mortonが作成したパッチ管理用ツール。自分で使うことはないだろうけれども一応。依存関係でgawkとdiffstatが導入された) |
| 18 | > もし、rootでコンパイルしたくなければfakerootもあると良い。 |
| 19 | * [http://d.hatena.ne.jp/adsaria/20081104/1225766991 Ubuntuのカーネル再構築 - adsaria mood] |
| 20 | * [http://d.hatena.ne.jp/m-bird/20110805/1312507198 Linuxカーネルの再構築方法@Debian Squeeze - m-birdとFreeBSDの同棲日記] |
| 21 | |
| 22 | == how to enhancement kernel == |
| 23 | |
| 24 | * [http://hekimian-williams.com/?p=20 Adding A System Call To Linux (Fedora 9) - Cory’s Place] Fedora 9 kernel 2.6.26 (i686) |
| 25 | * [http://hira-consulting.com/wiki/ ようこそ - LinuxKernelHackJapan] 本サイトは、Linuxカーネル内部情報(総3,911ページ)の提供を目的としている。 |
| 26 | * [http://www.geocities.jp/dinone_01/linux_driver.html Linux ドライバ作成 初心者編] |
| 27 | * http://f42.aaa.livedoor.jp/~hassaku/crswikicrs/ |
| 28 | > * LinuxDeviceDriver |
| 29 | * [http://www.hakodate-ct.ac.jp/~tokai/tokai/research/kmod.html カーネルモジュール作成メモ] |
| 30 | * [http://www.ibm.com/developerworks/jp/linux/library/l-system-calls/ Linux システム・コールを使用したカーネル・コマンド] |
| 31 | |
| 33 | * http://wiki.osdev.org/VMWare |
| 34 | > * Guest debugging |
| 35 | > * These options are valid in Workstation 6.0+, and should be set in the virtual machine's .vmx file. |
| 36 | > {{{ |
| 37 | > debugStub.listen.guest32 = "TRUE" |
| 38 | > debugStub.listen.guest64 = "TRUE" |
| 39 | > }}} |
| 40 | > * If using these options, Workstation prints a message "VMware Workstation is listening for debug connection on port 8832." into the vmware.log file. Start a GDB session (using a copy of your kernel that includes debug information), then: |
| 41 | > {{{ |
| 42 | > target remote localhost:8832 |
| 43 | > }}} |
| 44 | > * Standard gdb commands work in this mode (e.g. printing memory, backtrace). Note that this is a debug stub attached to the KERNEL, not a userspace program. |
| 45 | > * Other useful options: |
| 46 | > {{{ |
| 47 | > debugStub.listen.guest32.remote = "TRUE" # Allows debugging from a different computer / VM instead of localhost. # The IP for remote debugging will be that of the host. |
| 48 | > debugStub.listen.guest64.remote = "TRUE" # Same, but for 64-bit code |
| 49 | > monitor.debugOnStartGuest32 = "TRUE" # Breaks into debug stub on first instruction (warning: in BIOS!) # This will halt the VM at the very first instruction at 0xFFFF0, you could set the next breakpoint to break *0x7c00 to break when the bootloader is loaded by the BIOS |
| 50 | > debugStub.hideBreakpoints = "TRUE" # Allows gdb breakpoints to work |
| 51 | > bios.bootDelay = "3000" # Delay booting the BIOS code. |
| 52 | > }}} |
| 53 | |
33 | | |
34 | | = links = |
35 | | * https://help.ubuntu.com/community/Kernel/Compile |
36 | | * This page does NOT describe how to build upstream kernels from kernel.org. This is how to rebuild the actual Ubuntu kernel starting from source. |
37 | | * [http://d.hatena.ne.jp/haradats/20070819 VMware上のUbuntuで最新カーネルをビルドする - よそ行き顔で] |
38 | | > * パッケージの導入 |
39 | | > * build-essential(これがなくては/usr/includeすらない) |
40 | | > * kernel-package |
41 | | > * libncurses5-dev(make menuconfigを行うために必要。本来kernel-packageに入っていると良いような気がする) |
42 | | > * subversion, subversion-tools(TOMOYOのレポジトリの参照用) |
43 | | > * quilt(もともとはAndrew Mortonが作成したパッチ管理用ツール。自分で使うことはないだろうけれども一応。依存関係でgawkとdiffstatが導入された) |
44 | | > もし、rootでコンパイルしたくなければfakerootもあると良い。 |
45 | | * [http://d.hatena.ne.jp/adsaria/20081104/1225766991 Ubuntuのカーネル再構築 - adsaria mood] |
46 | | * http://wiki.osdev.org/VMWare |
47 | | > * Guest debugging |
48 | | > * These options are valid in Workstation 6.0+, and should be set in the virtual machine's .vmx file. |
49 | | > {{{ |
50 | | > debugStub.listen.guest32 = "TRUE" |
51 | | > debugStub.listen.guest64 = "TRUE" |
52 | | > }}} |
53 | | > * If using these options, Workstation prints a message "VMware Workstation is listening for debug connection on port 8832." into the vmware.log file. Start a GDB session (using a copy of your kernel that includes debug information), then: |
54 | | > {{{ |
55 | | > target remote localhost:8832 |
56 | | > }}} |
57 | | > * Standard gdb commands work in this mode (e.g. printing memory, backtrace). Note that this is a debug stub attached to the KERNEL, not a userspace program. |
58 | | > * Other useful options: |
59 | | > {{{ |
60 | | > debugStub.listen.guest32.remote = "TRUE" # Allows debugging from a different computer / VM instead of localhost. # The IP for remote debugging will be that of the host. |
61 | | > debugStub.listen.guest64.remote = "TRUE" # Same, but for 64-bit code |
62 | | > monitor.debugOnStartGuest32 = "TRUE" # Breaks into debug stub on first instruction (warning: in BIOS!) # This will halt the VM at the very first instruction at 0xFFFF0, you could set the next breakpoint to break *0x7c00 to break when the bootloader is loaded by the BIOS |
63 | | > debugStub.hideBreakpoints = "TRUE" # Allows gdb breakpoints to work |
64 | | > bios.bootDelay = "3000" # Delay booting the BIOS code. |
65 | | > }}} |
66 | | * [http://d.hatena.ne.jp/m-bird/20110805/1312507198 Linuxカーネルの再構築方法@Debian Squeeze - m-birdとFreeBSDの同棲日記] |
67 | | * [http://www.ibm.com/developerworks/jp/linux/library/l-system-calls/ Linux システム・コールを使用したカーネル・コマンド] |
68 | | * [http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/SystemTap_Beginners_Guide/topsyssect.html 4.3.5. Tracking Most Frequently Used System Calls] |
69 | | * [http://hekimian-williams.com/?p=20 Adding A System Call To Linux (Fedora 9) - Cory’s Place] Fedora 9 kernel 2.6.26 (i686) |
70 | | * [http://hira-consulting.com/wiki/ ようこそ - LinuxKernelHackJapan] 本サイトは、Linuxカーネル内部情報(総3,911ページ)の提供を目的としている。 |
71 | | * [http://www.geocities.jp/dinone_01/linux_driver.html Linux ドライバ作成 初心者編] |
72 | | * http://f42.aaa.livedoor.jp/~hassaku/crswikicrs/ |
73 | | > * LinuxDeviceDriver |
74 | | * [http://www.hakodate-ct.ac.jp/~tokai/tokai/research/kmod.html カーネルモジュール作成メモ] |