티스토리 뷰

Computer Architecture/Error

커널오류

아인샴 2019. 12. 7. 23:58

--발생했던 커널 오류와 그에 대한 단어를 정리 해봤다.

  - 생각보다 더 지저분하긴 한데 조회용으로 쓸것이니 조회할때마다 정리하는 것으로..ㅎㅎ

*ABRT has detected 1 problem 
   reason: mce: [Hardware Error]: Machine check events logged 
 *ABRT란? 
   
Gpg key retrieval failed 
   -;GPG 키 검색에 실패했습니다 
   GNU 프라이버시 가드 (GPG).
      소프트웨어 개발자와 개발자는 설치 패키지 (RPM)에 포함 된 각 소프트웨어에 서명이 수반되어야한다고 지시
      공개 키없이 .rpm 파일의 압축을 풀거나 다운로드 한 "nano"또는 "vi"로 ".repo"파일을 편집하고 "gpgcheck". "0"값을 설정
      

*부팅오류
   smpboot: do_boot_cpu failed(-1) to wakeup CPU#1,2,3...d
   
   i2c i2c-0: snedbytes: NAK bailout.o Quit
   This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run: 문제를 분석할 로그파일을 잃어버림 
   
   Re: CentOS 7 - Started GNOME DIsplay manager hangs
Post by TrevorH » 2017/05/27 20:32:03

      The problem with using the AMD/nvidia provided installers is that it only installs for the current kernel. As soon as a new kernel comes along you have to reinstall the driver. There was a kernel update for el7 yesterday or the day before so it's probably updated and tried to boot and the drivers are missing. Reinstall them. // usb로 재설치 해라
      
      ---
      유지모드로 접속하려 했음
      https://www.tecmint.com/boot-into-single-user-mode-in-centos-7/
      rw init=/sysroot/bin/sh
      failed to start switch root라고함 
      http://blog.naver.com/PostView.nhn?blogId=hymne&logNo=220959797691&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=true&from=search
      
      --
      gui에 오류가 있는거 같으니 widnow x없이 띄우자
      --
      https://www.centos.org/forums/viewtopic.php?t=47655 // 이거를 
      /lib/systemd/system에 있는 emergency target으로 설정했따.


----

   *EFI shell version 2.50[5.12]
      device maaping table blk0~4 가 보인다. pci root 라고 함  sata 
      
   내가 봤던 장면이 여기 나옴
      부팅 순서 설정 메뉴에서 볼 수 있는 ‘Built-in EFI Shell’. 리눅스의 텀(Term)과 윈도우의 DOS 콘솔과 유사하다.
         출처: https://alphamedia.tistory.com/entry/바이오스의-한계-넘는다-EFI-2008-07-18-1130?category=295384 [알파미디어 ( AlphaMedia )]


