2012년 11월 12일 월요일

GPT Partition Table


< GPT Partition Table 분석 >
                                                               2012-04-27 전용규

1. 기본사항

   - GPT 는 GUID Partition Table 의 약자.
   - Hard disk 상에 존재하는 partition 에 대한 정보를 제공하는 table.
   - MBR Partition table 의 한계점을 해결하기 위해 만들어짐
   - Intel 이 PC BIOS 를 위해 제안한 EFI (Extensible Firmware Interface)에 포함
   - GPT 는 최고 9.4 zetta bytes 의 partition 을 지원


2. 구조

   1) Legacy MBR (LBA 0) : Protective MBR : 1 sector
 
      기존 MBR partition 용 disk utility 가 GPT Partition drive 를 인식하지
      못하기 때문에 삭제할 위험성이 있다. 이를 방지하기 위해
      GPT partition drive 의 제일 앞에는 MBR 방식으로 표현된 partition
      table 이 위치한다.
     
      이 MBR 에는 0xEE type 의 partition 1개 정보가 표기되는데,
      이 partition 은 GPT drive 전 영역을 포함하게 된다.
      만약 GPT drive 가 2 TBytes 이상의 크기를 가질 경우 2 TBytes 로 표기한다.
     
      이 MBR 에는 bootloader 의 첫번째 stage code 도 담겨진다.
     
   2) Partition table header (LBA 1) : Primary GPT : 33 sectors
 
      Disk 에 있는 usable blocks 정의
      Partition table 을 구성하는 partition entry 의 개수와 크기 정의
     
      EFI spec 에서는 최소 16KBytes 를 partition table 공간으로 요구.
      128 byte 짜리 partition entry 가 128 개 위치 가능.
     
      이 Header 에는 Disk GUID (Globally Unique Identifier) 가 포함된다.
     
      또한 자신의 size 와 location (항상 LBA 1) 그리고
      두번째 GPT header 와 table 의 location 과 size 가 표시된다.
     
      그리고, header 와 partition table 에 대한 CRC32 checksum 을 포함하고 있어
      부팅시 bootloader 와 OS 에 의해 무결성을 검사받게 된다.
     
      만약 첫번째 GPT header 와 partition table 의 checksum 이 이 값과 다르면
      disk 복구 software 에 의해 두번째 GPT header 와 table 값이 첫번째 위치로
      복사된다.
     
      첫번째, 두번째 GPT header 의 checksum 이 모두 일치하지 않으면
      이 disk 는 사용될 수 없는 상태가 된다.
     
      [Format]
      --------------------------------------------------------------------------
      Offset Length  Contents
      --------------------------------------------------------------------------
      +0     8 bytes Signature ("EFI PART", 45h 46h 49h 20h 50h 41h 52h 54h)
      ~~
      +24    8 bytes Current LBA (location of this header copy)
      +32    8 bytes Backup LBA (location of the other header copy)
      +40    8 bytes First usable LBA for partitions (primary partition table last LBA + 1)
      +48    8 bytes Last usable LBA (secondary partition table first LBA - 1)
      ~~
      +80    4 bytes Number of partition entries in array
      +84    4 bytes Size of a single partition entry (usually 128)
      +88    4 bytes CRC32 of partition array
      +92    420     All zero
      --------------------------------------------------------------------------
     
   3) Partition entries (LBA 2 ~ ) : Primary partitions : 32 sectors
 
      [Format]
      --------------------------------------------------------------------------
      Offset Length   Contents
      --------------------------------------------------------------------------
      0      16 bytes Partition type GUID
      +16    16 bytes Unique partition GUID
      +32     8 bytes First LBA (little endian)
      +40     8 bytes Last LBA (inclusive, usually odd)
      +48     8 bytes Attribute flags (e.g. bit 60 denotes read-only)
      +56    72 bytes Partition name (36 UTF-16LE code units)
      --------------------------------------------------------------------------
            128 bytes Total
      --------------------------------------------------------------------------

   4) Secondary partition entries (LBA -33 ~ -2) : Secondary partitions : 32 sectors
     
      Primary partitions 정보와 동일
     
   5) Secondary GPT (LBA -1) : 1 sector
 
      기본적으로 Primary GPT 와 동일한 내용을 담고 있으나,
      Primary GPT 의 위치를 가르키도록 내용이 변경됨.
     

2012년 11월 9일 금요일

OMAP4460


< OMAP4460 정리 >
                                                               2012-10-31 전용규

1. Chipset 정보

   ARM Cortex-A9 Processor
   (ARMv7-A Cortex)
 
 
2. MLO

   File name of the first stage boot loader in the first FAT32 partition of MMC
   = header + x-loader binary
 

