Linux Kernel 빌드 및 iMX233 기반 iMaker 보드에 설치하기

Building the Linux kernel for the iMaker board based on iMX233

아두눅스가 개발한 Freescale iMX233 CPU 기반의 iMaker 개발 보드는 리눅스를 OS로 사용합니다.

본 자료에서는 커널 소스를 얻고 컴파일한 후에 SD card에 설치하는 과정에 대해서 설명합니다.

크로스 컴파일러 (Cross Compiler)

iMaker 보드에 설치할 리눅스 커널을 컴파일 하기 위해서는 ARM-architecture 크로스 컴파일러가 필요합니다.

크로스 컴파일러 설치 여부 확인

리눅스 커널 소스를 컴파일 하기 위한 크로스 컴파일러가 설치되어 있는지 다음 명령으로 확인합니다.

imaker@ubuntu:~$ arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.3-12ubuntu1) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

위와같이 출력되는 경우는 정상적으로 크로스 컴파일러가 설치되어 있는 것을 보여 줍니다.

크로스 컴파일러 설치 (Installing the cross compiler)

사용하려는 크로스 컴파일러가 없다면 다음 명령으로 패키지를 설치합니다.

imaker@ubuntu:~$ sudo apt-get install gcc-arm-linux-gnueabi

위의 명령으로 패키지를 설치한 후에 설치가 완료 되었는지 다시 확인합니다.

imaker@ubuntu:~$ arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.7.3-12ubuntu1) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

리눅스 커널 소스 가져오기 (Getting the linux kernel source)

아두눅스 리눅스 커널 리포지토리

본 자료에서 설명하는 리눅스 커널의 버전은 linux v3.16.43입니다.

iMaker 보드에 설치할 리눅스 커널의 리포지토리는 https://github.com/Ardunux/Ardunux-iMaker-linux-v3.16.43입니다.

소스 다운로드

리눅스 커널 소스를 리포지토리에서 다운로드합니다.

터미널에서 다음 명령으로 커널 소스를 다운로드합니다.

imaker@ubuntu:~$ cd workspace
imaker@ubuntu:~/workspace$ git clone https://github.com/Ardunux/Ardunux-iMaker-linux-v3.16.43 linux-3.16.43
Cloning into 'linux-3.16.43'...
remote: Counting objects: 50159, done.
remote: Total 50159 (delta 0), reused 0 (delta 0), pack-reused 50159
Receiving objects: 100% (50159/50159), 135.35 MiB | 2.16 MiB/s, done.
Resolving deltas: 100% (3988/3988), done.
Checking connectivity... done.
Checking out files: 100% (47425/47425), done.
imaker@ubuntu:~/workspace$ cd linux-3.16.43/
imaker@ubuntu:~/workspace/linux-3.16.43$ git checkout v3.16.43
Branch v3.16.43 set up to track remote branch v3.16.43 from origin.
Switched to a new branch 'v3.16.43'
imaker@ubuntu:~/workspace/linux-3.16.43$ git branch
 master
* v3.16.43

리눅스 커널 설정하기 (Configure the linux kernel)

iMaker 보드에 대한 기본 설정이 적용된 설정 파일을 아두눅스 리포지토리에서 다운로드 합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ wget -c https://raw.githubusercontent.com/Ardunux/Ardunux-iMaker-linux-patches/master/v3.16.43/dotconfig-3.16.43
imaker@ubuntu:~/workspace/linux-3.16.43$ ls
arch Documentation include kernel net security
block dotconfig-3.16.43 init lib README sound
COPYING drivers ipc MAINTAINERS REPORTING-BUGS tools
CREDITS firmware Kbuild Makefile samples usr
crypto fs Kconfig mm scripts virt
imaker@ubuntu:~/workspace/linux-3.16.43$ cp dotconfig-3.16.43 .config
imaker@ubuntu:~/workspace/linux-3.16.43$ la
arch Documentation .gitignore kernel net sound
block dotconfig-3.16.43 include lib README tools
.config drivers init .mailmap REPORTING-BUGS usr
COPYING firmware ipc MAINTAINERS samples virt
CREDITS fs Kbuild Makefile scripts
crypto .git Kconfig mm security

사용자의 요구에 따라 설정을 원하는 경우에는 다음 명령으로 커널에 대한 설정을 할 수 있습니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig

커널 설정을 변경한 경우에는 현재 설정 파일을 백업합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ cp .config dotconfig-3.16.43

리눅스 커널 빌드하기 (Building the linux kernel)

커널 이미지와 모듈에 대한 컴파일 작업을 다음 명령으로 진행합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage modules
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
  WRAP    arch/arm/include/generated/asm/auxvec.h
  WRAP    arch/arm/include/generated/asm/bitsperlong.h
  WRAP    arch/arm/include/generated/asm/cputime.h
  WRAP    arch/arm/include/generated/asm/current.h