#bios 사전
   *EFI   확장 펌웨어 인터페이스로 Extensible Firmware Interface 라는 것의 약자
      운영체제와 플랫폼 펌웨어 사이의 소프트웨어 인터페이스를 정의하는 규격

      일반 PC 에 설치된 BIOS Firmware 의 부팅 단계
         1. 베이스 하드웨어 - 입출력/저장 장치 (키보드, 마우스, 디스플레이 관련, 하드디스크 등의 저장장치) 시작
         2. 지정된 Boot Priority 에 따라서 부팅 장치 시작 (주로 부팅 하드디스크로 이해하면 쉽습니다)
         3. MBR 에서 Primary Partition을 스캔한 후 Boot Volume 을 VBR(Volume Boot Record)에 따라서 시작한다
         4. MBR 또는 VBR 을 거친 후 Boot Loader (NTLDR, LILO, GRUB 등) 를 시작한다.


      출처: https://alphamedia.tistory.com/entry/자동-저장-문서-3 [알파미디어 ( AlphaMedia )]
      
   *PCI 
      peripheral Component Interconnect 로서 컴퓨터 내부에서 Cpu와 주변 기기를 연결하는 로컬버스의 일종 
      
   *SATA(Serial ATA)
      ATA 란 At attacement 로, 예전에는  병렬방식인 Parallel ATA 인터페이스로 PC 부품을 제어했는데 불안정해서 직력 ATA를 쓴것을 SATA라고 부른다. 라즈베리파이에 진공청소기처럼 꽃앗던게 PATA
      
      *UEFI United EFI : efi가 또 경우마다 달라서 이걸관리하는 인터페이스
   *UFDBM???? 뭐임
      *dbm 통신의 신호 강도에 대해서 0에 가까울수록 신호가 세다고 한다. 이 단위가 dBm..글쎄관련맞나
      
   *ISCSI daemon with started
      can't open InitiaorName configration file/etc/iscsi/initiatorname.
      
   *MBR/PBR
      *FAT(File Allocation Table)
         -FAT는 디스크 포맷을 일ㅁ컫는 말로 하드 디스크상의 저장공간을 구성하는 방법 대부분의 OS가 읽을수 있어서 인지도가 높음 . 하드디스크에 잇는 파일에 대한 정보를 구성해 각 파일을들을 어디에 위치해잇는지 구분하는 일련의 번호로 표시한다. 
         
      *MBR (master boot record)
         - FAT의 첫번째 섹터를 마스터 부트라고 한다. mbr를 512 바이트임 
         -mbr은 4개 파티션으로 구성되어 있고 각 파티션은 boot flag, chs begin, type code, CHS end, LBA begin number of sector가 있다. 
         -type code : 0x0b or 0x0c 면FAT32 tltmxpa
         -LBA begin : sd메모리의 파티션 시작주소 == 부트레코드 주소
         
      *부트레코드 주소란 
         해당 파티션의 첫번째 섹터란 뜻 : mbr의 파티션 테이블에서 lba begin 값을 이용해 PBR을 찾아간다.
         
      *PBR(partition boot record) : 부트레코드 = 부트섹터
         -MBR과 부트레코드섹터는 다른 섹터임 (1섹터는 512 바이트)
         -512바이트 크기의 pbr안에는 volume ID라고 부를법한 영역이 존재한다.
         -Volume ID 구성
            [byteperSector/Sectors perCluster / Number of Rserved Sectors / Number of FATs/ Number of Per FAT/ Root Direcotry First Cluster / Signature]
               https://yebig.tistory.com/117
      *ACPI란 Adavanced Configuration and Power Interface
         -고오급 전원관리
         시스템 상태(Global System State : G3,g2,g1,g0) 
            -g3 전원차단 상태 배터리로만 전원을 단독공급 :mechanical off state
            -g2(S5) sort off : 전원연결 상태 : 5v 스탠드바이와 배터리 전원이 공급됨
            -g1 : 수면상태 
            -g0(S0) : 가동상태 working state 
         -Intel과 MS과 공동으로 진행해 만든 인터페이스,
         -기존에는 APM이란걸로 전원과리 했는데 대체할 전력제어용 API로 ACPI를 씀. 
         -기존에 apm은 bios와 os 사이 관리만 하고 전력제어는 bios꺼였는데 acpi는 os가 중심이 되어각 장치 상태를 일괄적으로 관리하고 정력도 제어함 
         -acpi 통합전력 인터페이서 역할을 하기 때문에 사용하면서 전기를 장시간 사용하는 컴퓨터에게 유용하게 되었다고한다 
         
         *APM : advance power management 
            : 이것도 인텔 +MS 공동 합작으로, 전지식 PC의 전력제어용 API 규격. 
            : apm기능은 랩톱이나 노트북의 bios 에 표준적으로 내장되어 있어서, hdd나 lcd같은 전력소비를 조절하는 절전기능을 할 수가 있다. 96년도에 acpi만들어서 윈98과 NT5에서 acpi를채용함. 밀려난거지
         
         출처: https://thinkpro.tistory.com/28 [Yang-gaeng's Blog]
      *acpi dynamic "oem table" load <<??
         *OEM Original Equipment Manufautrer 주문자 상표 부착 생산 : 
            같은 펜에 bt21 카카오프렌즈 하는거 
            : 주문자 의외에 따라 주문자 상표를 부착하며 판매할 상품을제작하는 업체 
            : ODM(origianl design manufactureing) 제조자 개발 생산도 있음 : 명품 
      *SSDT란  
         System Service Dispatch Table ; System Service API 함수 라고 돟함
            커널 서비스를 받고자 할때 사용되는 함수를 system service api함수라고 하는데,
            이 함수들의 주소를 담고 있는 테이블이다.  윈도우 후킹할 때 이걸 탐지하나봄
            
      *EVM이란
         Extended Verification Module
            특정 파일 데이터와 metatdata에 대한 해쉬, 이 해쉬값을 TPM으로 서명하는 작업을 담당, 
               즉 실행파일 변조를 보호하는 것이 EVM의 목적이다. 
            *TPM이란 (Trusted Platform Module)
               암호화 키 저장, 암호화 연산이 가능한 Hardware Chip 규격을 의미한다.
               2006년 이후의 많은 PC, 노트북들은 TPM 이 포함되어 출시되었다.
      *NMI란 Not maskable Interrupt <아마 대충 이런 약자일듯 
      
         마스크 불가능 인터럽트 
         -인터럽트를 2가지 범주로 나누는게 기본 개념
            -하나는 공통인터럽트로, 시스템의 정상기능하에 장치에 의해 사용되는 인터럽트
            -둘째는 OS가 마스크 하기를 원할 수도 있는 인터럽트 
            =NUM는 두번째 인터럽트를 생성하는데, IVT랑 IDT를 사용한다.
            *IVT(Interrut vector table)
            *IDT(Intterrupt describtor table)
            https://codeday.me/ko/qa/20190617/805269.html
            https://codeday.me/ko/qa/20190524/616185.html
            뭐이리 어렵냐.. 
         *SCI system control Inerrupt
            하드웨어가 ACPI 이벤트를 OS에 알리는데 사용하는 시스템 인터럽트 
               활성, 낮음 공유가능 레벨 인터럽트라고 하네? 멀까 
         *SMI
            시스템 관리 인터럽트 레거시 시스템의 인터럽트 이벤트에 의해 생성된 OS 투명 인터럽트 
         출처 : https://codeday.me/ko/qa/20190524/616185.html
      *GPE란
         NU Palmtop Environment 뜻도 안적어놓음 ㅡㅡ 
         https://www.tta.or.kr/data/androReport/roadMap/0-2-%EC%95%BD%EC%96%B4.pdf
      *amd_nb
         리눅스 커널 arch 파일로 #include <linux/ioport.h> #include <linux/pci.h>  를 참조 한다 .
         약자찾긴 힘들어 보임(??)
      *hpet_acpi_add :
         HPET 고오 정밀 이벤트 타이머  High Precision Event Timer
            HPET를 사용하면 기존 TSC 타이머나 ACPI 타이머등보다 좀 더 오차가 적은 정밀한 타이밍으로 CPU의 오버헤드를 줄여주게 되어 프로그램 구동시 좀더 빠른 동작과 정밀한 동작을 할수 있게 됩니다. 

            출처: https://rootblog.tistory.com/74 [root blog]
      *_CRS
         CRS(computer reservation system)는 컴퓨터 예약시스템
          Cell-specific Reference Signal 이걸수도 잇겟음
      *Dquote-cache
         ??안나와
      *SLPB란
         베터리쪽 개념인갑다 모델 명임.
      *emc:
      *ehci-{hcd/pci}
      *alua 
      *hidraw
      *mpls_gso
      *X.509
         X.509. X.509는 암호학에서 공개키 인증서와 인증알고리즘의 표준 가운데에서 공개 키 기반(PKI)의 ITU-T 표준이다.
      -halt 했을때 
      *job for 'dracut'-emergenty.service canceld
      
      *initramfs

          initramfs(초기 램 파일 시스템, initial RAM file system의 준말)는 초기 파일 시스템의 Cpio 아카이브이며, 리눅스 시작 프로세스가 실행될 때 메모리에 로드된다. 루트 파일시스템에 리눅스 커널이 마운트되고, 이것으로 인해 초기화 프로세스가 시작된다. 이것은 실제 루트 파일 시스템이 로딩되기 몇 개의 태스크 이전에 완료된다. 그러므로 초기 램 파일 시스템은 모든 장치 드라이버를 포함하고, 실제 루트 파일시스템을 마운트하는 도구를 가질 것을 요구한다.[1] 

         초기 램 파일 시스템은 데이터를 읽을 때 복잡한 장치 드라이버를 필요로하는 대용량 저장소(특히, 암호화 파일 시스템)의 드라이버가 그 저장소 안에 있을 때 발생하는 '달걀이 먼저냐-계란이 먼저냐' 문제를 해결하는 한가지 방법이다

