🌐 한국어

    OFFS 포맷하기#

    mkfs.offs 툴을 이용하여 블럭 디바이스 장치를 OFFS 파일 시스템으로 포맷합니다.

    mkfs.offs 사용법#

    mkfs.offs 명령어 형식은 아래와 같습니다.

    mkfs.offs [-v -f -s sectors_per_cluster -S sector_size -e] 
              <mmcblk path or mmcblk partition path> 
              <config file path> 
              <active format section name>
    
    • -v 옵션은 포맷 진행 과정에 상세한 로그를 출력합니다.
    • -f 옵션은 RAW 포맷을 진행합니다. MBR을 덮어쓰며 파티션 테이블을 새로 생성합니다.
    • -s <sectors_per_cluster> 옵션은 클러스터당 섹터 개수를 설정합니다. 2의 거듭제곱 값으로 1, 2, 4, 8, 16, 32, 64, 128 값이 허용됩니다.
    • -S <sector_size> 옵션은 섹터 크기를 설정합니다. 기본값은 512바이트입니다. 2의 거듭제곱 값으로 512 (2^9), 1024, 2048, 4096, ..., 32768 (2^15) 값이 허용됩니다. 시스템에 따라서 인식 못 할 수 있습니다.
    • -e 옵션은 SD카드가 아닌 외장형 HDD나 SDD 저장 장치를 포맷하는 경우에 지정합니다.
    • <mmcblk path or mmcblk partition path> 첫번째 필수 인수로 저장장치 경로입니다. -f 옵션을 지정한 경우, RAW 포맷을 위해 블럭 장치 경로을 지정합니다. 예를 들어 SD 카드의 경우 "/dev/mmcblk0" 입니다.
    • <config file path> 두번째 필수 인수로 포맷 환경 설정 파일 경로입니다.
    • <active format section name> 세번째 필수 인수로 포맷 환경 설정 파일 내에서 실제 포맷 구성을 적용 할 섹션 이름입니다.

    Note

    -s-S 옵션을 지정한 경우, -f 옵션도 함께 지정해야 합니다. -e 옵션으로 외장 하드를 포맷할 경우에도 -f 옵션을 함께 지정해야 합니다.

    Note

    SD카드 포맷 시 장치 경로를 파티션이 아닌 블럭 장치 경로로 지정하게 되면 RAW 포맷이 진행됩니다. 예를 들어, 파티션 경로인 "/dev/mmcblk0p1" 을 지정하면 해당 파티션을 포맷하지만, "/dev/mmcblk0" 를 지정하면 RAW 포맷을 진행하게 됩니다.

    포맷 환경 설정 파일#

    mkfs.offs는 환경 설정 파일 경로와 환경 설정 파일 내에 있는 실제 적용할 섹션 이름을 인수로 받습니다.

    mkfs.offs는 이 섹션에서 명시된 폴더 구조와 특성으로 포맷을 진행합니다.

    환경 설정 파일은 general 섹션과 여러개의 <사용자 정의 섹션> 으로 구성되어 있습니다.

    ;# 로 시작하는 줄은 주석 줄입니다.

    general 섹션#

    [general]
    label=<볼륨 라벨>
    keep_root_files=<1 또는 0>
    
    • label 최대 11 글자로 대문자로 이루어진 볼륨 라벨입니다. 11자보다 더 길 경우, 포맷이 취소됩니다.
    • keep_root_files
      • 1: 루트 폴더에 있는 파일을 그대로 유지 합니다.
      • 0: 루트 폴더에 있는 파일들도 포맷시 지워집니다.

    사용자 정의 섹션#

    환경 설정 파일은 하나 이상의 <사용자 정의 섹션> 으로 구성됩니다.

    [section_name]
    folders=<총 폴더 개수>
    mode=<모드>
    signature=<시그너쳐>
    
    folder<N>=<이름>
    folder<N>_size=<파일 최대 크기>
    folder<N>_percent=<할당 비율>
    folder<N>_mode=<모드>
    
    • section_name 사용자가 정의하는 임의 섹션 이름입니다. 공백은 없어야 합니다. 대소문자 구분하지 않습니다.
    • folders 생성할 폴더 개수입니다.
    • mode 용도를 지정합니다. driving, parking, general 중 하나를 지정합니다. 단순 구분 용도이며 동작에 아무런 영향을 끼치지 않습니다.
    • signature 시그너쳐 이름입니다. 최대 12 글자로 이루어지며 공백은 허용되지 않습니다. 포맷이 적용된 섹션 이름을 구분하기 위함입니다.

    이후 키값은 folder<N>- 접두사가 붙습니다. <N>은 1번부터 시작되며 1씩 증가합니다. <N>의 최대 값은 <총 폴더 개수>입니다.

    • folder<N> 은 최대 11글자로 이루어진 폴더명입니다. 11자보다 더 길 경우 포맷이 취소됩니다.
    • folder<N>-size 는 폴더 내에 파일의 최대 크기입니다. MB 단위입니다. 4의 배수로 설정합니다.
    • folder<N>-percent 는 이 폴더의 차지하는 총 크기를 전체 용량 대비 퍼센트로 지정합니다.
    • folder<N>-mode 는 포맷 시 이 폴더에 대해 적용되는 모드입니다.
      • 0: 정해진 최대 크기로 예약 파일을 생성합니다. 기본 모드입니다. 녹화 파일 저장 등에 적합합니다. 이 유형으로 최대 4개의 폴더를 가질 수 있습니다.
      • 1: 폴더가 존재할 경우, 항상 새로 생성합니다. 예약 파일을 생성하지 않습니다. 빈 폴더입니다.
      • 2: 폴더가 존재할 경우, 그 폴더 내의 파일을 지우지 않고 유지합니다. 폴더가 없을 경우, 새로 생성합니다. 예약 파일을 생성하지 않습니다. 빈 폴더입니다. 시스템 운영에 필요한 시스템 설정 파일이나 로그 기록 등을 보관하는 용도에 적합합니다.

    환경 설정 파일 예#

    아래는 1개의 사용자 정의 섹션을 갖는 환경 설정 파일 예입니다.

    
    [general]
    ;DISK label (max 11 characters)
    label=MYSD
    ;keep the files in the root directory
    keep_root_files=1
    
    ;
    ; note: reserved file size should be multiple of 4.
    ;
    
    [32GB_DRV]
    ;# of reserved folders.
    ;Max number of reserved folders is 4.
    folders=6
    ;valid mode types: driving, parking, general
    mode=driving
    ;signature (max 12-byte)
    signature=32GB_DRV
    
    ;folder name. max 11 characters
    folder1=DRIVING                
    ;file size in this folder. unit is MB.
    folder1_size=180
    folder1_percent=50
    ;mode 0: preserver files, 1:always new, 2: keep if exists;otherwise create
    folder1_mode=0
    
    folder2=PARKING
    folder2_size=180
    folder2_percent=20
    folder2_mode=0
    
    folder3=EVENT
    folder3_size=24
    folder3_percent=10
    folder3_mode=0
    
    folder4=MOTION
    folder4_size=24
    folder4_percent=10
    folder4_mode=0
    
    folder5=SNAPSHOT
    folder5_size=4
    folder5_percent=5
    folder5_mode=1
    
    folder6=Config
    folder6_size=1
    folder6_percent=5
    folder6_mode=2
    
    

    mkfs.offs 사용예#

    아래는 위 환경설정 파일을 사용하여 SD 카드를 포맷하는 예입니다.

    $ ./mkfs.offs /dev/mmcblk0p1 ./offs-format.cfg 32GB_DRV
    
    OFFS Version 3.14.4(aarch64) (build 48643)
    Free memory 852389888
    label: MYSD
    keep the root files: Yes
    folders#: 6
    mode: Driving
    signature: 32GB_DRV
    folder[0]: "DRIVING" 180MB 50% mode: PreserveFiles
    folder[1]: "PARKING" 180MB 20% mode: PreserveFiles
    folder[2]: "EVENT" 24MB 10% mode: PreserveFiles
    folder[3]: "MOTION" 24MB 10% mode: PreserveFiles
    folder[4]: "SNAPSHOT" 0MB 0% mode: AlwaysCreateNew
    folder[5]: "Config" 0MB 0% mode: KeepIfExistsOtherwiseCreate
    WR chunk 131072 buf 1024K
    /dev/mmcblk0 readonly? 0
    MBR fs 8160
    PBR cl 16384, spc 32, bps 512
    OFFS(ver. 3.14, type 1) detected
    FAT 0x404000 0xb7c000 32 15296
    DAT 0x12f4000 1 1
    VOLUME: KL730
    WR align 16384 chunk 131072
    SIGNATURE: KL730
    formatting...
    disk size 32040288256 bytes (30556.00 MB, 29.84 GB)
    root size 0 bytes (0.00 MB, 0.00 GB)
       DRIVING   50%   180 MB #85  
       PARKING   20%   180 MB #34  
         EVENT   10%    24 MB #128 
        MOTION   10%    24 MB #128 
      SNAPSHOT    0%     0 MB #0   
        Config    0%     0 MB #0   
        (free)        2992 MB
    SUCCESS (22.050688 sec).
    

    아래는 외장형 하드디스크(2TB)를 포맷하는 예입니다.

    $ sudo ./mkfs.offs -f -e /dev/sdk ./offs-format-gw-4ch.cfg driving
    
    OFFS Version 3.13.20(x86_64) (build 42906)
    Free memory 7048966144
    warn: "/dev/sdk" path is not in mmcblk device path like /dev/mmcblk0. try to raw format the whole block device.
    label: 4CH-CAR-DVR
    keep the root files: Yes
    folders#: 5
    mode: Driving
    signature: GW-4CH-DEV
    folder[0]: "Drive" 356MB 35% mode: PreserveFiles
    folder[1]: "Event" 124MB 20% mode: PreserveFiles
    folder[2]: "Time Lapse" 168MB 35% mode: PreserveFiles
    folder[3]: "DTG" 0MB 0% mode: AlwaysCreateNew
    folder[4]: "Config" 0MB 0% mode: KeepIfExistsOtherwiseCreate
    WR chunk 131072 buf 1024K
    MBR fs 2016
    MBR fs 8160
    PBR cl 65536, spc 128, bps 512
    FAT 0x800000 0x8000000 8192 245760
    DAT 0xf800000 1 1
    WR align 65536 chunk 131072
    formatting...
    disk size 2000394739200 bytes (1907725.12 MB, 1863.01 GB)
    root size 0 bytes (0.00 MB, 0.00 GB)
         Drive   35%   356 MB #1876
         Event   20%   124 MB #3077
    Time Lapse   35%   168 MB #3975
           DTG    0%     0 MB #0   
        Config    0%     0 MB #0   
        (free)       190521 MB
    SUCCESS (2.059001 sec).