3. Memory Subsystem

   = DMM + TILER + EMIF + GPMC + ELM + OCM + DMM

   X) GPMC
 
      : General-Purpose Memory Controller
      : for interfacing external memory devices;
        - Async SRAM-like memory
        - Async, sync, page mode burst NOR flash
        - NAND flash
        - Pseudo-SRAM devices
 
   X) OCM
 
      OCM (On-Chip Memory) subsystem consists of
      - on-chip ROM (SAR ROM) controller
      - on-chip RAM (SAR RAM) controller
      - on-chip SRAM (L3 SRAM) controller
   
      SAR ROM
      - 4-KB ROM, 32-bit access / cycle
   
      SAR RAM
      - 8-KB size
      - content in SAR RAM is preserved when the device goes into off mode
        as long as the wake-up voltage domain remains supplied.
      - Used as context-saving memory to be written by software so that
        sDMA restores its saved content when the device transitions from off to on mode.
      - 32-bit access / cycle
   
      L3 SRAM (= L3 OCM_RAM)
      - 56-KB RAM
      - Fully pipelined, 32-bit access / cycle
 
   X) SAR
 
      : Save-And-Restore
      : Hardware context saving for power saving.
   



 
   

배송대행

http://post.malltail.com/

2012년 8월 21일 화요일

Web sites for TI OMAP4



1. Q&A about OMAP4

    TI E2E™ Community for OMAP™ Applications Processors
    http://e2e.ti.com/support/omap/default.aspx

2. OMAP4 TRMs, TRM addendums, DM, and Clock Tree Tool (CTT)

    http://www.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?templateId=6123&navigationId=12037

3. TI software releases on OMAP4

    http://omappedia.org/wiki/Release_Notes

4. PandaBoard Q&A

   pandaboard@googlegroups.com

2012년 8월 17일 금요일

김용한의원


  • 02-435-0036 서울특별시 중랑구 면목2동 131-10
    김우열 추천

http://map.naver.com/index.nhn?pinId=19529266&pinType=site&streetviewer=on&pinTitle=sd6cSGOB+YHAXSsDpdTFOA==&enc=b64

2012년 7월 9일 월요일

2012년 5월 21일 월요일

Ubuntu firewall setting


1. Get the current running status of firewall
    $ sudo ufw status

2. Enable firewall
    $ sudo ufw enable

3. Disable firewall
    $ sudo ufw disable

4. Deny incomming packet
    $ sudo ufw deny <port>/<protocol>

    <port> is port number.
    <protocol> is like "tcp", "udp"

5. Deny IP address

    $ sudo ufw deny from <IP-Address>

6. More information
    $ man ufw


Source : http://fallingstar.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-%EB%B0%A9%ED%99%94%EB%B2%BD-%EC%84%A4%EC%A0%95%ED%95%B4%EC%A0%9C%ED%95%98%EA%B8%B0

2012년 2월 23일 목요일

프로선수와 직장인의 차이

프로선수와 직장인의 차이

프로 운동선수들은 자기 시간 중 20%를 시합에, 80%를 훈련에 투자한다.
한 조사에 의하면 대부분의 직장인들은
자기 시간의 99%를 일에, 1%를 자기계발에 투자한다.
운동선수로 치자면 거의 연습도 하지 않고,
시합에 임하는 것과 마찬가지다.
- 혼다 나오유키, [레버리지 씽킹]에서

시합에 이기려면 연습을 해야 합니다.
독서와 자기계발을 하지 않고 일만 하는 사람은
연습을 하지 않고 시합에 나가는 운동선수와 같습니다.
경영사상가 톰 피터스는
“비즈니스맨이 훈련에 게으른 것은 망신스러운 일이다.
하지만 더 중요한 것은 조만간 남에게 따라잡히게 된다는 사실이다.”고 경고합니다.

