embeded/odroid2016. 10. 14. 18:20

음.. odroid에는 경로가 다르네..

그리고 파일도 없다.. 흐음.. 머지?

$ ll /sys/devices/platform/dw_mmc/mmc_host/mmc1/mmc1:0001

total 0

drwxr-xr-x 4 root root    0 ene  1  2000 ./

drwxr-xr-x 4 root root    0 ene  1  2000 ../

drwxr-xr-x 3 root root    0 ene  1  2000 block/

-r--r--r-- 1 root root 4096 oct 14 21:31 cid

-r--r--r-- 1 root root 4096 oct 14 21:31 csd

-r--r--r-- 1 root root 4096 oct 14 21:31 date

lrwxrwxrwx 1 root root    0 ene  1  2000 driver -> ../../../../../../bus/mmc/drivers/mmcblk/

-r--r--r-- 1 root root 4096 oct 14 21:31 enhanced_area_offset

-r--r--r-- 1 root root 4096 oct 14 21:31 enhanced_area_size

-r--r--r-- 1 root root 4096 oct 14 21:31 erase_size

-r--r--r-- 1 root root 4096 oct 14 21:31 fwrev

-r--r--r-- 1 root root 4096 oct 14 21:31 hwrev

-r--r--r-- 1 root root 4096 oct 14 21:31 manfid

-r--r--r-- 1 root root 4096 ene  1  2000 name

-r--r--r-- 1 root root 4096 oct 14 21:31 oemid

drwxr-xr-x 2 root root    0 oct 14 21:31 power/

-r--r--r-- 1 root root 4096 oct 14 21:31 preferred_erase_size

-r--r--r-- 1 root root 4096 oct 14 21:31 raw_rpmb_size_mult

-r--r--r-- 1 root root 4096 oct 14 21:31 rel_sectors

-r--r--r-- 1 root root 4096 ene  1  2000 serial

lrwxrwxrwx 1 root root    0 ene  1  2000 subsystem -> ../../../../../../bus/mmc/

-r--r--r-- 1 root root 4096 oct 14 21:31 type

-rw-r--r-- 1 root root 4096 ene  1  2000 uevent 



$ cd /sys/devices/platform/sdhci-esdhc-imx.2/mmc_host/mmc0/mmc0:0001

$ cat boot_info

boot_info:0x07;

  ALT_BOOT_MODE:1 - Supports alternate boot method

  DDR_BOOT_MODE:1 - Supports alternate dual data rate during boot

  HS_BOOTMODE:1 - Supports high speed timing during boot

boot_size:536870912KB

boot_partition:0x01;

  BOOT_ACK:0 - No boot acknowledge sent

  BOOT_PARTITION-ENABLE: 0 - Device not boot enabled

  PARTITION_ACCESS:1 - R/W boot partition 1

boot_bus:0x00

  BOOT_MODE:0 - Use single data rate + backward compatible timings in boot operation 