...

  LD [M]  sound/core/seq/snd-seq.ko
  CC      sound/core/snd-hrtimer.mod.o
  LD [M]  sound/core/snd-hrtimer.ko
  IHEX    firmware/kaweth/new_code.bin
  IHEX    firmware/kaweth/trigger_code.bin
  IHEX    firmware/kaweth/new_code_fix.bin
  IHEX    firmware/kaweth/trigger_code_fix.bin
imaker@ubuntu:~/workspace/linux-3.16.43$

클린 명령

모든 파일을 다시 컴파일하려는 경우에는 다음 명령을 실행한 후에 위의 빌드 명령을 실행합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- clean

초기화 명령

.config 파일을 포함한 모든 파일을 초기화하고 다운로드 상태로 만들고 처음 작업부터 다시 시작하는 경우에는 다음 명령을 실행한 후에 위의 빌드 명령을 실행합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- distclean

디바이스 트리 생성하기 (Create device tree blob(*.dtb) file)

다음 명령으로 디바이스 트리를 생성합니다.

imaker@ubuntu:~/workspace/linux-3.16.43$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- imx23-ardunux-imaker.dtb
  DTC     arch/arm/boot/dts/imx23-ardunux-imaker.dtb
imaker@ubuntu:~/workspace/linux-3.16.43$

위의 명령으로 “arch/arm/boot/dts” 디렉토리에 “imx23-ardunux-imaker.dtb” 파일이 생성됩니다.

SD Card 준비하기 (Prepare the SD card)

리눅스 커널을 컴파일하고 SD Card에 설치하는 작업은 다음의 두가지 방법이 있습니다.

  • 현재 사용하고 있는 SD Card에 빌드한 리눅스 커널을 설치하는 방법
  • 새로운 SD Card를 준비하고 현재 사용하고 있는 ArchLinux ARM 이미지를 설치한 후에 빌드한 리눅스 커널을 설치하는 방법

현재 사용중인 SD Card 준비

현재 사용중인 SD Card에 빌드한 리눅스 커널을 설치하기 위해서는 카드리더기에 SD Card를 삽입하고 노트북이나 컴퓨터의 USB에 연결합니다.

연결 후에 SD Card의 삽입이 인식되어 자동으로 마운트됩니다.

새로운 SD Card에 리눅스 커널을 설치하기

새로운 SD Card를 준비하고 ArchLinuxARM 이미지 파일을 설치한 후에 새로 빌드한 리눅스 커널을 설치하는 경우에는 아치리눅스 이미지 파일을 SD 카드에 설치하기 자료를 참고하여 이미지 파일을 설치합니다.

리눅스 커널 설치하기 (Install the linux kernel)

SD Card가 준비 되었으면 위의 빌드 작업으로 생성된 다음 내용들이 설치됩니다.

  • Linux Kernel
  • Linux Kernel Modules
  • Device Tree Blob file

먼저 다음 명령으로 마운트 위치를 확인합니다.

imaker@ubuntu:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=imaker)
/dev/sdb3 on /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c type ext4 (rw,nosuid,nodev,uhelper=udisks2)

생성된 파일들은 다음 명령으로 SD Card에 설치됩니다.