| 제1888호 | 2012.02.22
(출처 : 행복한 경영이야기 http://www.happyceo.co.kr/)

2012년 2월 8일 수요일

2012년 2월 6일 월요일

Linux kernel log buffer

Buffer of printk strings => static char __log_buf[__LOG_BUF_LEN]; of printk.c

[kernel/printk.c]
printk(~) -> vprintk(~) -> emit_log_char(c) -> log_buf -> __log_buf

2012년 2월 3일 금요일

Linux Kernel Mailling List

http://vger.kernel.org/

  • http://marc.info/?l=linux-kernel
        Text search function is good.
        We can download RAW mail text.
  • http://www.ussg.iu.edu/hypermail/linux/kernel/
        Good for listing of mail.
  • Time setting in Linux, Unix


    [Time server list in South Korea]
    1. NTP Primary Time Server
        - time.kriss.re.kr
        - time2.kriss.re.kr
        - ntp.kornet.net
        - ntp.postech.ac.kr
        - time.bora.net

    2. NTP Secondary Time Server
        - ntp.ewha.net
        - ticktock.ewha.net
        - time.bora.net

    [rdate]
    $ sudo rdate - s time-server-name

    [ntpdate]
    $ sudo ntpdate -b time-server-name

    You should not repeat the time request in short time (seconds).
    You can be added to black list and blocked.

    [Time zone setting in Ubuntu]
    $ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
    $ date
    Mon Feb 13 16:13:21 KST 2012

    "KST" means Korea time zone.

    2012년 1월 30일 월요일

    커널에서 물리적 블록디바이스에 직접 데이터 I/O 작업하기


    ll_rw_block 를 이용해서 어떻게 I/O 작업을 하는지 정리한 내용
    http://kldp.org/node/128977

    하지만, ll_rw_block 은 deprecated 로 마크되었으므로 아래 방법이 앞으로 유용할 듯.
    -------------------------
    최근 커널의 kernel/power/ 에서 block_io.c 와 swap.c 를 보시면 간단한 예제가 있습니다.
    이 두 파일은 suspend-to-disk 때 ram 의 내용을 swap 파티션으로 백업하는 기능을 구현하고 있습니다. submit_xx 계열의 다른 함수들에 대한 예제는 커널 소스들을 뒤져보시면 되겠고요.
    -------------------------

    정진

    법륜스님의 메시지 [2012-01-28]

    손님이 왔을 때는
    아주 반갑게 "어서 오세요." 하면서
    맞이하는 데 깨어 있어야 하는 거예요.
    다른 데 쳐다보고 손님이 오는지 가는지도 모르는 것은
    깨어 있는 게 아니에요.
    음식을 만들 때는 정성들여 만드는 데 깨어 있어야 합니다.
    음식을 차려서 손님에게 갖다 줄 때도
    음식을 갖다 주는 상태에 깨어 있어야 해요.
    자기자신의 일거수일투족에 깨어 있는것,
    바로 그것이 정진입니다
    장사를 하면 장사하는 그 순간순간에 깨어 있는 것이 정진이며
    동시에 그것이 사업을 잘하는 것이지요.
    정진하는 것하고
    사업하는 게 별개가 아니에요.

    2012년 1월 15일 일요일

    Linux block device

    This is for study of Linux block device.


    Useful web sites:





    2012년 1월 14일 토요일

    First to one hundredth


    01st first
    02nd second
    03rd third



    04th fourth
    05th fifth
    06th sixth
    07th seventh
    08th eighth
    09th ninth
    10th tenth
    11th Eleventh
    12th Twelfth
    13th Thirteenth
    14th Fourteenth
    15th Fifteenth
    16th Sixteenth
    17th Seventeenth
    18th Eighteenth
    19th Nineteenth
    20th Twentieth



    21st twenty-first
    22nd twenty-second 
    23rd twenty-third



    24th twenty-fourth
    25th twenty-fifth
    26th twenty-sixth
    27th twenty-seventh
    28th twenty-eighth
    29th twenty-ninth
    30th thirtieth



    31st thirty-first
    32nd thirty-second
    33rd thirty-third



    34th thirty-fourth
    35th thirty-fifth
    36th thirty-sixth
    37th thirty-seventh
    38th thirty-eighth
    39th thirty-ninth
    40th fortieth



    41st forty-first
    42nd forty-second
    43rd forty-third



    44th forty-fourth
    45th forty-fifth
    46th forty-sixth
    47th forty-seventh
    48th forty-eighth
    49th forty-ninth
    50th fiftieth



    51st fifty-first
    52nd fifty-second
    53rd fifty-third



    54th fifty-fourth
    55th fifty-fifth
    56th fifty-sixth
    57th fifty-seventh
    58th fifty-eighth
    59th fifty-ninth
    60th sixtieth



    61st sixty-first
    62nd sixty-second
    63rd sixty-third



    64th sixty-fourth
    65th sixty-fifth
    66th sixty-sixth
    67th sixty-seventh
    68th sixty-eighth
    69th sixty-ninth
    70th seventieth



    71st seventy-first
    72nd seventy-second
    73rd seventy-third



    74th seventy-fourth
    75th seventy-fifth
    76th seventy-sixth
    77th seventy-seventh
    78th seventy-eighth
    79th seventy-ninth
    80th eightieth



    81st eighty-first
    82nd eighty-second
    83rd eighty-third



    84th eighty-fourth
    85th eighty-fifth
    86th eighty-sixth
    87th eighty-seventh
    88th eighty-eighth
    89th eighty-ninth
    90th ninetieth



    91st ninety-first
    92nd ninety-second
    93rd ninety-third



    94th ninety-fourth
    95th ninety-fifth
    96th ninety-sixth
    97th ninety-seventh
    98th ninety-eighth
    99th ninety-ninth
    100th one hundredth