[링크 : https://community.nxp.com/thread/312758]

[링크 : http://com.odroid.com/sigong/nf_board/nboard_view.php?brd_id=odroidu2&bid=4399]

'embeded > odroid' 카테고리의 다른 글

odroid kernel boot args 설정 관련  (0) 2016.10.15
fat32에서는 실행이 안되네?!?!  (0) 2016.10.14
odroid 커널.. 환경 설정 파일 /proc  (0) 2016.10.13
odroid u3 eMMC + SD 부팅 방법...  (0) 2016.10.13
odroid boot.txt 와 mkimage  (0) 2016.10.13
Posted by 구차니
embeded/odroid2016. 10. 13. 22:59

풀어보니 커널 config 파일이네

라즈베리도 확인해볼까?


$ ll /proc/config.gz

-r--r--r-- 1 root root 24508 oct 14 00:28 /proc/config.gz

$ file /proc/config.gz

/proc/config.gz: gzip compressed data, from Unix, max compression

$ gzip -d config.gz

$ ll
-r--r--r--  1 odroid odroid 102534 oct 14 00:27 config


$ scp odroid@192.168.0.2:/proc/config.gz .

[링크 : http://forum.odroid.com/viewtopic.php?f=8&t=1978]



+

General setup  --->

  [*] Kernel .config support

  [*]   Enable access to .config through /proc/config.gz


[링크 : http://forum.falinux.com/zbxe/index.php?document_srl=807992&mid=lecture_tip]


2006년 글에도 있었던 걸 봐서는 옛날 버전부터 지원은 했으나

별로 쓸모가 없어서 포함해서 빌드하지 않았던 것으로 보인다.


CONFIG_IKCONFIG_PROC

[링크 : http://www.xaprb.com/blog/2006/05/23/how-to-use-linuxs-proc-config-feature/]


'embeded > odroid' 카테고리의 다른 글

fat32에서는 실행이 안되네?!?!  (0) 2016.10.14
uboot emmc command  (0) 2016.10.14
odroid u3 eMMC + SD 부팅 방법...  (0) 2016.10.13
odroid boot.txt 와 mkimage  (0) 2016.10.13
odroid 망할... 시리얼 콘솔.. 졌다...?  (0) 2016.10.10
Posted by 구차니
embeded/odroid2016. 10. 13. 22:33

생각해보니... U3에서 부트 우선순위가

eMMC -> SDHC 라고 하더라도

device 명으로 해버리면 sd가 꽂히면서 mmcblk0과 mmcblk1이 순서가 바뀌면서

부팅이 되지 않는 문제가 발생한다.


$ cat boot.txt.bak

setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 console=ttySAC0,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot


그런 이유로 eMMC의 UUID를 확인하고

$ sudo blkid

/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="BOOT" UUID="6E35-5356" TYPE="vfat"

/dev/mmcblk0p2: LABEL="trusty" UUID="e139ce78-9841-40fe-8823-96a304a09859" TYPE="ext4"

boot.scr에 포함하게 하면 문제없이 부팅!

/media/boot$ cat boot-auto_edid.scr

'VOڟ7R}->▒9boot.scr for X with HDMI auto-pr4setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro  mem=2047M"

boot


/media/boot$ cat boot-1080p-edid.scr

'V▒B▒R▒▒▒▒sx▒boot.scr 1080pzsetenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv drm_video_mode "HDMI-A-1:1920x1080@60"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 console=ttySAC1,115200n8 video=${drm_video_mode} root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro  mem=2047M"

boot


[링크 : http://forum.odroid.com/viewtopic.php?f=80&t=3885]


boot.scr을 제외하면 예제인듯?

[링크 : http://forum.odroid.com/viewtopic.php?f=52&t=2947]

Posted by 구차니
embeded/odroid2016. 10. 13. 21:33

어? boot.txt는 원본(?) 이고 부팅에 영향을 안주고

scr 확장자로 된게 본체인가?


+

와~ 이거 되면 시리얼 안사도 된다? ㅋㅋㅋㅋ

+


$ mkimage

Usage: mkimage -l image

          -l ==> list image header information

       mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image

          -A ==> set architecture to 'arch'

          -O ==> set operating system to 'os'

          -T ==> set image type to 'type'

          -C ==> set compression type 'comp'

          -a ==> set load address to 'addr' (hex)

          -e ==> set entry point to 'ep' (hex)

          -n ==> set image name to 'name'

          -d ==> use image data from 'datafile'

          -x ==> set XIP (execute in place)

       mkimage [-D dtc_options] [-f fit-image.its|-F] fit-image

          -D => set options for device tree compiler

          -f => input filename for FIT source

Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)

       mkimage -V ==> print version information and exit 


$ file boot.*

boot.scr: u-boot legacy uImage, boot, Linux/ARM, Script File (Not compressed), 289 bytes, Fri Apr 18 00:22:42 2014, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0xB3F039B6, Data CRC: 0x88FB7365

boot.txt: ASCII text


$ ll /boot

total 21860

drwxr-xr-x  2 root root    4096 oct 11 00:48 ./

drwxr-xr-x 19 root root    4096 oct  8 20:51 ../

-rwxr-xr-x  1 root root     353 ago  8  2014 boot.scr*

-rwxr-xr-x  1 root root     281 ago  8  2014 boot.txt*

-rwxr-xr-x  1 root root  101420 ago  8  2014 config-3.8.13.23*

-rw-r--r--  1 root root  101448 ago  8  2014 config-3.8.13.26

-rw-r--r--  1 root root  102438 nov 25  2014 config-3.8.13.28

-rw-r--r--  1 root root  102534 oct 11 00:48 config-3.8.13.30

-rwxr-xr-x  1 root root 2127254 ago  8  2014 initrd.img-3.8.13.23*

-rw-r--r--  1 root root 2127606 ago  8  2014 initrd.img-3.8.13.26

-rw-r--r--  1 root root 2127327 feb 21  2015 initrd.img-3.8.13.28

-rw-r--r--  1 root root 2190696 oct 11 00:48 initrd.img-3.8.13.30

-rwxr-xr-x  1 root root 2194825 ago  8  2014 uInitrd*

-rwxr-xr-x  1 root root 2194825 ago  8  2014 uInitrd-3.8.13.23*

-rw-r--r--  1 root root 2127670 ago  8  2014 uInitrd-3.8.13.26

-rw-r--r--  1 root root 2195492 nov 25  2014 uInitrd-3.8.13.28

-rw-r--r--  1 root root 2190760 oct 11 00:48 uInitrd-3.8.13.30

-rwxr-xr-x  1 root root 2453112 ago  8  2014 zImage* 


$ cat boot.scr

'V▒▒9▒SO▒!▒▒sebootsetenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot


$ cat boot.txt

setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot


$ sudo mkimage -T script -A arm -C none -d boot.txt boot.scr

Image Name:

Created:      Thu Oct 13 23:16:02 2016

Image Type:   ARM Linux Script (uncompressed)

Data Size:    264 Bytes = 0.26 kB = 0.00 MB

Load Address: 00000000

Entry Point:  00000000

Contents:

   Image 0: 256 Bytes = 0.25 kB = 0.00 MB


$ cat boot.scr

'V4▒P▒W▒▒                                                                                                         ▒▒▒setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot 


포인트는 /boot가 아니라 /media/boot ...

eMMC는 분리되어 나오나? 이전에 SD로 할떄는 또 기억이 안나서 모르겠네..

[링크 : http://odroid.com/dokuwiki/doku.php?id=en:nfsboot]

[링크 : http://odroid.com/dokuwiki/doku.php?id=en:odroid-xq]


+

이렇게 쉬울리가 없...지?

아니 도대체 왜 저건 안 없어 지는거야? ㅠㅠ

그래도 두번 나오던 녀석이 한번 나오니 다행인건가...(?)

$ dmesg | grep console

[    0.000000] Kernel command line: console=tty1 console=ttySAC1,115200 mem=2047M console=tty1 root=/dev/mmcblk0p2 rootwait ro mem=2047M

[    0.000000] console [tty1] enabled

[    1.571946] console [ttySAC1] enabled


$ cat /boot/boot.scr

'V4▒P▒W▒▒                                                                                                         ▒▒▒setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot


$ cat /media/boot/boot.scr

'V▒▒!W▒▒▒▒▒setenv initrd_high "0xffffffff"

setenv fdt_high "0xffffffff"

setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootm 0x40008000 0x42000000"

setenv bootargs "console=tty1 root=/dev/mmcblk0p2 rootwait ro mem=2047M"

boot

 


웬지... 기본으로 무조건 커널 인자로 ttySAC1,115200을 넣도록 되어 있는 느낌?

맞네.. 젠장 -_-


If you are using kernel 3.8 "console=tty1 console=ttySAC1,115200 mem=2047M" is a part of kernel config itself. This line is always added to kernel parameters. You need to mess with "Boot Options --->" in kernel config, modify it, disable it or set to extend kernel parameters only if nothing else is set as.

[링크 : http://forum.odroid.com/viewtopic.php?f=8&t=1978]


+

/proc/config.gz 를 확인해본 결과

CONFIG_CMDLINE="console=tty1 console=ttySAC1,115200 mem=2047M"


젠장 -_-

Posted by 구차니
Linux2016. 10. 12. 23:14

/bin/sh -> /bin/dash

이걸 /bin/bash로 변경

[링크 : https://www.howtoforge.com/community/threads/edgy-6-10-server.7704/]



/usr/include/stdio.h:671:20: note: previous declaration of ‘getline’ was here

[링크 : http://stackoverflow.com/.../why-do-i-get-a-conflicting-types-for-getline-error-when-compiling-the-longest]

'Linux' 카테고리의 다른 글

hostname을 이용한 자신의 아이피 받아오기  (0) 2016.10.18
파티션 label 변경하기  (0) 2016.10.15
strip 된 so 파일의 symbol 보기  (0) 2016.09.21
sysbench  (0) 2016.09.04
grep --exclude-dir  (0) 2016.07.09
Posted by 구차니
Linux/Ubuntu2016. 10. 11. 18:54

없으면 허전한 녀석이라 꺼볼일은 없을 듯?


$ sudo vi /etc/X11/xorg.conf

Section "ServerFlags"

    Option "DontVTSwitch" "true"

EndSection 



[링크 : http://askubuntu.com/questions/357039/how-do-i-disable-virtual-consoles-tty1-6]

'Linux > Ubuntu' 카테고리의 다른 글

ubuntu 16.04 설정관련  (0) 2016.11.14
fcitx-hangul  (0) 2016.11.14
linux console disable on runtime  (0) 2016.10.11
linux cpu hotplug  (0) 2016.10.11
ubuntu php4 설치  (0) 2016.10.06
Posted by 구차니
Linux/Ubuntu2016. 10. 11. 18:47

런타임으로 콘솔을 끄는건 메시지만 출력하지 않는 것 같고..

kernel argument로 주어진 포트를 close 하는 건 다시 찾아 봐야 할 듯..


---

이건 딱히 다른 티가 안나고..

uart로 콘솔 연결해 보기 전에는 모르겠네...


$ sudo dmesg -n 1

[링크 : http://askubuntu.com...how-do-i-disable-messages-or-logging-from-printing-on-the-console-virtual-termin]


얘는 에러가 나네...

$ sudo sysctl disable serial-getty@ttySAC1.service

sysctl: cannot stat /proc/sys/disable: No such file or directory

sysctl: cannot stat /proc/sys/serial-getty@ttySAC1/service: No such file or directory


$ ll /proc/sys

total 0

dr-xr-xr-x   1 root root 0 ene  1  2000 ./

dr-xr-xr-x 150 root root 0 ene  1  1970 ../

dr-xr-xr-x   1 root root 0 oct 12 00:57 debug/

dr-xr-xr-x   1 root root 0 oct 12 00:57 dev/

dr-xr-xr-x   1 root root 0 ene  1  2000 fs/

dr-xr-xr-x   1 root root 0 ene  1  2000 kernel/

dr-xr-xr-x   1 root root 0 ene  1  2000 net/

dr-xr-xr-x   1 root root 0 ene  1  2000 vm/ 


# systemctl disable serial-getty@ttyS0.service

[링크 : http://developer.toradex.com/knowledge-base/how-to-disable-enable-debug-messages-in-linux]


$ sudo vi /etc/sysctl.conf

kernel.printk = 0 4 1 7 

[링크 : https://wiki.openwrt.org/doc/recipes/terminate.console.on.serial]


# sysctl -w kernel.printk="2 4 1 7"

kernel.printk = 2 4 1 7

# sysctl kernel.printk

kernel.printk = 2       4       1       7


$ sysctl kernel.printk

kernel.printk = 1       4       1       7 

[링크 : http://superuser.com/questions/351387/how-to-stop-kernel-messages-from-flooding-my-console]


inittab이나 grub 로더를 통해서 하는건데odroid에는 inittab이 존재하지 않는다.

[링크 : https://help.ubuntu.com/community/SerialConsoleHowto]


[링크 : https://linux.die.net/man/8/change_console]

'Linux > Ubuntu' 카테고리의 다른 글

fcitx-hangul  (0) 2016.11.14
xwindow 가상 터미널 비활성화 하기  (2) 2016.10.11
linux cpu hotplug  (0) 2016.10.11
ubuntu php4 설치  (0) 2016.10.06
ubuntu apt를 통해 자동 업데이트 되지 않도록 하기  (0) 2016.10.05
Posted by 구차니
Linux/Ubuntu2016. 10. 11. 18:31

cpu를 끄는 법이긴 한데..

odroid 에서는 먹긴하네

나중에 전원소비량 차이도 생기는지 재봐야지


$ lscpu

Architecture:          armv7l

Byte Order:            Little Endian

CPU(s):                4

On-line CPU(s) list:   0-3

Thread(s) per core:    1

Core(s) per socket:    4

Socket(s):             1 


$ su

# echo 0 > /sys/devices/system/cpu/cpu3/online

# lscpu

Architecture:          armv7l

Byte Order:            Little Endian

CPU(s):                4

On-line CPU(s) list:   0-2

Off-line CPU(s) list:  3

Thread(s) per core:    1

Core(s) per socket:    3

Socket(s):             1 


확실히 꺼질때랑 켜질때랑 파일들도 달라지고

켜져있는데 다시 켜라면 에러가 발생한다.

root@odroid_2:/sys/devices/system/cpu/cpu1# ll

total 0

drwxr-xr-x  5 root root    0 ene  1  2000 ./

drwxr-xr-x 10 root root    0 ene  1  2000 ../

lrwxrwxrwx  1 root root    0 oct 12 00:50 cpufreq -> ../cpu0/cpufreq/

drwxr-xr-x  4 root root    0 oct 12 00:50 cpuidle/

-rw-r--r--  1 root root 4096 ene  1  2000 online

drwxr-xr-x  2 root root    0 oct 12 00:50 power/

lrwxrwxrwx  1 root root    0 oct 12 00:50 subsystem -> ../../../../bus/cpu/

drwxr-xr-x  2 root root    0 oct 12 00:45 topology/

-rw-r--r--  1 root root 4096 ene  1  2000 uevent


root@odroid_2:/sys/devices/system/cpu/cpu1# echo 1 > online

bash: echo: write error: Invalid argument


root@odroid_2:/sys/devices/system/cpu/cpu1# echo 0 > online


root@odroid_2:/sys/devices/system/cpu/cpu1# ll

total 0

drwxr-xr-x  4 root root    0 ene  1  2000 ./

drwxr-xr-x 10 root root    0 ene  1  2000 ../

drwxr-xr-x  4 root root    0 oct 12 00:50 cpuidle/

-rw-r--r--  1 root root 4096 oct 12 00:50 online

drwxr-xr-x  2 root root    0 oct 12 00:50 power/

lrwxrwxrwx  1 root root    0 oct 12 00:50 subsystem -> ../../../../bus/cpu/

-rw-r--r--  1 root root 4096 ene  1  2000 uevent 


root@odroid_2:/sys/devices/system/cpu/cpu1# echo 0 > online

bash: echo: write error: Invalid argument


$ dmesg | tail

[  151.618760] CPU3: shutdown

[  307.728391] CPU3: Booted secondary processor

[  357.968383] CPU1: shutdown

[  443.399593] CPU1: Booted secondary processor 


[링크 : http://www.cyberciti.biz/faq/debian-rhel-centos-redhat-suse-hotplug-cpu/]


+

2016.10.14

전력 측정하면서 cpu 를 하나씩 꺼보는데

2.06W 에서 2.08W로 오차범위 내에 오락가락 하는것 외에는 차이가 없다.

그냥 단순하게 스케쥴러에서 뺴버리는 그런 건가? 전원 관리를 통해 차단은 하지 않고?

Posted by 구차니

좀.. 구석기 시대 우분투 쓸일이 있어서 까는데

SATA로 하니 안되서 IDE로 설정

음.. 종류가 여러가지 있어서 해봤는데 별 의미는 없고

noapic로 해결되긴 한데 궁금해서 찾아봄



간단하게 말하면... PIIX3/4는 440BX 보다 구식이다 정도?



The PIIX3 introduced a USB 1.0 controller and support for an external I/O APIC. It was used with the 430HX and 430VX Triton II and 440FX northbridges.

The PIIX4 introduced ACPI support, an improved IDE controller with Ultra DMA/33 or ATA-4 support and an integrated a MC146818 style RTC and CMOS controller. It was used with the 430TX and the 440LX Balboa northbridges.


[링크 : https://en.wikipedia.org/wiki/PCI_IDE_ISA_Xcelerator]


ICH2

In early 2000 Intel had suffered a significant setback with the i820 northbridge. 


The ICH4 was Intel's southbridge for the year 2002.


In 2003, and in conjunction with the i865 and i875 northbridges, the ICH5 was created.

[링크 : https://en.wikipedia.org/wiki/I/O_Controller_Hub]

'프로그램 사용 > Virtual Machine' 카테고리의 다른 글

bochs 느려!  (4) 2011.06.17
bochs - IA32 emulation  (0) 2010.08.15
Posted by 구차니
Programming/php2016. 10. 11. 12:26

4.1도 아닌 4.0 대로 테스트 하려면.. 우분투로는 무리구나...

04.10 부터 나왔으니 우분투는.. 2004년 이라 4.2 버전 이상일 듯?

[링크 : http://old-releases.ubuntu.com/releases/]


[링크 : https://en.wikipedia.org/wiki/PHP#Release_history]


4.1.0 $_POST $_GET 변수들 추가

4.0.6

[링크 : http://www.php.net/ChangeLog-4.php]



+

ubuntu 

04.10 php 미존재

05.04 php 미존재

08.04 php5

'Programming > php' 카테고리의 다른 글

php pdo? - PHP Data Object  (0) 2016.11.23
php template  (0) 2016.11.14
php get / post 변수 그리고 global 변수  (0) 2016.10.11
php 디버그 메시지 출력하게 하기  (0) 2016.10.10
php 구버전 post 변수.  (0) 2016.10.10
Posted by 구차니