imaker@ubuntu:~$ cd workspace/linux-3.16.43
imaker@ubuntu:~/workspace/linux-3.16.43$ sudo cp arch/arm/boot/zImage /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c
[sudo] password for imaker: imaker
imaker@ubuntu:~/workspace/linux-3.16.43$ sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c modules_instal
  INSTALL crypto/arc4.ko
  INSTALL crypto/authenc.ko
  INSTALL crypto/authencesn.ko
  INSTALL crypto/cbc.ko
  INSTALL crypto/ccm.ko
  INSTALL crypto/ctr.ko
  INSTALL crypto/des_generic.ko
  INSTALL crypto/ecb.ko
  INSTALL crypto/hmac.ko
  INSTALL crypto/md5.ko
  INSTALL crypto/michael_mic.ko
  INSTALL crypto/seqiv.ko
  INSTALL crypto/sha1_generic.ko
  INSTALL crypto/sha256_generic.ko
  INSTALL drivers/bcma/bcma.ko
  INSTALL drivers/bluetooth/btusb.ko
  INSTALL drivers/i2c/algos/i2c-algo-bit.ko
  INSTALL drivers/i2c/busses/i2c-gpio.ko
  INSTALL drivers/i2c/i2c-mux.ko
  INSTALL drivers/i2c/i2c-stub.ko
  INSTALL drivers/i2c/muxes/i2c-arb-gpio-challenge.ko
  INSTALL drivers/i2c/muxes/i2c-mux-gpio.ko
  INSTALL drivers/i2c/muxes/i2c-mux-pinctrl.ko
  INSTALL drivers/input/touchscreen/tsc2007.ko
  INSTALL drivers/leds/trigger/ledtrig-default-on.ko
  INSTALL drivers/misc/eeprom/eeprom_93cx6.ko
  INSTALL drivers/net/bonding/bonding.ko
  INSTALL drivers/net/can/can-dev.ko
  INSTALL drivers/net/can/flexcan.ko
  INSTALL drivers/net/can/slcan.ko
  INSTALL drivers/net/ethernet/smsc/smc911x.ko
  INSTALL drivers/net/ethernet/smsc/smc91x.ko
  INSTALL drivers/net/ethernet/smsc/smsc911x.ko
  INSTALL drivers/net/macvlan.ko
  INSTALL drivers/net/usb/catc.ko
  INSTALL drivers/net/usb/cdc_eem.ko
  INSTALL drivers/net/usb/cdc_mbim.ko
  INSTALL drivers/net/usb/cx82310_eth.ko
  INSTALL drivers/net/usb/dm9601.ko
  INSTALL drivers/net/usb/gl620a.ko
  INSTALL drivers/net/usb/huawei_cdc_ncm.ko
  INSTALL drivers/net/usb/int51x1.ko
  INSTALL drivers/net/usb/ipheth.ko
  INSTALL drivers/net/usb/kalmia.ko
  INSTALL drivers/net/usb/kaweth.ko
  INSTALL drivers/net/usb/lg-vl600.ko
  INSTALL drivers/net/usb/mcs7830.ko
  INSTALL drivers/net/usb/pegasus.ko
  INSTALL drivers/net/usb/plusb.ko
  INSTALL drivers/net/usb/qmi_wwan.ko
  INSTALL drivers/net/usb/r8152.ko
  INSTALL drivers/net/usb/rndis_host.ko
  INSTALL drivers/net/usb/rtl8150.ko
  INSTALL drivers/net/usb/sierra_net.ko
  INSTALL drivers/net/usb/smsc75xx.ko
  INSTALL drivers/net/usb/sr9700.ko
  INSTALL drivers/net/usb/sr9800.ko
  INSTALL drivers/net/wireless/at76c50x-usb.ko
  INSTALL drivers/net/wireless/ath/ar5523/ar5523.ko
  INSTALL drivers/net/wireless/ath/ath.ko
  INSTALL drivers/net/wireless/ath/ath9k/ath9k.ko
  INSTALL drivers/net/wireless/ath/ath9k/ath9k_common.ko
  INSTALL drivers/net/wireless/ath/ath9k/ath9k_hw.ko
  INSTALL drivers/net/wireless/b43/b43.ko
  INSTALL drivers/net/wireless/b43legacy/b43legacy.ko
  INSTALL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
  INSTALL drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
  INSTALL drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
  INSTALL drivers/net/wireless/cw1200/cw1200_core.ko
  INSTALL drivers/net/wireless/hostap/hostap.ko
  INSTALL drivers/net/wireless/libertas/libertas.ko
  INSTALL drivers/net/wireless/libertas/libertas_sdio.ko
  INSTALL drivers/net/wireless/libertas/libertas_spi.ko
  INSTALL drivers/net/wireless/libertas/usb8xxx.ko
  INSTALL drivers/net/wireless/libertas_tf/libertas_tf.ko
  INSTALL drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
  INSTALL drivers/net/wireless/mac80211_hwsim.ko
  INSTALL drivers/net/wireless/mwifiex/mwifiex.ko
  INSTALL drivers/net/wireless/mwifiex/mwifiex_sdio.ko
  INSTALL drivers/net/wireless/mwifiex/mwifiex_usb.ko
  INSTALL drivers/net/wireless/p54/p54common.ko
  INSTALL drivers/net/wireless/p54/p54spi.ko
  INSTALL drivers/net/wireless/p54/p54usb.ko
  INSTALL drivers/net/wireless/rndis_wlan.ko
  INSTALL drivers/net/wireless/rt2x00/rt2500usb.ko
  INSTALL drivers/net/wireless/rt2x00/rt2800lib.ko
  INSTALL drivers/net/wireless/rt2x00/rt2800usb.ko
  INSTALL drivers/net/wireless/rt2x00/rt2x00lib.ko
  INSTALL drivers/net/wireless/rt2x00/rt2x00usb.ko
  INSTALL drivers/net/wireless/rt2x00/rt73usb.ko
  INSTALL drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
  INSTALL drivers/net/wireless/rtlwifi/rtl_usb.ko
  INSTALL drivers/net/wireless/rtlwifi/rtlwifi.ko
  INSTALL drivers/net/wireless/ti/wl1251/wl1251.ko
  INSTALL drivers/net/wireless/ti/wl12xx/wl12xx.ko
  INSTALL drivers/net/wireless/ti/wl18xx/wl18xx.ko
  INSTALL drivers/net/wireless/ti/wlcore/wlcore.ko
  INSTALL drivers/net/wireless/ti/wlcore/wlcore_spi.ko
  INSTALL drivers/net/wireless/zd1201.ko
  INSTALL drivers/net/wireless/zd1211rw/zd1211rw.ko
  INSTALL drivers/rtc/rtc-ds1307.ko
  INSTALL drivers/spi/spi-bitbang.ko
  INSTALL drivers/spi/spi-gpio.ko
  INSTALL drivers/spi/spidev.ko
  INSTALL drivers/ssb/ssb.ko
  INSTALL drivers/staging/rtl8188eu/r8188eu.ko
  INSTALL drivers/staging/rtl8712/r8712u.ko
  INSTALL drivers/usb/class/cdc-acm.ko
  INSTALL drivers/usb/class/cdc-wdm.ko
  INSTALL drivers/usb/gadget/g_ether.ko
  INSTALL drivers/usb/gadget/g_mass_storage.ko
  INSTALL drivers/usb/gadget/libcomposite.ko
  INSTALL drivers/usb/gadget/u_ether.ko
  INSTALL drivers/usb/gadget/usb_f_ecm.ko
  INSTALL drivers/usb/gadget/usb_f_ecm_subset.ko
  INSTALL drivers/usb/gadget/usb_f_mass_storage.ko
  INSTALL drivers/usb/gadget/usb_f_rndis.ko
  INSTALL drivers/usb/host/ehci-platform.ko
  INSTALL fs/cachefiles/cachefiles.ko
  INSTALL fs/configfs/configfs.ko
  INSTALL fs/fat/fat.ko
  INSTALL fs/fat/msdos.ko
  INSTALL fs/fat/vfat.ko
  INSTALL fs/fscache/fscache.ko
  INSTALL fs/ntfs/ntfs.ko
  INSTALL lib/cordic.ko
  INSTALL lib/crc-ccitt.ko
  INSTALL lib/crc-itu-t.ko
  INSTALL lib/crc7.ko
  INSTALL net/bluetooth/bluetooth.ko
  INSTALL net/bluetooth/bnep/bnep.ko
  INSTALL net/bluetooth/hidp/hidp.ko
  INSTALL net/bluetooth/rfcomm/rfcomm.ko
  INSTALL net/can/can-bcm.ko
  INSTALL net/can/can-gw.ko
  INSTALL net/can/can-raw.ko
  INSTALL net/can/can.ko
  INSTALL net/ipv6/ah6.ko
  INSTALL net/ipv6/esp6.ko
  INSTALL net/ipv6/ip6_gre.ko
  INSTALL net/ipv6/ip6_tunnel.ko
  INSTALL net/ipv6/ip6_vti.ko
  INSTALL net/ipv6/ipcomp6.ko
  INSTALL net/ipv6/mip6.ko
  INSTALL net/ipv6/tunnel6.ko
  INSTALL net/ipv6/xfrm6_mode_ro.ko
  INSTALL net/ipv6/xfrm6_tunnel.ko
  INSTALL net/mac80211/mac80211.ko
  INSTALL net/wireless/cfg80211.ko
  INSTALL net/wireless/lib80211.ko
  INSTALL net/wireless/lib80211_crypt_ccmp.ko
  INSTALL net/wireless/lib80211_crypt_tkip.ko
  INSTALL net/wireless/lib80211_crypt_wep.ko
  INSTALL net/xfrm/xfrm_algo.ko
  INSTALL net/xfrm/xfrm_ipcomp.ko
  INSTALL sound/core/oss/snd-mixer-oss.ko
  INSTALL sound/core/oss/snd-pcm-oss.ko
  INSTALL sound/core/seq/oss/snd-seq-oss.ko
  INSTALL sound/core/seq/snd-seq-device.ko
  INSTALL sound/core/seq/snd-seq-dummy.ko
  INSTALL sound/core/seq/snd-seq-midi-event.ko
  INSTALL sound/core/seq/snd-seq.ko
  INSTALL sound/core/snd-hrtimer.ko
  INSTALL /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c/lib/firmware/kaweth/new_code.bin
  INSTALL /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c/lib/firmware/kaweth/trigger_code.bin
  INSTALL /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c/lib/firmware/kaweth/new_code_fix.bin
  INSTALL /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c/lib/firmware/kaweth/trigger_code_fix.bin
  DEPMOD  3.16.43-iMaker-gd15bf29
