Intel Edisonã«Xenomaiãå ¥ããï¼ãã ãWiFiãªã...ï¼ â (æ¬é¡)
前回ã«ç¶ããEdisonã«Xenomaiãå ¥ãã¦ããã¾ãã
Xenomaiç¨ã®ããããä½æãã
ã¾ããã³ã³ãã¤ã«ã«å¿ è¦ãªEdisonç¨ã®Xenomaiããããä½æãã¦ããã¾ããæåã«Xenomaiã®ã³ã¼ããã¨ã£ã¦ãã¾ãããã以ä¸ã§ã¯ãEdisonãLinuxã®ã½ã¼ã¹ã³ã¼ããå±éãããã£ã¬ã¯ããªãåºæºã¨ãã¦ãã¾ãã
$ ls edison-src linux-yocto-3.10-3.10.32.tar.bz2 linux-yocto-3.10-3.10.32 upstream_to_edison.3.10.32.patch linux-yocto-3.10-3.10.32-edison $ git clone git://git.xenomai.org/xenomai-3.git Cloning into 'xenomai-3'... remote: Counting objects: 120758, done. remote: Compressing objects: 100% (20429/20429), done. remote: Total 120758 (delta 98188), reused 119251 (delta 96934) Receiving objects: 100% (120758/120758), 273.37 MiB | 625.00 KiB/s, done. Resolving deltas: 100% (98188/98188), done. Checking connectivity... done. $ ls edison-src linux-yocto-3.10-3.10.32.tar.bz2 linux-yocto-3.10-3.10.32 upstream_to_edison.3.10.32.patch linux-yocto-3.10-3.10.32-edison xenomai-3 $
ç¶ãã¦ãå ã®Yocto Projectã®ã«ã¼ãã«3.10.32ã«å¯¾ãã¦Xenomaiã®ããããå½ã¦ã¾ããXenomaiããããå½ã¦ãã«ã¯ドキュメントã«ããããã«ãã¹ã¯ãªãããå®è¡ãã¦ããã¾ããããããå½ã¦ãããåããããã«ãã£ã¬ã¯ããªåãå¤æ´ãã¦ããã¾ãããã
$ xenomai-3/scripts/prepare-kernel.sh --help usage: prepare-kernel --linux=--ipipe= [--arch= ] [--outpatch= [--filterkvers=y|n] [--filterarch=y|n]] [--forcelink] [--def ault] [--verbose] $ xenomai-3/scripts/prepare-kernel.sh --linux=linux-yocto-3.10-3.10.32 \ checking file arch/x86/Kconfig checking file arch/x86/Kconfig.debug checking file arch/x86/include/asm/apic.h ... checking file mm/mmu_context.c checking file mm/mprotect.c checking file mm/vmalloc.c $ mv linux-yocto-3.10-3.10.32 linux-yocto-3.10-3.10.32-ipipe $ ls edison-src linux-yocto-3.10-3.10.32.tar.bz2 linux-yocto-3.10-3.10.32-edison upstream_to_edison.3.10.32.patch linux-yocto-3.10-3.10.32-ipipe xenomai-3 $ä»åº¦ã¯Xenomaiããããå½ã¦ãã«ã¼ãã«ã½ã¼ã¹ã³ã¼ãã«Edisonããããå½ã¦ã¦ããã¾ããããã§ä½¿ç¨ããã®ã¯ãååä½æãã3.10.32ç¨ã®ãããã§ãã$ cd linux-yocto-3.10-3.10.32-ipipe/ $ patch -p1 < ../upstream_to_edison.3.10.32.patch patching file Documentation/kernel-parameters.txt patching file arch/x86/Kconfig Hunk #1 succeeded at 446 (offset 4 lines). ... patching file kernel/power/process.c patching file kernel/printk.c patching file sound/soc/codecs/sn95031.c $ find . -name "*.rej" ./arch/x86/kernel/apic/io_apic.c.rej $
ãã®ã¨ããã²ã¨ã¤ã®ãã¡ã¤ã«(arch/x86/kernel/apic/io_apic.c)ã§ãããé©ç¨å¤±æã¨ãªãã¾ããããã«ã¤ãã¦ã¯ãæåã§ä¿®æ£ãã¦ããã¾ãã2656è¡ç®ãã以ä¸ã®ããã«ä¿®æ£ãã¾ããstatic struct irq_chip ioapic_chip __read_mostly = { .name = "IO-APIC", .irq_startup = startup_ioapic_irq, .irq_mask = mask_ioapic_irq, .irq_unmask = unmask_ioapic_irq, .irq_ack = ack_apic_edge, .irq_eoi = ack_apic_level, .irq_set_affinity = native_ioapic_set_affinity, .irq_retrigger = ioapic_retrigger_irq, #ifdef CONFIG_IPIPE #ifdef CONFIG_SMP .irq_move = move_xxapic_irq, #endif .irq_hold = hold_ioapic_irq, .irq_release = release_ioapic_irq, #endif };ããããããããâââââstatic struct irq_chip ioapic_chip __read_mostly = { .name = "IO-APIC", .irq_startup = startup_ioapic_irq, .irq_mask = mask_ioapic_irq, .irq_unmask = unmask_ioapic_irq, .irq_ack = ack_apic_edge, .irq_eoi = ack_apic_level, .irq_set_affinity = native_ioapic_set_affinity, .irq_set_wake = ioapic_set_wake, .irq_retrigger = ioapic_retrigger_irq, #ifdef CONFIG_IPIPE #ifdef CONFIG_SMP .irq_move = move_xxapic_irq, #endif .irq_hold = hold_ioapic_irq, .irq_release = release_ioapic_irq, #endif .flags = IRQCHIP_SKIP_SET_WAKE, };ä¿®æ£ãããããããé©ç¨æã«åºæ¥ãä½è¨ãªãã¡ã¤ã«ãåé¤ãã¾ããEmacsã§ç·¨éããå ´åã«ã¯ãç·¨éæã®ããã¯ã¢ãããã¡ã¤ã«ï¼arch/x86/kernel/apic/io_apic.c~ï¼ãæ¶ãã¾ãããããã®å¾ããããå½ã¦ããã¨ãå¿ããªãããã«ããã£ã¬ã¯ããªåãå¤æ´ãã¦ããã¾ãããã$ find . -name "*.rej" -exec rm {} \; $ find . -name "*.orig" -exec rm {} \; $ cd .. $ mv linux-yocto-3.10-3.10.32-ipipe linux-yocto-3.10-3.10.32-ipipe-edison $ ls edison-src linux-yocto-3.10-3.10.32.tar.bz2 linux-yocto-3.10-3.10.32-edison upstream_to_edison.3.10.32.patch linux-yocto-3.10-3.10.32-ipipe-edison xenomai-3 $
ããã§ãEdisonç¨ã®Xenomaiããããä½ããã¨ãåºæ¥ã¾ããä½æãããããã¯ååä½æãããããã¨åãå ´æã«ã³ãã¼ãã¾ããããããã§ãããã®ä½æãå®äºã§ãã$ diff -Narup *-3.10.32-edison *-3.10.32-ipipe-edison > xenomai-3.0-3.10.32.patch $ cp xenomai-3.0-3.10.32.patch edison-src/device-software/meta-edison/recipes-kernel/linux/files/ $ã³ã³ãã¤ã«ç°å¢ã®ä¿®æ£
ã«ã¼ãã«ã®ãã«ãæã«ä½æããXenomaiããããé©ç¨ã§ãããããlinux-yocto_3.10.bbappendãä¿®æ£ãã¦ããã¾ããä¿®æ£ã¯ä»¥ä¸ã®èµ¤ãé¨åã追å ããã ãã§ããFILESEXTRAPATHS_prepend := "${THISDIR}/files:" COMPATIBLE_MACHINE = "edison" LINUX_VERSION = "3.10.32" SRCREV_machine = "61dde96f97bb5b1ed4c11caf9a857d55ad8f6e17" SRCREV_meta = "e46e0e44708e23533f8df904cebf23a352e9053a" SRC_URI += "file://defconfig" SRC_URI += "file://upstream_to_edison.3.10.32.patch" SRC_URI += "file://xenomai-3.0-3.10.32.patch" do_configure() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_kernel_configme() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_patch() { cd ${S} git apply "${WORKDIR}/upstream_to_edison.3.10.32.patch" git apply "${WORKDIR}/xenomai-3.0-3.10.32.patch" }次ã«ãWiFié¢ä¿ãä¿®æ£ãã¾ãã Edisonã®WiFiããã³Bluetoothã®ã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã¯ãã«ã¼ãã«ã¨ã¯å¥ã«edison-src/broadcom_cwsãã£ã¬ã¯ããªã«ç¨æããã¦ãã¾ããã«ã¼ãã«ã®ãã«ãå¾ããããã®ã¢ã¸ã¥ã¼ã«ããã«ããã¦çµã¿è¾¼ãã§ãã¾ãã ç¾ç¶ãWiFiã¢ã¸ã¥ã¼ã«ã¯Xenomaiã«ã¼ãã«ä¸ã§ãã®ã¾ã¾ã§ã¯åä½ããªããããä»åã¯ã¯ããã¾ãã ãªããBluetoothã¢ã¸ã¥ã¼ã«ã¯ããããã¦åä½ã¯ãã¾ãããä¸å®å®ã§ãã WiFiã¢ã¸ã¥ã¼ã«ã®ãã«ããããªãããã«ããã«ã¯ãedison-src/device-software/meta-edison-distro/recipes-core/imagesãã£ã¬ã¯ããªã«ããedison-image.bbãä¿®æ£ãã¾ãã 81è¡ç®ãã以ä¸ã®ããã«èµ¤ãé¨åãã³ã¡ã³ãã¢ã¦ããã¾ããBluetoothã¢ã¸ã¥ã¼ã«ããã«ãããªãå ´åã¯bcm43340-btã¨bluetooth-rfkill-eventã®è¡ãã³ã¡ã³ãã¢ã¦ããã¾ãã ï¼ã¡ãªã¿ã«ãEdisonèµ·åå¾ã«WiFiã使ããªããã°åé¡ãªãã®ã§ããã®ä¿®æ£ã¯å¿ é ã§ã¯ããã¾ãããï¼# Wifi firmware #IMAGE_INSTALL += "bcm43340-fw" # Bluetooth Firmware patch for 43340 and its patch utility IMAGE_INSTALL += "bcm43340-bt" # service daemon that listens to rfkill events and trigger FW patch download IMAGE_INSTALL += "bluetooth-rfkill-event" # Wifi driver built as a kernel module #IMAGE_INSTALL += "bcm43340-mod"åºæ¥ä¸ãã£ãEdisonã®ã¤ã¡ã¼ã¸ãEdisonã«æ¸ãè¾¼ãã æã«ã¯ã次ã®èµ·åæã«ä¸æ¦å ¨ä½ã®è¨å®ãè¡ããã¾ãããã®æWiFiã®è¨å®ãè¡ããããã®æã«ã¢ã¸ã¥ã¼ã«ãçµã¿è¾¼ã¾ãã¾ããXenomaiãçµã¿è¾¼ãã ã«ã¼ãã«ã§ã¯ãã®ã¨ããã³ã°ãã¦ãã¾ãã¾ãã®ã§ã以ä¸ã§ã¯ãã®è¨å®ãããªãããã«ä¿®æ£ãã¾ãã Edisonã¸ã®ã¤ã¡ã¼ã¸ã®æ´æ°æ¹æ³ã«ã¯2éããããUSBçµç±ã§ãã¡ã¤ã«ãã³ãã¼ãã¦"reboot ota"ããæ¹æ³ã¨ãdfu-utilを使う方法ãããã¾ããããããåä½ããã¹ã¯ãªãããç°ãªãã åè ã¯edison-src/device-software/meta-edison-distro/recipes-core/ota-update/files/ota-update.sh å¾è ã¯edison-src/device-software/meta-edison-distro/recipes-core/first-install/files/first-install.sh ã¨ãªãã¾ãã ãããããã¡ã¤ã«ã®æå¾ãã9è¡ç®ä»è¿ã®ã# Setup Access Point SSID and passphraseã以ä¸2è¡ãã³ã¡ã³ãã¢ã¦ããã¾ãã# Setup Access Point SSID and passphrase #setup_ap_ssid_and_passphrase #fi_assert $? "Generating Wifi Access Point SSID and passphrase"ããã§ã²ã¨ã¾ãä¿®æ£ã¯å®äºã§ããã«ã¼ãã«ã¨ã¤ã¡ã¼ã¸ã®ãã«ã
ãã¨ã¯ã«ã¼ãã«ããã«ãããEdisonã®ã¤ã¡ã¼ã¸ãæ§ç¯ãã¾ãã 念ã®ãããã«ã¼ãã«ãcleanãã¦ãããã«ããã¾ãã$ cd edison-src/build $ bitbake virtual/kernel -c clean $ bitbake virtual/kernelãã®ã¨ãããã«ãã¨ã©ã¼ãçºçãã¾ããããã¯ä½¿ç¨ããã«ã¼ãã«ã®è¨å®ãã¡ã¤ã«ï¼.configï¼ãå ã®Edisonãªãªã¸ãã«ã®ãã®ã§ããããã®ä¸ã«ã¯Xenomaié¢é£ã®è¨å®é ç®ããªãããã§ãï¼å é¨çã«make oldconfigãè¡ããæ°ããé ç®ã§ã¯å ¥åãæ±ãã¦ããããï¼ã ããã§ã¯æ示çã«ã«ã¼ãã«ã®è¨å®ãè¡ãã¾ãã$ bitbake virtual/kernel -c menuconfigãã®ä¸ã§ã¯ã以ä¸ã®è¨å®ãè¡ãã¾ãããã¦ãå¾ã¯ããä¸åº¦ã«ã¼ãã«ã®ãã«ãã¨Edisonã¤ã¡ã¼ã¸ã®ä½æã§ãã
- [General setup]--->[Local version - append to kernel release]
- "-poky-edison"ã¨ãªã£ã¦ã¾ãã®ã§ãXenomaiã ã¨åããããã«è¨å®ãã¾ãããããã¨ãã°"-poky-edison-ipipe"ãªã©ã
- [Xenomai/cobalt]
- æå¹ã«ãã¾ãã
- [Processor type and features]--->[Interrupt pipeline]
- æå¹ã«ãã¾ããï¼[Xenomi/cobalt]ãæå¹ã ã¨ãããããã§ã«æå¹ã«ãªã£ã¦ãã¾ããï¼
- [Power management and ACPI options]--->[CPU Frequency scaling]--->[CPU Frequency scaling]
- ç¡å¹ã«ãã¾ãã
- [Power management and ACPI options]--->[CPU idle PM support]
- ç¡å¹ã«ãã¾ãã
- [Device Drivers]--->[Network device support]--->[Wireless LAN]
- ç¡å¹ã«ãã¾ããï¼WiFiã¢ã¸ã¥ã¼ã«ã®ãã«ãã®ã¨ããã¨åæ§ãXenomaiä¸ã§ä½¿ç¨ããªããã°ç¡å¹ã«ããªãã¦ããããã©â¦ï¼
$ bitbake virtual/kernel ... $ bitbake edison-image ... $ ../device-software/utils/flash/postBuild.sh以ä¸ã§ãEdisonç¨ã®Xenomaiã«ã¼ãã«ã®ãã«ããåºæ¥ã¾ãããåºæ¥ä¸ãã£ãtoFlashãã£ã¬ã¯ããªå ã®ãã¡ã¤ã«ãEdisonã«è»¢éããEdisonä¸ã§"reboot ota"ã§åèµ·åããã¨ãXenomaiã«ã¼ãã«ã§èµ·åããã¯ãã§ãããããã«
ç¾ç¶ã以ä¸ã®èª²é¡ãæ®ã£ã¦ãã¾ãããã¤ã«ãªããåããã¾ããããå°ããã¤ãã£ã¦ãããã¨æãã¾ãã ä½ãæ å ±ãããã¾ããããæãã¦ããã ããã¨ãããããã§ãã ã§ã¯ã§ã¯ã
- Xenomaiç¨ã®ããã°ã©ã ãä½æããããã®ãã«ãç°å¢ãæ´ãã
- Bluetoothã¢ã¸ã¥ã¼ã«ãä¸å®å®ãªã®ã§ãä¿®æ£ãå¿ è¦ã
- WiFiã¢ã¸ã¥ã¼ã«ãåä½ã§ãããããä¿®æ£ãå¿ è¦ã
Intel Edisonã«Xenomaiãå ¥ããï¼ãã ãWiFi, BlueToothãªã...ï¼ â (æºåç·¨)
ãä¹
ãã¶ãã§ãã
ã¨ã¼ã£ã£ã£ã£ã¦ãä¹
ãã¶ãã«æ¸ãã¾ãï¼4å¹´9ã¶æã¶ããããã§ããï¼ãç·¨éæ¹æ³å¿ãã¦ã¾ããwww
Intel Edisonã¨ãããSDã«ã¼ããµã¤ãºã§çµè¾¼ã¿Linuxã®åä½ããæ©å¨ãããã¾ãããããã«Linuxã®ãªã¢ã«ã¿ã¤ã æ¡å¼µã§ããXenomaiãå°å
¥ãã¦ã¿ã¾ãããã ããBroadcomã®ã«ã¼ãã«ãã©ã¤ãï¼WiFiã¨BlueToothï¼ã«ã¤ãã¦ã¯Xenomaiã«å¯¾å¿ã§ããªãã£ãã®ã§ãç¾ç¶ã§ã¯å¤ãã¦ãã¾ãããããããã
Edison ã§ã¯ãYocto Projectã®Linuxã使ããã¦ãããEdisonç¨ã®ç°å¢ã®ã½ã¼ã¹ã³ã¼ãã¯ここãããã¦ã³ãã¼ãã§ããこのドキュメントã®éãã«ããã°ãèªåã§ãã«ãã§ãã¾ãã
ã¾ãã¯ä¸æ¦ããã«ããã¦ã¿ã¦ãã ããã
Edisonã®Kernelãã¼ã¸ã§ã³ãå¤æ´ãã
ãã¦ãEdisonä¸ã®Linux kernelã¯ãYocto Projectã®3.10.17ããã¼ã¹ã«Edisonç¨ã®ããããé©ç¨ãã¦ãã«ããã¦ãã¾ãã
ä¸æ¹ãXenomaiã¯Vanilla kernelã®3.10.32ã«å¯¾ããããããæãè¿ããã®ã«ãªãã¾ãã
ãªã®ã§æé ã¨ãã¦ã¯ãEdisonä¸ã§3.10.32ãåä½ããç°å¢ãã¾ãä½ã£ã¦ã¿ã¦ããã®å¾Xenomaiããããä½æã»é©ç¨ãã¦ãã«ããã¦ããã¾ãã
ããã§ãã¾ãã¯Edisonç¨ã®kernel 3.10.32ãæºåãã¾ãããã
Yoctoã®3.10.32ã®ã½ã¼ã¹ã³ã¼ããã¦ã³ãã¼ã
Yoctoã®3.10.32ã®ã½ã¼ã¹ã³ã¼ãã¯ãYocto Projectのリポジトリå ã®ここãããã¦ã³ãã¼ãã§ãã¾ãã
3.10.32ã®Edisonç¨ãããã®ä½æ
ãã¦ã³ãã¼ããããå±éããEdisonç¨ããããå½ã¦ã¦ã¿ã¾ããããã§Edisonã®ã½ã¼ã¹ãå±éãããã£ã¬ã¯ããªã«ãã¦ã³ãã¼ãããã«ã¼ãã«ãå±éãããã®ã¨ãã¾ãã
$ ls edison-src linux-yocto-3.10-3.10.32.tar.bz2 $ tar jxf linux-yocto-3.10-3.10.32.tar.bz2 $ ls edison-src linux-yocto-3.10-3.10.32 linux-yocto-3.10-3.10.32.tar.bz2 $ cd linux-yocto-3.10-3.10.32 $ patch -p1 < ../edison-src/device-software/meta-edison/recipes-kernel/linux/files/upstream_to_edison.patch
ããã¨ä»¥ä¸ã®ããã«2åã»ã©ãªãã¼ã¹ããããæ¤åºãã¦å ¥åãæ±ãããã¾ãã®ã§ããã¹ã¦ãªã¿ã¼ã³ãã¼ãæ¼ãã¦ããéããã¾ãã
... patching file kernel/cgroup.c Reversed (or previously applied) patch detected! Assume -R? [n] <--- Return Apply anyway? [n] <--- Return Skipping patch. 3 out of 3 hunks ignored -- saving rejects to file kernel/cgroup.c.rej ... patching file kernel/trace/trace.c Reversed (or previously applied) patch detected! Assume -R? [n] <--- Return Apply anyway? [n] <--- Return Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file kernel/trace/trace.c.rej patching file sound/soc/codecs/sn95031.c $
ãã®ã¨ãããããé©ç¨ã«å¤±æãããã¡ã¤ã«ã¯3åã»ã©ã«ãªãã¾ãã
$ find . -name "*.rej" ./drivers/hwmon/coretemp.c.rej ./kernel/trace/trace.c.rej ./kernel/cgroup.c.rej $
ãã®ãã¡ãkernel/trace/trace.cã¨kernel/cgroup.cã«ã¤ãã¦ã¯ç¡è¦ãã¦ãã¾ãã¾ããã3.10.17ãã3.10.32ã«ãã¼ã¸ã§ã³ãå¤ãã£ãéã«é©ç¨ãããä¿®æ£ãEdisonãããã«ãå«ã¾ãã¦ããã ãã§ãã®ã§ã
drivers/hwmon/coretemp.cã«å¯¾ãã失æã¯æåã§ä¿®æ£ãã¾ãã
54è¡ç®ãã以ä¸ã®ããã«ä¿®æ£ãã¾ãã
#define BASE_SYSFS_ATTR_NO 2 /* Sysfs Base attr no for coretemp */ #define NUM_REAL_CORES 32 /* Number of Real cores per cpu */ #define CORETEMP_NAME_LENGTH 19 /* String Length of attrs */ #define MAX_CORE_ATTRS 4 /* Maximum no of basic attrs */ #define TOTAL_ATTRS (MAX_CORE_ATTRS + 1) #define MAX_CORE_DATA (NUM_REAL_CORES + BASE_SYSFS_ATTR_NO)
ããããããããâââââ
#define BASE_SYSFS_ATTR_NO 2 /* Sysfs Base attr no for coretemp */ #define NUM_REAL_CORES 32 /* Number of Real cores per cpu */ #define CORETEMP_NAME_LENGTH 33 /* String Length of attrs */ #define MAX_CORE_ATTRS 5 /* Maximum no of basic attrs */ #define MAX_THRESH_ATTRS 4 /* Maximum no of threshold attrs */ #define TOTAL_ATTRS (MAX_CORE_ATTRS + MAX_THRESH_ATTRS) #define MAX_CORE_DATA (NUM_REAL_CORES + BASE_SYSFS_ATTR_NO)
ãã¨ã¯ãããæã«åºæ¥ãä½è¨ãªãã¡ã¤ã«ãæ¶ãã¾ããEmacsã§ç·¨éããå ´åã«ã¯ãç·¨éæã®ããã¯ã¢ãããã¡ã¤ã«ï¼drivers/hwmon/coretemp.c~ï¼ãæ¶ãã¾ãããã
$ find . -name "*.rej" -exec rm {} \; $ find . -name "*.orig" -exec rm {} \;
ãã¨ã¯ãã¨ã®3.10.32ã«ã¼ãã«ã¨å·®åãã¨ã£ã¦ããããä½æãã¾ãã
$ cd .. $ mv linux-yocto-3.10-3.10.32 linux-yocto-3.10-3.10.32-edison $ tar jxf linux-yocto-3.10-3.10.32.tar.bz2 $ diff -Narup linux-yocto-3.10-3.10.32 linux-yocto-3.10-3.10.32-edison > upstream_to_edison.3.10.32.patch
ãããå ã®ãããããã£ãå ´æã«é ç½®ãã¦3.10.32ç¨ã®Edisonãããã®ä½æã¯ã²ã¨ã¾ãå®äºã§ãã
$ cp upstream_to_edison.3.10.32.patch edison-src/device-software/meta-edison/recipes-kernel/linux/files/
bitbakeã®è¨å®ãã¡ã¤ã«ã®ä¿®æ£
bitbakeã§3.10.32ã«ã¼ãã«ãã³ã³ãã¤ã«ããããã«ã¯ããã£ã¬ã¯ã㪠edison-src/device-software/meta-edison/recipes-kernel/linux/ ã«ãã
linux-yocto_3.10.bbappend ãä¿®æ£ããå¿
è¦ãããã¾ãã
ãã®ãã¡ã¤ã«ã®ä¸èº«ã¯ä»¥ä¸ã®ããã«ãªã£ã¦ãã¾ãã
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" COMPATIBLE_MACHINE = "edison" LINUX_VERSION = "3.10.17" SRCREV_machine = "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_meta = "6ad20f049abd52b515a8e0a4664861cfd331f684" SRC_URI += "file://defconfig" SRC_URI += "file://upstream_to_edison.patch" do_configure() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_kernel_configme() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_patch() { cd ${S} git am "${WORKDIR}/upstream_to_edison.patch" }
ãã®ãªãã§åããã«ããã®ã¯ãSRCREV_machineã¨SRCREV_meta ã§ãã
SRCREV_machineã«ã¯ãYocto Projectå
ã®Gitãªãã¸ããªã«ããã3.10.32カーネルのcommit IDã§ãã3.10.32ã¯"61dde96f97bb5b1ed4c11caf9a857d55ad8f6e17"ã§ãã
SRCREV_metaã¯ãここããæ¢ããã¨ãåºæ¥ã¾ãã3.10.32の最も新しいもの(3.10.34に変わる直前)ã®commit IDã¯ã"e46e0e44708e23533f8df904cebf23a352e9053a"ã¨ãªãã¾ãã
ã¾ããã®ä¸ã«ã¯å
ã»ã©ä½æããããããé©ç¨ããããã«ä¿®æ£ããå¿
è¦ãããã¾ãããã ããdiffã³ãã³ããç¨ãããããã§ãã®ã§ããgit am ããã§ã¯ãªããgit apply ããã«å¤æ´ãã¾ãã
ä¿®æ£ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" COMPATIBLE_MACHINE = "edison" LINUX_VERSION = "3.10.32" SRCREV_machine = "61dde96f97bb5b1ed4c11caf9a857d55ad8f6e17" SRCREV_meta = "e46e0e44708e23533f8df904cebf23a352e9053a" SRC_URI += "file://defconfig" SRC_URI += "file://upstream_to_edison.3.10.32.patch" do_configure() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_kernel_configme() { cp "${WORKDIR}/defconfig" "${B}/.config" } do_patch() { cd ${S} git apply "${WORKDIR}/upstream_to_edison.3.10.32.patch" }
ããã¾ã§ããã°ããã¨ã¯ã³ã³ãã¤ã«ã§ãã
ãããbitbakeã使ããç°å¢ã«ãªã£ã¦ããªããã°edison-srcãã£ã¬ã¯ããªã§ã以ä¸ã®ããã«ä½¿ããããã«ãã¦ããã¾ãã
$ cd edison-src $ source poky/oe-init-build-env ### Shell environment set up for builds. ### You can now run 'bitbake' Common targets are: core-image-minimal core-image-sato meta-toolchain adt-installer meta-ide-support You can also run generated qemu images with a command like 'runqemu qemux86' $
ããã¦ãã«ããã¦ããã¾ãã
$ bitbake virtual/kernel ... $ bitbake edison-image ... $ ../device-software/utils/flash/postBuild.sh
以ä¸ã§ãEdisonç¨ã®3.10.32ã«ã¼ãã«ã®ãã«ããåºæ¥ã¾ãããåºæ¥ä¸ãã£ãtoFlashãã£ã¬ã¯ããªå ã®ãã¡ã¤ã«ãEdisonã«è»¢éããEdisonä¸ã§"reboot ota"ã§åèµ·åããã¨ã3.10.32ã«ã¼ãã«ã§èµ·åããã¯ãã§ãã
ã¨ãããããä»æ¥ã¯ããã¾ã§ã
Xenomaiãããã®é©ç¨ã«ã¤ãã¦ã¯ã次åæ¸ãã¾ããã
追è¨ï¼Bluetoothã¯ä½¿ãããã§ããã
DRBDãåããã¦ã¿ãåå¿é²
åèãµã¤ã
ãã¤ãã®ããã«ãã²ã¹ãOS 2å°ã§æ§ç¯ãOSã¯CentOS 5.4ã§ãã
1å°ç®ã®ãã¹ãåã"drbd_prim"ãIPã¢ãã¬ã¹ã192.168.1.96ã2å°ç®ã®ãã¹ãåã"drbd_second"ãIPã¢ãã¬ã¹ã192.168.1.97ã¨ãã¾ãã
ã¾ããDRBDããã¤ã¹ã¯/dev/drbd0ã¨ãã¾ãã
ã¾ããã²ã¹ãOSä¸ã¤ãæºåãã¦ãã®å¾ãããã³ãã¼ãã¾ãã
1å°ç®
先日ä½ã£ã¦ãããç´ ã®CentOS 5.4ï¼å æ¥ã®ãã²ã¹ãOSã®ã¤ã³ã¹ãã¼ã«ï¼CentOSï¼ãã®ã¨ããã¾ã§ã®ãã®ï¼ãã³ãã¼ã
# virt-clone -o centos.base -n drbd_prim -f /var/lib/libvirt/images/drbd_prim.img
ã§ããã¼ããã£ã¹ã¯ã追å ãvirt-managerçã§è¿½å ãã¦ãã ããã
ããã§ã¯ã/dev/hdbã«16Gãä½ã£ã¦ãã¾ãã
èµ·åãã¦ããã±ã¼ã¸ã¤ã³ã¹ãã¼ã«
ã²ã¹ããèµ·åãã¦ãå¿
è¦ãªããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ããã¦ããã¾ãã
ã¾ãã¯ã¢ãããã¼ãã
# yum -y update
DRBDã®ãã«ãã«å¿ è¦ãªããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«
# yum -y install make gcc flex kernel-devel rpm-build
DRBDã®ãã«ãã¨ã¤ã³ã¹ãã¼ã«
é©å½ãªãã£ã¬ã¯ããªã§DRBDã®ã½ã¼ã¹ãåå¾ãã¦å±éãã¾ãã
# mkdir work # cd work/ # wget http://oss.linbit.com/drbd/8.3/drbd-8.3.7.tar.gz # tar zxf drbd-8.3.7.tar.gz # cd drbd-8.3.7 #
ã§ãç¶ãã¦rpmããã«ã
# ./configure # make rpm # make km-rpm #
/usr/src/redhat/RPMS/*/ 以ä¸ã«rpmããã±ã¼ã¸ã8åä½æãããã®ã§ãããããã¤ã³ã¹ãã¼ã«ã
# rpm -ivh /usr/src/redhat/RPMS/*/drbd-* æºåä¸... ########################################### [100%] 1:drbd-utils ########################################### [ 13%] 2:drbd-bash-completion ########################################### [ 25%] 3:drbd-heartbeat ########################################### [ 38%] 4:drbd-pacemaker ########################################### [ 50%] 5:drbd-udev ########################################### [ 63%] 6:drbd-xen ########################################### [ 75%] 7:drbd ########################################### [ 88%] 8:drbd-km-2.6.18_164.15.1########################################### [100%] #
DRBDã®è¨å®
DRBDã®è¨å®ã¯ã/etc/drbd.d/ã«ã*.resã¨ãã¦ä½æãã¾ããï¼/etc/drbd.confãç´æ¥ç·¨éãã¦ãããã§ãããï¼
# cat /etc/drbd.d/test.res resource test { device /dev/drbd0; disk /dev/hdb1; meta-disk internal; on drbd_prim { address 192.168.1.96:7789; } on drbd_second { address 192.168.1.97:7789; } } #
å ã¿ã«è¨å®ãã¡ã¤ã«ã®ä¾ã¯ãã½ã¼ã¹ã³ã¼ãã® scripts/drbd.conf.example ã«ããã¾ãã
ç¶ãã¦ã追å ãããã¼ããã£ã¹ã¯ã¯fdiskã§ãã¼ãã£ã·ã§ã³(/dev/hdb1)ãä½æãã¦ããã¾ãã
# fdisk -l /dev/hdb Disk /dev/hdb: 17.1 GB, 17179868672 bytes 255 heads, 63 sectors/track, 2088 cylinders Units = ã·ãªã³ãæ° of 16065 * 512 = 8225280 bytes ããã¤ã¹ Boot Start End Blocks Id System /dev/hdb1 1 2088 16771828+ 83 Linux #
ãããã¯ã¼ã¯è¨å®ã¯ã以ä¸ã®ããã«èµ¤ãã¨ãããç·¨éããã¾ããifcfg-eth0.bakã¯åé¤ãã¾ãã
# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=drbd_prim â ãã¹ãå # rm /etc/sysconfig/network-scripts/ifcfg-eth0.bak # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none â åºå®IPã¢ãã¬ã¹ ONBOOT=yes HWADDR=00:16:36:4d:6f:90 IPADDR=192.168.1.96 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 #
ä¸æ¦ããã¾ã§å®äºããããã·ã£ãããã¦ã³ãã2å°ç®ã®ã²ã¹ããä½æãã¾ãã
2å°ç®ã®ã²ã¹ãä½æ
virt-cloneã³ãã³ãã使ã£ã¦drbd_primãdrbd_secondã¨ãã¦ã³ãã¼ãã¾ãã
# virt-clone -o drbd_prim -n drbd_second What would you like to use as the cloned disk (file path) for '/var/lib/libvirt/ images/drbd_prim.img'? /var/lib/libvirt/images/drbd_second.img What would you like to use as the cloned disk (file path) for '/var/lib/libvirt /images/drbd_prim_sync.img'? /var/lib/libvirt/images/drbd_second_sync.img Cloning /var/lib/libvirt/ 100% |=========================| 16 GB 01:34 Cloning /var/lib/libvirt/ 100% |=========================| 16 GB 01:39 Clone 'drbd_second' created successfully. #
ã§ã2å°ã¨ãèµ·åãã¾ããï¼2å°ç®ã¯ãã®å¾ãããã¯ã¼ã¯ãªã©ã®è¨å®ããã¾ããï¼
# virsh start drbd_prim # virsh start drbd_second #
1å°ç®ã®ç¶ã
1å°ç®ã«ãã°ã¤ã³ããã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ãèªã¿è¾¼ã¿ã¾ãã
# modprobe drbd # cat /proc/drbd â ç¢ºèª version: 8.3.7 (api:88/proto:86-91) GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@drbd_prim, 2010-04-05 23:10:16 #
drbdã®ã¡ã¿ãã¼ã¿ãä½ãã¾ãã
# drbdadm create-md test md_offset 17174347776 al_offset 17174315008 bm_offset 17173790720 Found ext3 filesystem 104388 kB data area apparently used 16771280 kB left usable by current configuration Even though it looks like this would place the new meta data into unused space, you still need to confirm, as this is only a guess. Do you want to proceed? [need to type 'yes' to confirm] yes â ããã§"yes"ãå ¥å Writing meta data... initializing activity log NOT initialized bitmap New drbd meta data block successfully created. success #
次ã«DRBDã®ãã¼ã¢ã³ãéå§ãã¾ãã
# /etc/init.d/drbd start Starting DRBD resources: [ d(test) n(test) ].......... ************************************************************** DRBD's startup script waits for the peer node(s) to appear. - In case this node was already a degraded cluster before the reboot the timeout is 0 seconds. [degr-wfc-timeout] - If the peer was available before the reboot the timeout will expire after 0 seconds. [wfc-timeout] (These values are for resource 'test'; 0 sec -> wait forever) To abort waiting enter 'yes' [ 13]:yes â "yes"ãå ¥å . #
/proc/drbdã確èªããã¨"Secondary/Unknown"ã«ãªã£ã¦ããã®ãåããã¾ãï¼2å°ç®ã¯ã¾ã æªè¨å®ãªã®ã§Unknownã§ãï¼ã
# cat /proc/drbd version: 8.3.7 (api:88/proto:86-91) GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@drbd_prim, 2010-04-05 23:10:16 0: cs:StandAlone ro:Secondary/Unknown ds:Inconsistent/DUnknown r---- ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:16771280 #
ãããPrimaryã«ãã¦ããã¾ãã
# drbdsetup /dev/drbd0 primary -o # cat /proc/drbd â 確èªããã¨"Primary/Unknown"ã«ãªãã¾ããã version: 8.3.7 (api:88/proto:86-91) GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@drbd_prim, 2010-04-05 23:10:16 0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r---- ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:16771280 #
ããã§DRBDããã¤ã¹ã使ããããã«ãªã£ãã®ã§ã/dev/drbd0 ããã©ã¼ããããã¦ããã¾ãã
# mkfs.ext3 /dev/drbd0 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux ï¼ä¸ç¥ï¼ This filesystem will be automatically checked every 38 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. #
ãã¦ã³ãããã°ä½¿ããããã«ãªã£ã¦ãã¾ãã
# mount /dev/drbd0 /mnt/
# df
Filesystem 1K-ãããã¯ ä½¿ç¨ ä½¿ç¨å¯ 使ç¨% ãã¦ã³ãä½ç½®
/dev/mapper/VolGroup00-LogVol00
15109112 2679456 11649780 19% /
/dev/hda1 101086 19114 76753 20% /boot
tmpfs 255024 0 255024 0% /dev/shm
/dev/drbd0 16508024 176244 15493216 2% /mnt
#
2å°ç®
2å°ç®ã¯ã¾ããããã¯ã¼ã¯ãè¨å®ãã¦ããã¾ã(赤ãã¨ãããç·¨éãifcfg-eth0.bakã¯åé¤ï¼ã
# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=drbd_second â ãã¹ãå # rm /etc/sysconfig/network-scripts/ifcfg-eth0.bak # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none â åºå®IPã¢ãã¬ã¹ ONBOOT=yes HWADDR=00:16:36:0f:62:75 IPADDR=192.168.1.97 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # reboot â åèµ·å
ãã¨ã¯ãåèµ·åå¾ã«DRBDã®ã¡ã¿ãã¼ã¿ã®ä½æã¨ãã¼ã¢ã³ãèµ·åããã ãã
# drbdadm create-md test md_offset 17174347776 al_offset 17174315008 bm_offset 17173790720 Found ext3 filesystem 104388 kB data area apparently used 16771280 kB left usable by current configuration Even though it looks like this would place the new meta data into unused space, you still need to confirm, as this is only a guess. Do you want to proceed? [need to type 'yes' to confirm] yes â "yes"ãå ¥å Writing meta data... initializing activity log NOT initialized bitmap New drbd meta data block successfully created. success # /etc/init.d/drbd start Starting DRBD resources: [ d(test) ]. # cat /proc/drbd version: 8.3.7 (api:88/proto:86-91) GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@drbd_prim, 2010-04-05 23:10:16 0: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r---- ns:0 nr:3200 dw:3200 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:16768080 [>....................] sync'ed: 0.1% (16372/16376)M finish: 11:38:40 speed: 352 (352) K/sec #
åæã«åæãå§ã¾ãã¾ãã
Hadoopã®ã¤ã³ã¹ãã¼ã«
Hadoopã®ã¤ã³ã¹ãã¼ã«ã«æéåã£ãã®ã§ãåå¿é²ã
- åèã«ãããµã¤ã
åææ¡ä»¶
以ä¸ã®ç°å¢ã§åä½ããã¦ãã¾ãã
- ãã¤ãããã¯DNSã¨DHCPã®ãããããã¯ã¼ã¯
- Ubuntuã®ä»®æ³ãã·ã³ï¼KVMï¼ä¸ã§åä½ï¼ãã·ã³ã¯ãIntel Core i7 920, ã¡ã¢ãª 6Gï¼
ã¾ããHadoopã®ãã¹ã¿ã¼ãã¼ãã®ãã¹ãåããhmasterããã¹ã¬ã¼ãããhslave1, hslave2, ...ãã¨ãã¾ãã
ã²ã¹ãOSã®ã¤ã³ã¹ãã¼ã«ï¼CentOSï¼
KVMä¸ã§åä½ããCentOSã®ã¤ã¡ã¼ã¸ãä¸ã¤ä½æãã¾ããåãã¼ãã¯ãã®ã¤ã¡ã¼ã¸ã®ã³ãã¼ã使ç¨ãã¾ãã
åèµ·åå¾ã®æåã®è¨å®ã§ã¯ãFirewallã¨SELinuxãç¡å¹ã«ãã¦ããã¾ãã
ãã®ä»ã®CentOSã®ã¤ã³ã¹ãã¼ã«èªä½ã®èª¬æã¯ããã§ã¯çç¥ãã¾ãã®ã§ããããããã
ãã°ã¤ã³å¾ããã¹ãå´ããæ±ãæãããã«ãã³ã³ã½ã¼ã«ã®è¨å®ããã¦ããã¾ãã/etc/inittabã«ã"co:2345:respawn:/sbin/agetty ttyS0 115200 vt100-nav"ã追å ãã¦ããã°è¯ãã§ããããã§ãã¹ãå´ãããvirsh console ï¼ãã¹ãåï¼ãã§ã¢ã¯ã»ã¹ã§ãã¾ãã
ã¾ããOSãã¢ãããã¼ããã¦ããã¾ãããã
å ±éé ç®ã®ã¤ã³ã¹ãã¼ã«ã»è¨å®
Sunã®Javaãã¤ã³ã¹ãã¼ã«
ここããJDKï¼ç¾å¨ã¯JDK 6 Update 18ï¼ããã¦ã³ãã¼ãããã¤ã³ã¹ãã¼ã«ãã¾ããï¼ã¤ã³ã¹ãã¼ã«ã®è©³ç´°ã¯ç¥ï¼
Hadoopã®ã¤ã³ã¹ãã¼ã«
yumãªãã¸ããªãç»é²ãã¦ããhadoop-0.20ããã¤ã³ã¹ãã¼ã«ãã¾ããï¼rootã§ä½æ¥ãã¾ããï¼
# cd /etc/yum.repos.d/ # wget http://archive.cloudera.com/redhat/cdh/cloudera-testing.repo # yum -y install hadoop-0.20
ãã®å¾ãä»®æ³ãã·ã³ãçµäºããã¾ãã
ãã¹ã¿ã¼ãã¼ãã®è¨å®
ãã¹ã¿ã¼ãã¼ãç¨ã®ä»®æ³ãã·ã³ã®æºå
ã¾ããã¹ãä¸ã§ãä½æããä»®æ³ãã·ã³ã¤ã¡ã¼ã¸ãã³ãã¼ãã¦ãã¹ã¿ã¼ãã¼ãç¨ã®ä»®æ³ãã·ã³ã¤ã¡ã¼ã¸ãä½æãã¾ãã次ã®ã³ãã³ãã使ãã¾ãã
virt-clone -o å ã®ã²ã¹ãå -n æ°ããã²ã¹ãå -f ãã£ã¹ã¯ã¤ã¡ã¼ã¸å
ä¾ãã°ã
$ sudo virt-clone -o centos54 -n hmaster -f /var/lib/libvirt/images/hmaster.img
ã¨ãã¾ãã
ãã®å¾ããã¹ã¿ã¼ãã¼ãã®ä»®æ³ãã·ã³ãèµ·åããã³ã³ã½ã¼ã«ã§æ¥ç¶ãã¾ãã
$ virsh start hmaster $ sudo virsh console hmaster
ä¸è¬ã¦ã¼ã¶ã§ãã°ã¤ã³ããå¾ãsuã³ãã³ãã§rootã«ã¹ã¤ãããã¾ãã
ãããã¯ã¼ã¯ã®è¨å®
ã¾ãããããã¯ã¼ã¯é¢é£ãè¨å®ãã¾ãã
ä»®æ³ãã·ã³ãã³ãã¼ããéã«ä½æããã ifcfg-eth0.bak ã¯åé¤ããifcfg-eth0 ã«ããã¤ãããã¯DNSã«ãã¹ãåãç»é²ããããã®è¨å®ããã¾ãã
# rm /etc/sysconfig/network-scripts/ifcfg-eth0.bak # echo 'DHCP_HOSTNAME=hmaster' >> /etc/sysconfig/network-scripts/ifcfg-eth0
ã¾ãã/etc/sysconfig/network ã«æ¸ããããã¹ãåãç·¨éãã¾ãã
# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=hmaster #
ãã¨ã/etc/hosts å
ã®127.0.0.1ã¯ããlocalhost.localdomain localhostãã ãã«ãªãããã«ãã¾ãã
ï¼ã¤ã³ã¹ãã¼ã«æã«ãã¹ãåãè¨å®ãããããã¨ãããã«è¿½è¨ããããããã®ã§ï¼
ããã§ä¸æ¦ãããã¯ã¼ã¯ãåèµ·åãã¾ãããã
# /etc/init.d/network restart
Hadoopã®è¨å®
ããã§ã¯ã/etc/hadoop/conf/ 以ä¸ã®ãã¡ã¤ã«ãç·¨éãã¾ãã
- core-site.xml
fs.default.name hdfs://hmaster:8020
ããâ ã¹ã¬ã¼ããã¼ãã®æ°ï¼ããã§ã¯3ã¤ï¼ dfs.replication 3
- mapred-site.xml
mapred.job.tracker hmaster:8021
- masters
hmaster
- slaves
hslave1 hslave2 hslave3
次ã«HDFSã®ãã©ã¼ããããè¡ãã¾ãã
# sudo -u hadoop hadoop-0.20 namenode -format
æå¾ã«ãèµ·åæã«Hadoopã®ãã¼ã¢ã³ãéå§åºæ¥ãããã«è¨å®ãã¾ãã
# chkconfig --add hadoop-0.20-namenode # chkconfig --add hadoop-0.20-jobtracker
NFSã®è¨å®
/etc/hadoop/ 以ä¸ãã¹ã¬ã¼ãã¨å
±æã§ãããããNFSã®è¨å®ãè¡ãã¾ãã
ã¾ãã/etc/exports ãç·¨éãã¾ãã
/etc/hadoop hslave*(rw,no_all_squash,sync)
ãã®å¾ãNFSãã¼ã¢ã³ãèµ·åããèµ·åæã«éå§ã§ããããã«ãã¾ãã
# /etc/init.d/nfs start # chkconfig nfs on
ããã¾ã§å®äºãããåèµ·åããã¹ã¬ã¼ãã®è¨å®ã«é²ã¿ã¾ãããã
ã¹ã¬ã¼ããã¼ãã®è¨å®
ããã§ã¯hslave1ã®ã¹ã¬ã¼ããã¼ãã«ã¤ãã¦èª¬æãã¾ããä»ã®hslave2, hslave3ã¯ããã¹ãåãå¤æ´ãã¦ä½æ¥ãã¦ãã ããã
ãã¹ã¿ã¼ãã¼ãã¨åæ§ãä»®æ³ãã·ã³ã¤ã¡ã¼ã¸ãã³ãã¼ãã¾ãã
$ sudo virt-clone -o centos54 -n hslave1 -f /var/lib/libvirt/images/hslave1.img
ãã®å¾ãã¹ã¬ã¼ããã¼ãã®ä»®æ³ãã·ã³ãèµ·åããã³ã³ã½ã¼ã«ã§æ¥ç¶ãã¾ãã
$ virsh start hslave1 $ sudo virsh console hslave1
ä¸è¬ã¦ã¼ã¶ã§ãã°ã¤ã³ããå¾ãsuã³ãã³ãã§rootã«ã¹ã¤ãããããã¹ã¿ã¼ãã¼ãã¨åãããã«ãããã¯ã¼ã¯é¢é£ãè¨å®ãã¾ãã
# rm /etc/sysconfig/network-scripts/ifcfg-eth0.bak # echo 'DHCP_HOSTNAME=hslave1' >> /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network ã«æ¸ããããã¹ãåãä¿®æ£ãã¾ãã
# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=hslave1 #
ããã¦ä¸æ¦ãããã¯ã¼ã¯ãåèµ·åãã¾ãã
# /etc/init.d/network restart
確èª
Webçµç±ã§ãã¹ã¿ã¼ãã¼ãã«ã¢ã¯ã»ã¹ãã確èªãã¾ãã
TOMOYO GUI on Mandriva Linux 2010
TOMOYO Linuxがつぶやき始めましたがããã®ä¸ã«ãMandriva Linux 2010 is Finally Out with TOMOYO Linuxãã¨è¨ãã®ãããã¾ããã
ããµããããã¨æã£ã¦ããã«ããリンク先ãè¦ã¦ã¿ãã¨ã
Mandriva Control Center also bring improvements in tools: new netprofile management tool, gui for Tomoyo security framework, and parental control.
ã¨ããã§ã¯ãªãã§ãããã以åä½ã£ã¦ããEclipseãã¼ã¹ã®GUIããªï¼ãã¨æã£ã¦ããå°ã調ã¹ã¦ã¿ãã¨こんな記事ãè¦ã¤ãããã©ããEclipseãã¼ã¹ã§ã¯ãªãããã§ãã
ã¨ãããã¨ã§ãMandriva Linux 2010ãåããã¦è©¦ãã¦ã¿ã¾ãã
Mandriva Linux 2010ã®ã¤ã³ã¹ãã¼ã«
公式サイトãããã¤ã³ã¹ãã¼ã«DVDã®ã¤ã¡ã¼ã¸ããã¦ã³ãã¼ããã¾ãã
å¾ã¯ç¥ã
TOMOYO GUIã®ã¤ã³ã¹ãã¼ã«
ããã©ã«ãã§ã¯ãTOMOYO GUIã¯ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããã®ã§ãã¤ã³ã¹ãã¼ã«ããå§ãã¾ãã
ã¾ãã¡ã¤ã³ã¡ãã¥ã¼ããããã¼ã«ãâãã·ã¹ãã ãã¼ã«ãâãã³ã³ãã¥ã¼ã¿ãè¨å®ããé¸æï¼ãããã¯ããã«ã®ãã³ã³ãã¥ã¼ã¿ãè¨å®ãã¢ã¤ã³ã³ãã¯ãªãã¯ï¼ãã¦ã³ã³ããã¼ã«ã»ã³ã¿ã¼ãéãã¾ãã
ããã¦ãRPMãã¤ã³ã¹ãã¼ã«ï¼ã¢ã³ã¤ã³ã¹ãã¼ã«ããé¸ã¶ã¨ãã½ããã¦ã§ã¢ã®ç®¡çããéãã¾ãã
å·¦ä¸ã®ãã«ãã¦ã³ã¡ãã¥ã¼ããGUIã®ããããã±ã¼ã¸ãã¨ãªã£ã¦ããã°ãããã¹ã¦ãã«å¤æ´ãã¦ããã¾ãã
å³ã®ãæ¤ç´¢å¯¾è±¡ãã«ãtomoyo-guiãã¨å ¥åãã¦æ¤ç´¢ããã¨ãããã±ã¼ã¸ã表示ããã¾ãã
å¾ã¯ãããã±ã¼ã¸ãé¸æãã¦ãé©ç¨ããã¿ã³ãæ¼ãã¨ãé¢é£ããããã±ã¼ã¸ãä¸ç·ã«ã¤ã³ã¹ãã¼ã«ããã¾ãã
ã¤ã³ã¹ãã¼ã«å®äºå¾ã¯ãä¸æ¦ã³ã³ããã¼ã«ã»ã³ã¿ã¼ãçµäºãã¾ãã
TOMOYO GUIã使ã£ã¦ã¿ãï¼åæåï¼
å度ãã³ã³ããã¼ã«ã»ã³ã¿ã¼ãèµ·åããå·¦ã®ã¡ãã¥ã¼ãããã»ãã¥ãªãã£ããé¸æããã¨ããConfigure TOMOYO Linux policyãã¨ããé ç®ã追å ããã¦ããã®ã§ããããé¸æãã¾ãã
ã³ã³ããã¼ã«ã»ã³ã¿ã¼å ã§TOMOYO GUIãåä½ãã¾ãããããªã·ã¼ã¯ã¾ã ãªãã®ã§ãåæåãããã©ããèãã¦ãã¾ãã
åæåãå®äºããã¨ãåèµ·åããããã«ä¿ãããã®ã§ãåèµ·åãã¦ããã¾ãã
TOMOYO GUIã使ã£ã¦ã¿ãï¼ããªã·ã¼è¨å®ï¼
ãµããã³TOMOYO GUIãèµ·åããã¨ãããã©ã¯ãã¡ã¤ã³ãåºæ¥ä¸ãã£ã¦ãã¾ãã
ã¾ããä¾å¤ããªã·ã¼ãåºæ¥ä¸ãã£ã¦ã¾ãã
ãHelpãã®ã¿ã°ãéãã¦ã¿ãã¨ãèªããããªTOMOYOãã³ã®ã³ãããããã¾ããããã§ãããã
ãAll domainsãã®ã¿ã°ã§ãã¡ã¤ã³ãé¸æï¼Shiftãã¼ãCtrlãã¼ã使ã£ã¦è¤æ°é¸æãå¯è½ï¼ããã¨ãåãã¡ã¤ã³ã®è©³ç´°ã表示ããã¾ãã
å³ç«¯ã«ã¯ãã¡ã¤ã³ã®ãããã¡ã¤ã«ããã«ãã¦ã³ã¡ãã¥ã¼ã§é¸æã§ããããã«ãªã£ã¦ãã¾ãã
以ä¸ã¯ãããã¤ããLearningã¢ã¼ãã«ãã¦åèµ·åããçµæã§ãDisabledã¢ã¼ã以å¤ã®ãã¡ã¤ã³ã強調表示ãããå¦ç¿ããçµæãä¸ã«è¡¨ç¤ºããã¾ããï¼å¼·èª¿ããã¦ãããã¡ã¤ã³ã¯ããActive domainsãã¿ãã§è¦ããã¨ãåºããããã«ãªãã¾ãï¼
å¦ç¿ããçµæã«ãã¦ã¹ãæã£ã¦ããã¨ã¢ã³ãã¼ã©ã¤ã³ã表示ããã
ãããã¯ãªãã¯ããã¨ããç·¨éãããåé¤ããé¸ã¹ã¾ãã
ãç·¨éããé¸ã¶ã¨ç·¨éç»é¢ã表示ãããããã§ä¿®æ£ãããã¨ãã§ãã¾ãã
使ã£ã¦ã¿ã¦
GUIã§TOMOYO Linuxã®ããªã·ã¼ç·¨éä½æ¥ãè¡ããã®ã¯ããã§ãããccs-editpolicyã¯ä¾¿å©ã§ãããåãã¦ã®äººã«ã¯GUIã§ããã¨ããã ãã§æµææã¯å°ãªããªãã¨æãã¾ãã
ãã ãããªã·ã¼ã®ä¿®æ£ãåé¤ã¯ã§ãã¦ãã追å ãã§ããªãã®ã¯ã¡ãã£ã¨ããã«ããã§ããã
ã¾ãããã®ãã¡æ¹åããããã§ããããã
TOMOYO Linux 1.7.1ããªãªã¼ã¹
æ¨æ¥ãTOMOYO Linux 1.7.1ããªãªã¼ã¹ããã¾ããã
ãã®TOMOYO LinuxãOSSã¨ãã¦ãªãªã¼ã¹ãããã®ã4å¹´åã®11æ11æ¥ã§ãã
ç§ããã®ã¯ã¦ã¶ãéå§ããã®ããã®æ¬¡ã®æ¥ã®11月12日ã§ããã®æ¥ã«TOMOYO Linuxã«è§¦ãã¦ãã¾ãããã®æã¯ããã¾ã§TOMOYO Linuxã«é¢ããã¨ã¯æã£ã¦ããã¾ããã§ãããã