リリースkernelのパッチ具合を調べる
chumbyの公開kernel sourceには、1.0, 1.2, 1.4, 1.5, 1.6の5つがある。
それぞれの間で、どのようなパッチが行われているのか調べる。
リリースkernelの各バージョン:
http://files.chumby.com/source/ironforge/ build733/linux-2.6.16-chumby-1.6.0.tar.gz build565/linux-2.6.16-chumby-1.5.0.tar.gz build533/linux-2.6.16-chumby-1.4.0.tar.gz build396/linux-2.6.16-chumby-1.2.tar.gz build312/linux-2.6.16-chumby-1.0.tar.gz
wgetなどで取得しておく。
展開する。
$ mkdir chumby_kernel $ mv linux-2.6.16-chumby-1.* chumby_kernel $ cd chumby_kernel $ tar zxvf linux-2.6.16-chumby-1.0.tar.gz $ mv linux-2.6.16/ linux-2.6.16-chumby-1.0.0 $ tar zxvf linux-2.6.16-chumby-1.2.tar.gz $ mv linux-2.6.16/ linux-2.6.16-chumby-1.2.0 $ tar zxvf linux-2.6.16-chumby-1.4.0.tar.gz $ tar zxvf linux-2.6.16-chumby-1.5.0.tar.gz $ tar zxvf linux-2.6.16-chumby-1.6.0.tar.gz
差分を取ってみる。
$ diff -Naur linux-2.6.16-chumby-1.0.0/ linux-2.6.16-chumby-1.2.0 > 10to12.diff $ diff -Naur linux-2.6.16-chumby-1.2.0/ linux-2.6.16-chumby-1.4.0 > 12to14.diff $ diff -Naur linux-2.6.16-chumby-1.4.0/ linux-2.6.16-chumby-1.5.0 > 14to15.diff $ diff -Naur linux-2.6.16-chumby-1.5.0/ linux-2.6.16-chumby-1.6.0 > 15to16.diff $ ls -l 1* -rw-r--r-- 1 kinneko kinneko 246846 2008-09-05 00:00 10to12.diff -rw-r--r-- 1 kinneko kinneko 359115 2008-09-05 00:00 12to14.diff -rw-r--r-- 1 kinneko kinneko 212654 2008-09-05 00:00 14to15.diff -rw-r--r-- 1 kinneko kinneko 115962 2008-09-05 00:00 15to16.diff
各バージョン間での差異の量はそれほどない。
splitdiffコマンドを使うためにpatchutilsをインストールする。
# apt-get install patchutils
作った差分パッチデータをファイルごとに分割してみる。
$ mkdir 10-12 12-14 14-15 15-16 $ cp 10to12.diff 10-12/ $ cp 12to14.diff 12-14/ $ cp 14to15.diff 14-15/ $ cp 15to16.diff 15-16/ $ cd 10-12/ $ splitdiff -ad 10to12.diff Wrote >linux-2.6.16-chumby-1.0.0_drivers_char_Makefile Wrote >linux-2.6.16-chumby-1.0.0_drivers_char_chumby_emma.c Wrote >linux-2.6.16-chumby-1.0.0_drivers_char_chumby_emma.h Wrote >linux-2.6.16-chumby-1.0.0_drivers_char_chumby_udma.c Wrote >linux-2.6.16-chumby-1.0.0_drivers_char_chumby_udma.h Wrote >linux-2.6.16-chumby-1.0.0_drivers_mfd_chumb-tsc2100.c Wrote >linux-2.6.16-chumby-1.0.0_drivers_mfd_chumb-tsc2100.h Wrote >linux-2.6.16-chumby-1.0.0_drivers_mfd_imx21-tsc2100.c Wrote >linux-2.6.16-chumby-1.0.0_drivers_mfd_tsc2100-core.c Wrote >linux-2.6.16-chumby-1.0.0_drivers_mfd_nand_mx21ads.c Wrote >linux-2.6.16-chumby-1.0.0_include_asm-arm_arch-imx_imx-regs.h $ cd ../12-14/ $ splitdiff -ad 12to14.diff Wrote >linux-2.6.16-chumby-1.2.0_.config Wrote >linux-2.6.16-chumby-1.2.0_arch_arm_kernel_time.c Wrote >linux-2.6.16-chumby-1.2.0_arch_arm_mach-imx_generic.c Wrote >linux-2.6.16-chumby-1.2.0_arch_arm_mach-mx21ads.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_Makefile Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_emma.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_emma.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_sense1.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_sense1.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_sense1_v38.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_timer.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_timer.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_udma.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_char_chumby_udma.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_mfd_Makefile Wrote >linux-2.6.16-chumby-1.2.0_drivers_mfd_chumby_tsc2100.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_mfd_chumby_tsc2100.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_mfd_chumby_tsc2100_v38.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_mfd_nand_mx21ads.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_serial_imx.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_usb_host_grh-dbug.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_usb_host_imx21-hcd.c Wrote >linux-2.6.16-chumby-1.2.0_drivers_usb_host_imx21-hcd.h Wrote >linux-2.6.16-chumby-1.2.0_drivers_video_imxfb.c Wrote >linux-2.6.16-chumby-1.2.0_include_asm-arm_irq.h $ cd ../14-15/ $ splitdiff -ad 14to15.diff Wrote >linux-2.6.16-chumby-1.4.0_.config Wrote >linux-2.6.16-chumby-1.4.0_drivers_mfd_chumby_tsc2100.c Wrote >linux-2.6.16-chumby-1.4.0_drivers_mfd_chumby_tsc2100.h Wrote >linux-2.6.16-chumby-1.4.0_drivers_mfd_chumby_tsc2100_v38.c $ cd ../15-16/ $ splitdiff -ad 15to16.diff Wrote >linux-2.6.16-chumby-1.5.0_.config Wrote >linux-2.6.16-chumby-1.5.0_.config-all Wrote >linux-2.6.16-chumby-1.5.0_drivers_char_chumby_sense1.c Wrote >linux-2.6.16-chumby-1.5.0_drivers_char_chumby_sense1.h Wrote >linux-2.6.16-chumby-1.5.0_drivers_char_chumby_sense1_v38.c Wrote >linux-2.6.16-chumby-1.5.0_drivers_mfd_chumby_tsc2100.c Wrote >linux-2.6.16-chumby-1.5.0_drivers_usb_core_hub.c Wrote >linux-2.6.16-chumby-1.5.0_drivers_usb_host_imx21-hcd.c Wrote >linux-2.6.16-chumby-1.5.0_drivers_usb_imput_xpad.c
各バージョン間の違いはそれほどでもなさそうだ。
vanilla kernelとの違いはどうだろう。
http://www.kernel.org/pub/linux/kernel/v2.6/
2.6.16は、62まである... すごすぎ。
とりあえず、最初のと最後のもらおうか。
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.gz $ wget hhttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.62.tar.gz $ tar zxvf linux-2.6.16.tar.gz $ diff -Naur linux-2.6.16 linux-2.6.16.-chumby-1.0.0 > 00to10.diff $ ls -l 00to01.diff -rw-r--r-- 1 kinneko kinneko 205826 Sep 5 00:00 00to10.diff $ mkdir 00-10 $ cp 00to10.diff 00-10/ $ cd 00-10/ $ splitdiff -ad 00to10.diff Wrote >linux-2.6.16_.config Wrote >linux-2.6.16_Makefile Wrote >linux-2.6.16_arch_arm_Kconfig Wrote >linux-2.6.16_arch_arm_Makefile Wrote >linux-2.6.16_arch_arm_boot_compressed_Makefile Wrote >linux-2.6.16_arch_arm_boot_compressed_head-csb535.S Wrote >linux-2.6.16_arch_arm_boot_compressed_head-csb536.S Wrote >linux-2.6.16_arch_arm_boot_compressed_head-mx21ads.S Wrote >linux-2.6.16_arch_arm_boot_compressed_head-tcmx21.S Wrote >linux-2.6.16_arch_arm_boot_compressed_head.S Wrote >linux-2.6.16_arch_arm_boot_compressed_misc.c Wrote >linux-2.6.16_arch_arm_configs_csb535fs_defconfig Wrote >linux-2.6.16_arch_arm_configs_mx21ads_defconfig Wrote >linux-2.6.16_arch_arm_configs_tcmx21_defconfig Wrote >linux-2.6.16_arch_arm_kernel_head.S Wrote >linux-2.6.16_arch_arm_mach-imx_GPIO.txt Wrote >linux-2.6.16_arch_arm_mach-imx_Kconfig Wrote >linux-2.6.16_arch_arm_mach-imx_Makefile Wrote >linux-2.6.16_arch_arm_mach-imx_Makefile.boot Wrote >linux-2.6.16_arch_arm_mach-imx_csb535fs.c Wrote >linux-2.6.16_arch_arm_mach-imx_csb536fs.c Wrote >linux-2.6.16_arch_arm_mach-imx_generic.c Wrote >linux-2.6.16_arch_arm_mach-imx_generic.h Wrote >linux-2.6.16_arch_arm_mach-imx_irq.c Wrote >linux-2.6.16_arch_arm_mach-imx_mx21ads.c Wrote >linux-2.6.16_arch_arm_mach-imx_tcmx21.c Wrote >linux-2.6.16_arch_arm_mach-imx_time.c Wrote >linux-2.6.16_arch_arm_mm_Kconfig Wrote >linux-2.6.16_drivers_char_Kconfig Wrote >linux-2.6.16_drivers_char_Makefile Wrote >linux-2.6.16_drivers_char_chumby_accel.c Wrote >linux-2.6.16_drivers_char_chumby_accel.h Wrote >linux-2.6.16_drivers_char_chumby_sense1.c Wrote >linux-2.6.16_drivers_char_chumby_sense1.h Wrote >linux-2.6.16_drivers_char_chumby_timer.c Wrote >linux-2.6.16_drivers_char_chumby_timer.h Wrote >linux-2.6.16_drivers_char_imx_spi.c Wrote >linux-2.6.16_drivers_char_imx_spidrv.c Wrote >linux-2.6.16_drivers_i2c_busses_Kconfig Wrote >linux-2.6.16_drivers_i2c_busses_Makefile Wrote >linux-2.6.16_drivers_i2c_busses_i2c-imx.c Wrote >linux-2.6.16_drivers_i2c_chips_pcf8574.c Wrote >linux-2.6.16_drivers_input_touchscreen_Kconfig Wrote >linux-2.6.16_drivers_input_touchscreen_Makefile Wrote >linux-2.6.16_drivers_input_touchscreen_ads7846-csb535.c Wrote >linux-2.6.16_drivers_input_tsdev.c Wrote >linux-2.6.16_drivers_mfd_Makefile Wrote >linux-2.6.16_drivers_mfd_chumby-tsc2100.c Wrote >linux-2.6.16_drivers_mfd_chumby-tsc2100.h Wrote >linux-2.6.16_drivers_mfd_imx21-tsc2100.c Wrote >linux-2.6.16_drivers_mfd_tsc2100-core.c Wrote >linux-2.6.16_drivers_mfd_tsc2100-ts.c Wrote >linux-2.6.16_drivers_mfd_tsc2100.h Wrote >linux-2.6.16_drivers_mmc_Kconfig Wrote >linux-2.6.16_drivers_mmc_Makefile Wrote >linux-2.6.16_drivers_mmc_imxmmc.c Wrote >linux-2.6.16_drivers_mmc_imxmmc.h Wrote >linux-2.6.16_drivers_mmc_mmc.c Wrote >linux-2.6.16_drivers_mmc_mmc_block.c Wrote >linux-2.6.16_drivers_mmc_pxamci.c Wrote >linux-2.6.16_drivers_mtd_chips_cfi_probe.c Wrote >linux-2.6.16_drivers_mtd_chips_cfi_util.c Wrote >linux-2.6.16_drivers_mtd_maps_Kconfig Wrote >linux-2.6.16_drivers_mtd_maps_Makefile Wrote >linux-2.6.16_drivers_mtd_maps_csbxxx.c Wrote >linux-2.6.16_drivers_mtd_maps_mx21ads.c Wrote >linux-2.6.16_drivers_mtd_nand_Kconfig Wrote >linux-2.6.16_drivers_mtd_nand_Makefile Wrote >linux-2.6.16_drivers_mtd_nand_mx21ads.c Wrote >linux-2.6.16_drivers_mtd_nand_nand_base.c Wrote >linux-2.6.16_drivers_net_Kconfig Wrote >linux-2.6.16_drivers_net_Makefile Wrote >linux-2.6.16_drivers_net_cirrus.c Wrote >linux-2.6.16_drivers_net_cirrus.h Wrote >linux-2.6.16_drivers_serial_Kconfig Wrote >linux-2.6.16_drivers_serial_imx.c Wrote >linux-2.6.16_drivers_usb_Makefile Wrote >linux-2.6.16_drivers_usb_host_Kconfig Wrote >linux-2.6.16_drivers_usb_host_Makefile Wrote >linux-2.6.16_drivers_usb_host_ghr-dbug.c Wrote >linux-2.6.16_drivers_usb_host_imx21-hcd.c Wrote >linux-2.6.16_drivers_usb_host_imx21-hcd.h Wrote >linux-2.6.16_drivers_video_Kconfig Wrote >linux-2.6.16_drivers_video_cosole_fbcon.c Wrote >linux-2.6.16_drivers_video_fbmem.c Wrote >linux-2.6.16_drivers_video_imxfb.c Wrote >linux-2.6.16_drivers_video_imxfb.h Wrote >linux-2.6.16_drivers_video_logo_Kconfig Wrote >linux-2.6.16_drivers_video_logo_Makefile Wrote >linux-2.6.16_drivers_video_logo_logo.c Wrote >linux-2.6.16_drivers_video_logo_logo_turbochef_clut224.ppm Wrote >linux-2.6.16_fs_cramfs_inode.c Wrote >linux-2.6.16_fs_cramfs_uncompress.c Wrote >linux-2.6.16_fs_jffs2_scan.c Wrote >linux-2.6.16_include_asm-arm_arch-imx_csb535.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_csb536.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_debug-macro.S Wrote >linux-2.6.16_include_asm-arm_arch-imx_dma.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_hardware.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_imx-dma.g Wrote >linux-2.6.16_include_asm-arm_arch-imx_imx-regs.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_imx21-hcd.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_imxfb.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_irqs.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_memory.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_mmc.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_mx21ads.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_system.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_tcmx21.h Wrote >linux-2.6.16_include_asm-arm_arch-imx_uncompress.h Wrote >linux-2.6.16_include_linux_cramfs_fs.h Wrote >linux-2.6.16_include_linux_i2c-id.h Wrote >linux-2.6.16_include_linux_imx_spi.h Wrote >linux-2.6.16_include_linux_mfd_tsc2100.h Wrote >linux-2.6.16_include_linux_mmc_card.h Wrote >linux-2.6.16_include_linux_root_dev.h Wrote >linux-2.6.16_include_sound_wm8731.h Wrote >linux-2.6.16_init_do_mounts.c Wrote >linux-2.6.16_init_main.c Wrote >linux-2.6.16_linux_drivers_mfd_Makefile Wrote >linux-2.6.16_linux_drivers_mfd_tsc2100-core.c Wrote >linux-2.6.16_linux_drivers_mfd_tsc2100-ts.c Wrote >linux-2.6.16_linux_drivers_mfd_tsc2100.h Wrote >linux-2.6.16_linux_include_linux_mfd_tsc2100.h Wrote >linux-2.6.16_sound_arm_Kconfig Wrote >linux-2.6.16_sound_arm_Makefile Wrote >linux-2.6.16_sound_arm_imx21-wm8731.c
この項、作業中。