imaker@ubuntu:~/workspace/linux-3.16.43$ sudo cp arch/arm/boot/dts/imx23-ardunux-imaker.dtb /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c/boot/dtbs
imaker@ubuntu:~/workspace/linux-3.16.43$ sync
imaker@ubuntu:~/workspace/linux-3.16.43$ umount /media/imaker/df31fc67-a2e6-4345-a68d-8cb275c2220c 
imaker@ubuntu:~/workspace/linux-3.16.43$

리눅스 부팅 (Booting linux)

설치 작업이 완료되고 SD Card가 unmount 되었으면 카드리더기에서 SD 카드를 빼고 iMaker 보드의 SD Card 슬롯에 꼽고 전원을 인가하면 다음과 같은 부팅 메시지가 출력됩니다.

U-Boot 2013.10-gd3127f8 (May 08 2017 - 15:58:10)

CPU:   Freescale i.MX23 rev1.4 at 454 MHz
BOOT:  SSP SD/MMC #0
DRAM:  64 MiB
MMC:   MXS MMC: 0
In:    serial
Out:   serial
Err:   serial
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found
mmc0 is current device
mmc found on device 0
Unknown command 'part' - try 'help'
Checking for: /boot/uEnv.txt ...
** File not found /boot/uEnv.txt **
## Info: input data size = 163 = 0xA3
Loaded environment from /boot/uEnv.txt
Checking if uenvcmd is set ...
3817264 bytes read in 1205 ms (3 MiB/s)
loading /boot/dtbs/imx23-ardunux-imaker.dtb ...
10787 bytes read in 229 ms (45.9 KiB/s)
** File not found /boot/initramfs-linux.img **
Kernel image @ 0x42000000 [ 0x000000 - 0x3a3f30 ]
## Flattened Device Tree blob at 41000000
   Booting using the fdt blob at 0x41000000
   Loading Device Tree to 43b64000, end 43b69a22 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.16.43-iMaker-gd15bf29-dirty (jaehong@ubuntu1404) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #9 Mon May 8 16:32:10 KST 2017
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: Ardunux iMaker iMX23
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyAMA0,115200 root=PARTUUID=00000000-03 rw rootwait fixrtc
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 49088K/65536K available (5140K kernel code, 299K rwdata, 1872K rodata, 230K init, 8215K bss, 16448K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06e165c   (7014 kB)
[    0.000000]       .init : 0xc06e2000 - 0xc071b8fc   ( 231 kB)
[    0.000000]       .data : 0xc071c000 - 0xc0766d00   ( 300 kB)
[    0.000000]        .bss : 0xc0766d00 - 0xc0f6ca38   (8216 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836480000000ns
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000000] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000000] ... CHAINHASH_SIZE:          32768
[    0.000000]  memory used by lock dependency info: 5167 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.070000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] CPU: Testing write buffer coherency: ok
[    0.080000] Setting up static identity map for 0x404e18b8 - 0x404e18f4
[    0.100000] devtmpfs: initialized
[    0.110000] futex hash table entries: 256 (order: 1, 11264 bytes)
[    0.110000] pinctrl core: initialized pinctrl subsystem
[    0.120000] regulator-dummy: no parameters
[    0.150000] NET: Registered protocol family 16
[    0.160000] DMA: preallocated 512 KiB pool for atomic coherent allocations
[    0.230000] Serial: AMBA PL011 UART driver
[    0.230000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 17, base_baud = 0) is a PL011 rev2
[    0.430000] console [ttyAMA0] enabled
[    0.500000] mxs-dma 80004000.dma-apbh: initialized
[    0.520000] mxs-dma 80024000.dma-apbx: initialized
[    0.520000] usb0_vbus: 5000 mV
[    0.530000] usbcore: registered new interface driver usbfs
[    0.540000] usbcore: registered new interface driver hub
[    0.540000] usbcore: registered new device driver usb
[    0.550000] pps_core: LinuxPPS API ver. 1 registered
[    0.560000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.560000] PTP clock support registered
[    0.570000] Advanced Linux Sound Architecture Driver Initialized.
[    0.580000] Switched to clocksource mxs_timer
[    0.990000] NET: Registered protocol family 2
[    1.010000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    1.020000] TCP bind hash table entries: 1024 (order: 3, 36864 bytes)
[    1.020000] TCP: Hash tables configured (established 1024 bind 1024)
[    1.030000] TCP: reno registered
[    1.030000] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    1.040000] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    1.050000] NET: Registered protocol family 1
[    1.060000] RPC: Registered named UNIX socket transport module.
[    1.060000] RPC: Registered udp transport module.
[    1.070000] RPC: Registered tcp transport module.
[    1.070000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.220000] NFS: Registering the id_resolver key type
[    1.230000] Key type id_resolver registered
[    1.240000] Key type id_legacy registered
[    1.240000] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    1.260000] msgmni has been set to 95
[    1.270000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    1.280000] io scheduler noop registered (default)
[    1.300000] of_dma_request_slave_channel: dma-names property of node '/apb@80000000/apbx@80040000/serial@80070000' missing or empty
[    1.310000] uart-pl011 80070000.serial: no DMA platform data
[    1.320000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 147, base_baud = 1500000) is a 8006c000.serial
[    1.330000] mxs-auart 8006c000.serial: Found APPUART 3.0.0
[    1.370000] usbcore: registered new interface driver asix
[    1.380000] usbcore: registered new interface driver ax88179_178a
[    1.380000] usbcore: registered new interface driver cdc_ether
[    1.390000] usbcore: registered new interface driver smsc95xx
[    1.400000] usbcore: registered new interface driver net1080
[    1.400000] usbcore: registered new interface driver cdc_subset
[    1.410000] usbcore: registered new interface driver zaurus
[    1.420000] usbcore: registered new interface driver cdc_ncm
[    1.420000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.440000] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.450000] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.480000] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.480000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.490000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.500000] usb usb1: Product: EHCI Host Controller
[    1.500000] usb usb1: Manufacturer: Linux 3.16.43-iMaker-gd15bf29-dirty ehci_hcd
[    1.510000] usb usb1: SerialNumber: ci_hdrc.0
[    1.530000] hub 1-0:1.0: USB hub found
[    1.530000] hub 1-0:1.0: 1 port detected
[    1.550000] mousedev: PS/2 mouse device common for all mice
[    1.560000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0
[    1.570000] i2c /dev entries driver
[    1.580000] stmp3xxx_rtc_wdt stmp3xxx_rtc_wdt: initialized watchdog with heartbeat 19s
[    1.590000] 80010000.ssp supply vmmc not found, using dummy regulator
[    1.640000] mxs-mmc 80010000.ssp: initialized
[    1.660000] ledtrig-cpu: registered to indicate activity on CPUs
[    1.670000] usbcore: registered new interface driver usbhid
[    1.680000] usbhid: USB HID core driver
[    1.700000] mmc0: host does not support reading read-only switch. assuming write-enable.
[    1.710000] mmc0: new high speed SDHC card at address 59b4
[    1.740000] mmcblk0: mmc0:59b4 SS04G 3.69 GiB
[    1.770000] mxs-builtin-audio mxs-builtin-audio: mxs-builtin-codec-dai <-> 80048000.mxs-builtin-cpu-dai mapping ok
[    1.780000]  mmcblk0: p1 p2 p3
[    1.820000] TCP: cubic registered
[    1.830000] NET: Registered protocol family 10
[    1.850000] sit: IPv6 over IPv4 tunneling driver
[    1.860000] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    1.870000] NET: Registered protocol family 17
[    1.870000] Key type dns_resolver registered
[    1.880000] registered taskstats version 1
[    1.900000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 1970-01-01 00:00:07 UTC (7)
[    1.940000] ALSA device list:
[    1.940000]   #0: mxs-builtin-audio
�[    1.960000] EXT3-fs (mmcblk0p3): error: couldn't mount because of unsupported optional features (240)
[    1.970000] EXT2-fs (mmcblk0p3): error: couldn't mount because of unsupported optional features (244)
[    2.020000] usb 1-1: New USB device found, idVendor=0bda, idProduct=8176
[    2.020000] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.030000] usb 1-1: Product: 802.11n WLAN Adapter
[    2.030000] usb 1-1: Manufacturer: Realtek
[    2.040000] usb 1-1: SerialNumber: 00e04c000001
[    6.410000] EXT4-fs (mmcblk0p3): 1 orphan inode deleted
[    6.410000] EXT4-fs (mmcblk0p3): recovery complete
[    6.460000] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[    6.470000] VFS: Mounted root (ext4 filesystem) on device 179:3.
[    6.480000] devtmpfs: mounted
[    6.480000] Freeing unused kernel memory: 228K (c06e2000 - c071b000)
[    7.330000] systemd[1]: System time before build time, advancing clock.
[    7.570000] random: systemd: uninitialized urandom read (16 bytes read, 87 bits of entropy available)
�[    7.630000] systemd[1]: systemd 232 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    7.650000] systemd[1]: Detected architecture arm.
�
Welcome to Arch Linux ARM!