#각 모드에서의 에러관리

   - 레스큐 모드 
      -화면이 버벅 거림 
   -f7을 누르면 boot device를 선택할수가 있다.
      설치 하지않고 이걸 통해서 rescue 모드를 실행해 보자.. // 지웠다가 다시 rufus 씌우는중 [12-04/17:10]
            /시간오래걸려서 장치내 불량블록검사는 안함 // 그러니까 하다가 꺼짐.. 불량검사하는중
            

      -warning dev/mapper/live-rw does not exist 이건 단순 경고
      -journalctl 에서는 
         amd_nb : cannot enumerate amd northbridges
         hpet_acpi_add : no addres or irqs in _CRS 
         
----
[사전]      
*fire bird 란
   . 관계형 데이터베이스 관리 시스템(RDBMS)인 인터베이스(Interbase)가 2000년에 소스 공개된 이후 공개된 소스를 기반으로 새로이 시작된 오픈 소스 RDBMS 프로젝트
   . 닷넷 프레임워크 환경이나 비주얼 C++, PHP, ASP, 자바와도 연동이 가능
   . 로컬 데이터베이스 형태로 다른 프로그램에 임베드(embed)되는 파이어버드 임베디드 서버(FireBird Embeded Server)도 존재
   [출처 :https://ko.wikipedia.org/wiki/NuGet 의 firebird 자료]
   
*닷넷 프레임워크(.NET Framework)
   . 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경이다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다. 
   . 오픈 소스 버전으로 닷넷 코어가 있음

*Nuget
   . 마이크로소프트에서 비주얼 스튜디오에서 개발 확장으로 공개한 무료 오픈 소스 패키지 관리자 프로그램이다. 

*Chocolatery
   . 윈도우 NT용으로 개발된 소프트웨어 패키지용 시스템 수준 패키지 관리자 및 설치 프로그램
   

-----
systemd.unit=emergency.target