Changes between Version 3 and Version 4 of Dev/KernelHack/COINS/worklog/201109


Ignore:
Timestamp:
Sep 27, 2011 4:04:24 PM (13 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev/KernelHack/COINS/worklog/201109

    v3 v4  
    449449}}} 
    450450  * ビルド成功[[br]][[Image(WS001489.png,33%)]] 
     451 
     452 = 09/25 = 
     453 == a whole build with Vanilla Kernel 2.6.35 == 
     454 * x86_64はviola、i386はwindellでビルド 
     455 
     456 == check signature of kernel source == 
     457 * [http://backslash.ddo.jp/wordpress/archives/759 ubuntu-10.04.1-server を grsecurity のパッチを当てたカーネルで再構築する | guro_chanの日記] 
     458 * [http://web.archive.org/web/20100923151551/http://kernel.org/signature.html The Linux Kernel Archives PGP Signature] 
     459 
     460 * mitty@ubuntu64:~$ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E 
     461{{{ 
     462gpg: requesting key 517D0F0E from hkp server wwwkeys.pgp.net 
     463gpg: /home/mitty/.gnupg/trustdb.gpg: trustdb created 
     464gpg: key 517D0F0E: public key "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>" imported 
     465gpg: no ultimately trusted keys found 
     466gpg: Total number processed: 1 
     467gpg:               imported: 1 
     468}}} 
     469 
     470 * mitty@ubuntu64:~/vendor/KernelHack$ wget http://ftp.jaist.ac.jp/pub/Linux/kernel.org/linux/kernel/v2.6/longterm/v2.6.35/linux-2.6.35.14.tar.gz 
     471 * mitty@ubuntu64:~/vendor/KernelHack$ wget http://ftp.jaist.ac.jp/pub/Linux/kernel.org/linux/kernel/v2.6/longterm/v2.6.35/linux-2.6.35.14.tar.gz.sign 
     472 
     473 * mitty@ubuntu64:~/vendor/KernelHack$ gpg --verify linux-2.6.35.14.tar.gz.sign linux-2.6.35.14.tar.gz 
     474{{{ 
     475gpg: Signature made Tue 02 Aug 2011 06:36:48 AM JST using DSA key ID 517D0F0E 
     476gpg: Good signature from "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>" 
     477gpg: WARNING: This key is not certified with a trusted signature! 
     478gpg:          There is no indication that the signature belongs to the owner. 
     479Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E 
     480}}} 
     481 
     482 == extract source tarball == 
     483 * viola05:KernelHack s0711489$ tar xzf linux-2.6.35.14.tar.gz 
     484 * viola05:KernelHack s0711489$ mv linux-2.6.35.14/ x86_64 
     485 * viola05:KernelHack s0711489$ tar xzf linux-2.6.35.14.tar.gz 
     486 * viola05:KernelHack s0711489$ mv linux-2.6.35.14/ i386 
     487 
     488 * viola05:KernelHack s0711489$ mkdir linux-2.6.35.14 
     489 * viola05:KernelHack s0711489$ mv x86_64 i386 linux-2.6.35.14/ 
     490 
     491 == make defconfig == 
     492 * windell57:i386 s0711489$ make defconfig 
     493{{{ 
     494  HOSTCC  scripts/basic/fixdep 
     495  HOSTCC  scripts/basic/docproc 
     496  HOSTCC  scripts/basic/hash 
     497  HOSTCC  scripts/kconfig/conf.o 
     498  HOSTCC  scripts/kconfig/kxgettext.o 
     499  SHIPPED scripts/kconfig/zconf.tab.c 
     500  SHIPPED scripts/kconfig/lex.zconf.c 
     501  SHIPPED scripts/kconfig/zconf.hash.c 
     502  HOSTCC  scripts/kconfig/zconf.tab.o 
     503  HOSTLD  scripts/kconfig/conf 
     504*** Default configuration is based on 'i386_defconfig' 
     505# 
     506# configuration written to .config 
     507# 
     508}}} 
     509 
     510 * viola05:x86_64 s0711489$ make defconfig 
     511{{{ 
     512  HOSTCC  scripts/basic/fixdep 
     513  HOSTCC  scripts/basic/docproc 
     514  HOSTCC  scripts/basic/hash 
     515  HOSTCC  scripts/kconfig/conf.o 
     516  HOSTCC  scripts/kconfig/kxgettext.o 
     517  SHIPPED scripts/kconfig/zconf.tab.c 
     518  SHIPPED scripts/kconfig/lex.zconf.c 
     519  SHIPPED scripts/kconfig/zconf.hash.c 
     520  HOSTCC  scripts/kconfig/zconf.tab.o 
     521  HOSTLD  scripts/kconfig/conf 
     522*** Default configuration is based on 'x86_64_defconfig' 
     523# 
     524# configuration written to .config 
     525# 
     526}}} 
     527 
     528 == make menuconfig == 
     529 === x86_64 === 
     530 * viola05:x86_64 s0711489$ make menuconfig 
     531{{{ 
     532  HOSTCC  scripts/kconfig/lxdialog/checklist.o 
     533  HOSTCC  scripts/kconfig/lxdialog/inputbox.o 
     534  HOSTCC  scripts/kconfig/lxdialog/menubox.o 
     535  HOSTCC  scripts/kconfig/lxdialog/textbox.o 
     536  HOSTCC  scripts/kconfig/lxdialog/util.o 
     537  HOSTCC  scripts/kconfig/lxdialog/yesno.o 
     538  HOSTCC  scripts/kconfig/mconf.o 
     539  HOSTLD  scripts/kconfig/mconf 
     540scripts/kconfig/mconf arch/x86/Kconfig 
     541}}} 
     542{{{ 
     543 .config - Linux Kernel v2.6.35.14 Configuration 
     544 
     545  │ │          [*] Networking support  --->                                                    │ │ 
     546  │ │                Networking options  --->                                                  │ │ 
     547  │ │          < >   The IPv6 protocol  --->                                                   │ │ 
     548  │ │          [ ]   Amateur Radio support  --->                                               │ │ 
     549  │ │          -*-   Wireless  --->                                                            │ │ 
     550  │ │          < >   cfg80211 - wireless configuration API                                     │ │ 
     551  │ │          < >   RF switch subsystem support  --->                                         │ │ 
     552  │ │              Device Drivers  --->                                                        │ │ 
     553  │ │              Generic Driver Options  --->                                                │ │ 
     554  │ │          [*] Maintain a devtmpfs filesystem to mount at /dev                             │ │ 
     555  │ │          [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs           │ │ 
     556  │ │          [ ] Multiple devices driver support (RAID and LVM)  --->                        │ │ 
     557  │ │          [*] Fusion MPT device support  --->                                             │ │ 
     558  │ │          <*>   Fusion MPT ScsiHost drivers for SPI                                       │ │ 
     559  │ │          [ ] Macintosh device drivers  --->                                              │ │ 
     560  │ │          [*] Network device support  --->                                                │ │ 
     561  │ │          [*]   Ethernet (10 or 100Mbit)  --->                                            │ │ 
     562  │ │          <*>     AMD PCnet32 PCI support                                                 │ │ 
     563  │ │          [ ]   Ethernet (1000 Mbit)  --->                                                │ │ 
     564  │ │          [ ]   Ethernet (10000 Mbit)  --->                                               │ │ 
     565  │ │          < >   Token Ring driver support  --->                                           │ │ 
     566  │ │          [ ]   Wireless LAN  --->                                                        │ │ 
     567  │ │          [ ]   PCMCIA network device support  --->                                       │ │ 
     568  │ │          < >   FDDI driver support                                                       │ │ 
     569  │ │          < > Sound card support  --->                                                    │ │ 
     570  │ │          [ ] HID Devices  --->                                                           │ │ 
     571  │ │          [ ] USB support  --->                                                           │ │ 
     572  │ │              File systems  --->                                                          │ │ 
     573  │ │          <*> The Extended 4 (ext4) filesystem                                            │ │ 
     574  │ │          [ ] Network File Systems  --->                                                  │ │ 
     575  │ │              Kernel hacking  --->                                                        │ │ 
     576  │ │          [*] Compile the kernel with debug info                                          │ │ 
     577  │ │              Security options  --->                                                      │ │ 
     578  │ │          [ ] NSA SELinux Support                                                         │ │ 
     579  │ │          [ ] Virtualization  --->                                                        │ │ 
     580}}} 
     581 
     582 === i386 === 
     583 * windell57:i386 s0711489$ make menuconfig 
     584{{{ 
     585  HOSTCC  scripts/kconfig/lxdialog/checklist.o 
     586  HOSTCC  scripts/kconfig/lxdialog/inputbox.o 
     587  HOSTCC  scripts/kconfig/lxdialog/menubox.o 
     588  HOSTCC  scripts/kconfig/lxdialog/textbox.o 
     589  HOSTCC  scripts/kconfig/lxdialog/util.o 
     590  HOSTCC  scripts/kconfig/lxdialog/yesno.o 
     591  HOSTCC  scripts/kconfig/mconf.o 
     592  HOSTLD  scripts/kconfig/mconf 
     593scripts/kconfig/mconf arch/x86/Kconfig 
     594}}} 
     595{{{ 
     596 .config - Linux Kernel v2.6.35.14 Configuration 
     597 
     598  │ │          [*] Networking support  --->                                                    │ │ 
     599  │ │                Networking options  --->                                                  │ │ 
     600  │ │          < >   The IPv6 protocol  --->                                                   │ │ 
     601  │ │          [ ]   Amateur Radio support  --->                                               │ │ 
     602  │ │          -*-   Wireless  --->                                                            │ │ 
     603  │ │          < >   cfg80211 - wireless configuration API                                     │ │ 
     604  │ │          < >   RF switch subsystem support  --->                                         │ │ 
     605  │ │              Device Drivers  --->                                                        │ │ 
     606  │ │              Generic Driver Options  --->                                                │ │ 
     607  │ │          [*] Maintain a devtmpfs filesystem to mount at /dev                             │ │ 
     608  │ │          [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs           │ │ 
     609  │ │              SCSI device support  --->                                                   │ │ 
     610  │ │          [*] SCSI low-level drivers  --->                                                │ │ 
     611  │ │          <*>   BusLogic SCSI support                                                     │ │ 
     612  │ │          [ ] Multiple devices driver support (RAID and LVM)  --->                        │ │ 
     613  │ │          [ ] Macintosh device drivers  --->                                              │ │ 
     614  │ │          [*] Network device support  --->                                                │ │ 
     615  │ │          [*]   Ethernet (10 or 100Mbit)  --->                                            │ │ 
     616  │ │          <*>     AMD PCnet32 PCI support                                                 │ │ 
     617  │ │          [ ]   Ethernet (1000 Mbit)  --->                                                │ │ 
     618  │ │          [ ]   Ethernet (10000 Mbit)  --->                                               │ │ 
     619  │ │          < >   Token Ring driver support  --->                                           │ │ 
     620  │ │          [ ]   Wireless LAN  --->                                                        │ │ 
     621  │ │          [ ]   PCMCIA network device support  --->                                       │ │ 
     622  │ │          < >   FDDI driver support                                                       │ │ 
     623  │ │          < > Sound card support  --->                                                    │ │ 
     624  │ │          [ ] HID Devices  --->                                                           │ │ 
     625  │ │          [ ] USB support  --->                                                           │ │ 
     626  │ │              File systems  --->                                                          │ │ 
     627  │ │          <*> The Extended 4 (ext4) filesystem                                            │ │ 
     628  │ │          [ ] Network File Systems  --->                                                  │ │ 
     629  │ │              Kernel hacking  --->                                                        │ │ 
     630  │ │          [*] Compile the kernel with debug info                                          │ │ 
     631  │ │              Security options  --->                                                      │ │ 
     632  │ │          [ ] NSA SELinux Support                                                         │ │ 
     633  │ │          [ ] Virtualization  --->                                                        │ │ 
     634}}} 
     635 
     636 == make and make install to guest == 
     637 === i386 === 
     638 ==== make ==== 
     639 * windell57:i386 s0711489$ make -j2 
     640 * windell57:i386 s0711489$ make modules 
     641 
     642 ==== change grub settings to display OS entries ==== 
     643 * s0711489@ubuntu-lucid:~$ sudo vim /etc/default/grub 
     644{{{#!diff 
     645--- /etc/default/grub.20110925  2011-09-17 20:23:00.000000000 +0900 
     646+++ /etc/default/grub   2011-09-25 20:12:22.000000000 +0900 
     647@@ -2,8 +2,8 @@ 
     648 # /boot/grub/grub.cfg. 
     649 
     650 GRUB_DEFAULT=0 
     651-GRUB_HIDDEN_TIMEOUT=0 
     652-GRUB_HIDDEN_TIMEOUT_QUIET=true 
     653+#GRUB_HIDDEN_TIMEOUT=0 
     654+GRUB_HIDDEN_TIMEOUT_QUIET=false 
     655 GRUB_TIMEOUT=10 
     656 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
     657 GRUB_CMDLINE_LINUX_DEFAULT="splash quiet" 
     658}}} 
     659 
     660 ==== make install ==== 
     661 * s0711489@ubuntu-lucid:/mnt/hgfs/linux-2.6.35.14$ sudo make install 
     662{{{ 
     663sh /mnt/hgfs/linux-2.6.35.14/arch/x86/boot/install.sh 2.6.35.14 arch/x86/boot/bzImage \ 
     664                System.map "/boot" 
     665}}} 
     666 * s0711489@ubuntu-lucid:/mnt/hgfs/linux-2.6.35.14$ sudo make modules_install 
     667{{{ 
     668  INSTALL arch/x86/kernel/test_nx.ko 
     669  INSTALL drivers/scsi/scsi_wait_scan.ko 
     670  INSTALL net/netfilter/xt_mark.ko 
     671  DEPMOD  2.6.35.14 
     672}}} 
     673 
     674 * s0711489@ubuntu-lucid:~$ sudo mkinitramfs -o /boot/initrd.img-2.6.35.14 2.6.35.14 
     675 * s0711489@ubuntu-lucid:~$ sudo update-grub 
     676{{{ 
     677Generating grub.cfg ... 
     678Found linux image: /boot/vmlinuz-2.6.35.14 
     679Found initrd image: /boot/initrd.img-2.6.35.14 
     680Found linux image: /boot/vmlinuz-2.6.32-33-generic 
     681Found initrd image: /boot/initrd.img-2.6.32-33-generic 
     682Found memtest86+ image: /boot/memtest86+.bin 
     683done 
     684}}} 
     685 
     686 ==== reboot ==== 
     687 * s0711489@ubuntu-lucid:~$ sudo reboot 
     688 * s0711489@ubuntu-lucid:~$ uname -a 
     689{{{ 
     690Linux ubuntu-lucid 2.6.35.14 #1 SMP Sun Sep 25 20:00:16 JST 2011 i686 GNU/Linux 
     691}}} 
     692 
     693 === x86_64 === 
     694 ==== make ==== 
     695 
     696 * viola05:x86_64 s0711489$ make -j16 
     697 * viola05:x86_64 s0711489$ make modules 
     698 
     699 ==== change grub settings to display OS entries ==== 
     700 * s0711489@ubuntu-lucid64:~$ sudo vim /etc/default/grub 
     701{{{#!diff 
     702--- /etc/default/grub.20110925  2011-09-17 21:47:02.000000000 +0900 
     703+++ /etc/default/grub   2011-09-25 20:54:15.000000000 +0900 
     704@@ -2,8 +2,8 @@ 
     705 # /boot/grub/grub.cfg. 
     706 
     707 GRUB_DEFAULT=0 
     708-GRUB_HIDDEN_TIMEOUT=0 
     709-GRUB_HIDDEN_TIMEOUT_QUIET=true 
     710+#GRUB_HIDDEN_TIMEOUT=0 
     711+GRUB_HIDDEN_TIMEOUT_QUIET=false 
     712 GRUB_TIMEOUT=10 
     713 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
     714 GRUB_CMDLINE_LINUX_DEFAULT="splash quiet" 
     715}}} 
     716 
     717 ==== make install ==== 
     718 * s0711489@ubuntu-lucid64:/mnt/hgfs/linux-2.6.35.14$ sudo make install 
     719{{{ 
     720sh /mnt/hgfs/linux-2.6.35.14/arch/x86/boot/install.sh 2.6.35.14 arch/x86/boot/bzImage \ 
     721                System.map "/boot" 
     722}}} 
     723 * s0711489@ubuntu-lucid64:/mnt/hgfs/linux-2.6.35.14$ sudo make modules_install 
     724{{{ 
     725  INSTALL arch/x86/kernel/test_nx.ko 
     726  INSTALL drivers/scsi/scsi_wait_scan.ko 
     727  INSTALL net/netfilter/xt_mark.ko 
     728  DEPMOD  2.6.35.14 
     729}}} 
     730 
     731 * s0711489@ubuntu-lucid64:~$ sudo mkinitramfs -o /boot/initrd.img-2.6.35.14 2.6.35.14 
     732 * s0711489@ubuntu-lucid64:~$ sudo update-grub 
     733{{{ 
     734Generating grub.cfg ... 
     735Found linux image: /boot/vmlinuz-2.6.35.14 
     736Found initrd image: /boot/initrd.img-2.6.35.14 
     737Found linux image: /boot/vmlinuz-2.6.32-33-generic 
     738Found initrd image: /boot/initrd.img-2.6.32-33-generic 
     739Found memtest86+ image: /boot/memtest86+.bin 
     740done 
     741}}} 
     742 
     743 ==== reboot ==== 
     744 * s0711489@ubuntu-lucid64:~$ sudo reboot 
     745 
     746 * windell57:~ s0711489$ ssh 172.16.237.132 
     747{{{ 
     748ssh: connect to host 172.16.237.132 port 22: No route to host 
     749}}} 
     750 
     751 ==== add e1000 driver ==== 
     752 * 64bitゲストだとPCnet32の代わりにIntel Pro/1000が用意される 
     753 
     754 * s0711489@ubuntu-lucid64:~$ lspci 
     755{{{ 
     75602:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01) 
     757}}} 
     758 
     759 * viola05:x86_64 s0711489$ make menuconfig 
     760{{{ 
     761 .config - Linux Kernel v2.6.35.14 Configuration 
     762 
     763  │ │              Device Drivers  --->                                                        │ │ 
     764  │ │          [*] Network device support  --->                                                │ │ 
     765  │ │          [*]   Ethernet (1000 Mbit)  --->                                                │ │ 
     766  │ │          <*>   Intel(R) PRO/1000 Gigabit Ethernet support                                │ │ 
     767}}} 
     768 * viola05:x86_64 s0711489$ make -j16 
     769 * viola05:x86_64 s0711489$ make modules 
     770 
     771 * s0711489@ubuntu-lucid64:/mnt/hgfs/linux-2.6.35.14$ sudo make install 
     772{{{ 
     773sh /mnt/hgfs/linux-2.6.35.14/arch/x86/boot/install.sh 2.6.35.14 arch/x86/boot/bzImage \ 
     774                System.map "/boot" 
     775}}} 
     776 * s0711489@ubuntu-lucid64:/mnt/hgfs/linux-2.6.35.14$ sudo make modules_install 
     777{{{ 
     778  INSTALL arch/x86/kernel/test_nx.ko 
     779  INSTALL drivers/scsi/scsi_wait_scan.ko 
     780  INSTALL net/netfilter/xt_mark.ko 
     781  DEPMOD  2.6.35.14 
     782}}} 
     783 
     784 * s0711489@ubuntu-lucid64:~$ sudo mkinitramfs -o /boot/initrd.img-2.6.35.14 2.6.35.14 
     785 * s0711489@ubuntu-lucid64:~$ sudo update-grub 
     786{{{ 
     787Generating grub.cfg ... 
     788Found linux image: /boot/vmlinuz-2.6.35.14 
     789Found initrd image: /boot/initrd.img-2.6.35.14 
     790Found linux image: /boot/vmlinuz-2.6.32-33-generic 
     791Found initrd image: /boot/initrd.img-2.6.32-33-generic 
     792Found memtest86+ image: /boot/memtest86+.bin 
     793done 
     794}}} 
     795 
     796 * s0711489@ubuntu-lucid64:~$ sudo reboot 
     797 
     798 * s0711489@ubuntu-lucid64:~$ uname -a 
     799{{{ 
     800Linux ubuntu-lucid64 2.6.35.14 #2 SMP Sun Sep 25 21:20:21 JST 2011 x86_64 GNU/Linux 
     801}}} 
     802 
     803 ==== remove PCnet32 driver ==== 
     804 * viola05:x86_64 s0711489$ make menuconfig 
     805{{{ 
     806 .config - Linux Kernel v2.6.35.14 Configuration 
     807 
     808  │ │              Device Drivers  --->                                                        │ │ 
     809  │ │          [*] Network device support  --->                                                │ │ 
     810  │ │          [*]   Ethernet (10 or 100Mbit)  --->                                            │ │ 
     811  │ │          < >     AMD PCnet32 PCI support                                                 │ │ 
     812}}} 
     813 
     814 * viola05:x86_64 s0711489$ make -j16 
     815 * viola05:x86_64 s0711489$ make modules 
     816 
     817 * (略) 
     818 
     819 * s0711489@ubuntu-lucid64:~$ sudo reboot 
     820 
     821 * s0711489@ubuntu-lucid64:~$ uname -a 
     822{{{ 
     823Linux ubuntu-lucid64 2.6.35.14 #3 SMP Sun Sep 25 21:32:17 JST 2011 x86_64 GNU/Linux 
     824}}} 
     825 
     826 == set remote debug option to VMware config == 
     827 === i386 === 
     828 * windell57:~ s0711489$ vim .vmware/ubuntu-lucid/ubuntu-lucid.vmx 
     829{{{#!diff 
     830--- ubuntu-lucid.vmx    2011-09-25 20:30:40.136675000 +0900 
     831+++ .vmware/ubuntu-lucid/ubuntu-lucid.vmx       2011-09-25 20:31:10.000000000 +0900 
     832@@ -73,3 +73,5 @@ 
     833 sharedFolder0.hostPath = "/home/ugrad/07/s0711489/coursework/KernelHack/linux-2.6.35.14/i386" 
     834 sharedFolder0.guestName = "linux-2.6.35.14" 
     835 sharedFolder0.expiration = "never" 
     836+debugStub.listen.guest32 = "TRUE" 
     837+debugStub.listen.guest32.remote = "TRUE" 
     838}}} 
     839 
     840 * windell57:~ s0711489$ netstat -na | grep 8832 
     841{{{ 
     842tcp        0      0 0.0.0.0:8832                0.0.0.0:*                   LISTEN 
     843}}} 
     844 
     845 * debugStub.listen.guest32.remoteが無い場合、localhostにのみbindする 
     846  * windell57:~ s0711489$ netstat -na | grep 8832 
     847{{{ 
     848tcp        0      0 127.0.0.1:8832              0.0.0.0:*                   LISTEN 
     849}}} 
     850 
     851 === x86_64 === 
     852 * windell57:~ s0711489$ vim .vmware/ubuntu-lucid64/ubuntu-lucid64.vmx 
     853{{{#!diff 
     854--- ubuntu-lucid64.vmx  2011-09-25 20:59:39.597587000 +0900 
     855+++ .vmware/ubuntu-lucid64/ubuntu-lucid64.vmx   2011-09-25 21:02:19.639899000 +0900 
     856@@ -75,3 +75,5 @@ 
     857 sharedFolder0.hostPath = "/home/ugrad/07/s0711489/coursework/KernelHack/linux-2.6.35.14/x86_64" 
     858 sharedFolder0.guestName = "linux-2.6.35.14" 
     859 sharedFolder0.expiration = "never" 
     860+debugStub.listen.guest64 = "TRUE" 
     861+debugStub.listen.guest64.remote = "TRUE" 
     862}}} 
     863 
     864 * windell57:~ s0711489$ netstat -na | grep 8864 
     865{{{ 
     866tcp        0      0 0.0.0.0:8864                0.0.0.0:*                   LISTEN 
     867}}}