[    7.670000] systemd[1]: Set hostname to <ardunux>.
[    7.890000] random: systemd: uninitialized urandom read (16 bytes read, 94 bits of entropy available)
[    8.440000] random: systemd-cryptse: uninitialized urandom read (16 bytes read, 102 bits of entropy available)
�[    8.600000] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 106 bits of entropy available)
[    8.630000] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 106 bits of entropy available)
[    8.820000] random: systemd: uninitialized urandom read (16 bytes read, 108 bits of entropy available)
[    8.840000] random: systemd: uninitialized urandom read (16 bytes read, 108 bits of entropy available)
[    8.850000] random: systemd: uninitialized urandom read (16 bytes read, 108 bits of entropy available)
[    8.860000] random: systemd: uninitialized urandom read (16 bytes read, 108 bits of entropy available)
[    8.880000] random: systemd: uninitialized urandom read (16 bytes read, 108 bits of entropy available)
[    9.970000] systemd[1]: Listening on Journal Socket (/dev/log).
�[  OK  ] Listening on Journal Socket (/dev/log).
[   10.010000] systemd[1]: Listening on Device-mapper event daemon FIFOs.
�[  OK  ] Listening on Device-mapper event daemon FIFOs.
[   10.040000] systemd[1]: Created slice User and Session Slice.
�[  OK  ] Created slice User and Session Slice.
[   10.070000] systemd[1]: Listening on Journal Socket.
�[  OK  ] Listening on Journal Socket.
[   10.100000] systemd[1]: Listening on LVM2 metadata daemon socket.
�[  OK  ] Listening on LVM2 metadata daemon socket.
[   10.130000] systemd[1]: Listening on udev Kernel Socket.
�[  OK  ] Listening on udev Kernel Socket.
[   10.160000] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
�[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[   10.200000] systemd[1]: Listening on Network Service Netlink Socket.
�[  OK  ] Listening on Network Service Netlink Socket.
[   10.230000] systemd[1]: Reached target Swap.
�[  OK  ] Reached target Swap.
[   10.260000] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
�[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[   10.290000] systemd[1]: Reached target Remote File Systems.
�[  OK  ] Reached target Remote File Systems.
[   10.320000] random: nonblocking pool is initialized
[   10.370000] systemd[1]: Listening on udev Control Socket.
�[  OK  ] Listening on udev Control Socket.
[   10.400000] systemd[1]: Created slice System Slice.
�[  OK  ] Created slice System Slice.
[   10.430000] systemd[1]: Reached target Slices.
�[  OK  ] Reached target Slices.
[   10.460000] systemd[1]: Created slice system-getty.slice.
�[  OK  ] Created slice system-getty.slice.
[   10.500000] systemd[1]: Mounting Debug File System...
�         Mounting Debug File System...
[   10.590000] systemd[1]: Mounting Temporary Directory...
�         Mounting Temporary Directory...
[   10.650000] systemd[1]: Created slice system-serial\x2dgetty.slice.
�[  OK  ] Created slice system-serial\x2dgetty.slice.
[   10.770000] systemd[1]: Starting Apply Kernel Variables...
�         Starting Apply Kernel Variables...
[   10.860000] systemd[1]: Mounting POSIX Message Queue File System...
�         Mounting POSIX Message Queue File System...
[   11.020000] systemd[1]: Starting Create list of required static device nodes for the current kernel...
�         Starting Create list of required st…ce nodes for the current kernel...
[   11.140000] systemd[1]: Starting Remount Root and Kernel File Systems...
�         Starting Remount Root and Kernel File Systems...
[   11.260000] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
�[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[   11.330000] systemd[1]: Reached target Paths.
�[  OK  ] Reached target Paths.
[   11.360000] systemd[1]: Reached target Encrypted Volumes.
�[  OK  ] Reached target Encrypted Volumes.
[   11.610000] systemd[1]: Listening on Process Core Dump Socket.
�[  OK  ] Listening on Process Core Dump Socket.
[   11.760000] systemd[1]: Starting Journal Service...
�         Starting Journal Service...
[   11.920000] systemd[1]: Mounted Temporary Directory.
�[  OK  ] Mounted Temporary Directory.
[   11.940000] systemd[1]: Mounted POSIX Message Queue File System.
�[  OK  ] Mounted POSIX Message Queue File System.
[   11.980000] systemd[1]: Mounted Debug File System.
�[  OK  ] Mounted Debug File System.
[   12.040000] systemd[1]: Started Apply Kernel Variables.
�[  OK  ] Started Apply Kernel Variables.
[   12.090000] systemd[1]: Started Create list of required static device nodes for the current kernel.
�[  OK  ] Started Create list of required sta…vice nodes for the current kernel.
[   12.130000] systemd[1]: Started Remount Root and Kernel File Systems.
�[  OK  ] Started Remount Root and Kernel File Systems.
[   12.200000] systemd-journald[65]: File /var/log/journal/e219eee0d75345238e64d348df05c090/system.journal corrupted or uncleanly shut down, renaming and replacing.
[   12.290000] systemd[1]: Starting udev Coldplug all Devices...
�         Starting udev Coldplug all Devices...
[   12.370000] systemd[1]: Starting Load/Save Random Seed...
�         Starting Load/Save Random Seed...
[   12.490000] systemd[1]: Starting Create Static Device Nodes in /dev...
�         Starting Create Static Device Nodes in /dev...
[   12.830000] systemd[1]: Started Load/Save Random Seed.
�[  OK  ] Started Load/Save Random Seed.
[   13.390000] systemd[1]: Started Create Static Device Nodes in /dev.
�[  OK  ] Started Create Static Device Nodes in /dev.
[   13.510000] systemd[1]: Starting udev Kernel Device Manager...
�         Starting udev Kernel Device Manager...
[   13.610000] systemd[1]: Reached target Local File Systems (Pre).
�[  OK  ] Reached target Local File Systems (Pre).
[   13.660000] systemd[1]: Reached target Local File Systems.
�[  OK  ] Reached target Local File Systems.
[   14.280000] systemd[1]: Started udev Kernel Device Manager.
�[  OK  ] Started udev Kernel Device Manager.
[   14.910000] systemd[1]: Started Journal Service.
�[  OK  ] Started Journal Service.
�         Starting Flush Journal to Persistent Storage...
[   15.760000] systemd-journald[65]: Received request to flush runtime journal from PID 1
�[  OK  ] Started Flush Journal to Persistent Storage.
�         Starting Create Volatile Files and Directories...
�[  OK  ] Started Create Volatile Files and Directories.
�         Starting Network Time Synchronization...
�         Starting Update UTMP about System Boot/Shutdown...
�[  OK  ] Started Update UTMP about System Boot/Shutdown.
�[  OK  ] Started Network Time Synchronization.
�[  OK  ] Reached target System Time Synchronized.
�[  OK  ] Started udev Coldplug all Devices.
�[  OK  ] Reached target System Initialization.
�[  OK  ] Started Daily verification of password and group files.
�[  OK  ] Listening on D-Bus System Message Bus Socket.
�[  OK  ] Started Daily rotation of log files.
�[  OK  ] Started Daily man-db cache update.
�[  OK  ] Started Daily Cleanup of Temporary Directories.
�[  OK  ] Reached target Timers.
�[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
�[  OK  ] Reached target Sockets.
�[  OK  ] Reached target Basic System.
�[  OK  ] Started Entropy Harvesting Daemon.
�[  OK  ] Started D-Bus System Message Bus.
�         Starting Network Service...
�         Starting /etc/rc.local Compatibility...
�         Starting Avahi mDNS/DNS-SD Stack...
�         Starting Login Service...
�[  OK  ] Found device /dev/ttyAMA0.
[   29.800000] cfg80211: Calling CRDA to update world regulatory domain
�[  OK  ] Started Avahi mDNS/DNS-SD Stack.
�[  OK  ] Reached target Sound Card.
�[  OK  ] Started Login Service.
�[  OK  ] Started Network Service.
�[  OK  ] Reached target Network.
�         Starting Permit User Sessions...
�[  OK  ] Started OpenSSH Daemon.
�         Starting Network Name Resolution...
[   33.110000] Adding 131068k swap on /dev/mmcblk0p2.  Priority:-1 extents:1 across:131068k SS
�[  OK  ] Started Permit User Sessions.
�[  OK  ] Started Serial Getty on ttyAMA0.
�[  OK  ] Started Getty on tty1.
�[  OK  ] Reached target Login Prompts.
[   36.250000] rc.local (130): drop_caches: 3
[   36.330000] rtl8192cu: Chip version 0x10
�[  OK  ] Started /etc/rc.local Compatibility.
[   37.420000] rtl8192cu: MAC address: 64:e5:99:f6:bd:6e
[   37.430000] rtl8192cu: Board Type 0
[   37.460000] rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1
[   37.500000] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[   37.570000] usbcore: registered new interface driver rtl8192cu
�[  OK  ] Started Network Name Resolution.
�[  OK  ] Reached target Multi-User System.
�[  OK  ] Reached target Graphical Interface.
����[   38.950000] rtlwifi: wireless switch is on
[   39.830000] rtl8192cu: MAC auto ON okay!

Arch Linux 3.16.43-iMaker-gd15bf29-dirty (ttyAMA0)

ardunux login: [   40.380000] rtl8192cu: Tx queue select: 0x05
[   41.170000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   41.190000] A link change request failed with some changes committed already. Interface wlan0 may have been left with an inconsistent configuration, please check.
[   48.170000] wlan0: authenticate with 10:6f:3f:02:4a:a1
[   48.360000] wlan0: send auth to 10:6f:3f:02:4a:a1 (try 1/3)
[   48.380000] wlan0: authenticated
[   48.420000] rtl8192cu 1-1:1.0 wlan0: disabling HT/VHT due to WEP/TKIP use
[   48.440000] wlan0: associate with 10:6f:3f:02:4a:a1 (try 1/3)
[   48.450000] wlan0: RX AssocResp from 10:6f:3f:02:4a:a1 (capab=0x431 status=0 aid=5)
[   48.490000] wlan0: associated
[   48.530000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   48.610000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   48.620000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   48.720000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   49.600000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   49.630000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   49.670000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   49.870000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   50.010000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   50.130000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)
[   50.380000] wlan0: dropped frame to 10:6f:3f:02:4a:a1 (unauthorized port)

Arch Linux 3.16.43-iMaker-gd15bf29-dirty (ttyAMA0)

ardunux login: imaker
�Password:
Last login: Sun May  7 07:49:49 from fe80::3636:3bff:fec8:2d10%wlan0
[imaker@ardunux ~]$
[imaker@ardunux ~]$ uname -a
Linux ardunux 3.16.43-iMaker-gd15bf29-dirty #9 Mon May 8 16:32:10 KST 2017 armv5tejl GNU/Linux
[imaker@ardunux ~]$

관련 게시물

댓글 남기기