목록LINUX (7)
0xFF
curl -fsSL | sh위와 같이 Ollama 설치 이후ollama run ed-neo4j/t2c-gemma3-4b-it-q8_0-35k --verbose위와 같이 t2c-gemma3-4b-it-q8_0-35k 모델을 설치한다.오피셜 gemma3:4b를 사용하지 않은 이유는 위 모델이 Q8_0 양자화 적용으로 오피셜 4b 모델의 Q4_K_M 양자화 대비 약간 더 성능이 높을 것이라 판단했기 때문이다.개발 완료 후 성능보다 속도가 더 중요하다고 판단되면 더 가벼운 모델로도 바꿔봐야겠다.[Unit]Description=Ollama ServiceAfter=network-online.target[Service]ExecStart=/usr/local/bin/ollama serveUser=ollamaGroup=..
리눅스 보드에서 AP 구동을 위해 사용 중인 USB 동글이 커넥터 불안정으로 인해 드라이버에서 잦은 타임아웃이 발생하는 것을 확인했다.[ 1810.128976] usb 2-1: USB disconnect, device number 38[ 1810.261956] ath: phy9: Could not kill baseband RX[ 1810.286093] ath: phy9: Failed to wakeup in 500us[ 1810.297940] ath: phy9: Failed to wakeup in 500us[ 1810.320928] usb 2-1: ath9k_htc: USB layer deinitialized처음에는 동글을 뺐다가 다시 꽂은 뒤 hostapd 데몬을 재시작도 해보고USB 포트를 바꿔 보기도..
필자가 진행 중인 프로젝트는 캡티브 포털을 이용하여 사용자가 Wi-Fi 네트워크에 접속하자마자 웹 페이지를 띄우고, 여기서 서비스를 제공한다.따라서 Wi-Fi 칩셋인 AR9271을 AP 모드(핫스팟)로 작동하게 해야 한다.이를 위해서는 hostapd가 필요한데, hostapd에는 IP 할당 기능이 없어 dnsmasq등의 DHCP 서버를 함께 사용하여 연결된 station 장치들에게 IP를 할당해 주어야 한다.$ apt install dnsmasq hostapd nginxDebian/Ubuntu 환경에서는 위와 같이 간단하게 설치할 수 있다.여기서 nginx는 captive portal 구현 단계에서 302 리다이렉트를 발생시키기 위해 설치하였다.# ip addr...3: wlxc01c3043146b: ..
젯슨 나노를 엣지 LLM 구동 전용 노드로 구성하고, 이를 메인 노드에서 접근할 수 있도록 하기 위해 이더넷을 사용해 1:1 연결이 가능하도록 해 보자.여기서 DHCP 서버 없이 동등한 네트워크 세그먼트 내에서 두 호스트가 통신하기 위해서는 이더넷 표준에 정의된 링크 로컬 주소라는 기능을 사용할 수 있다.우선 IP를 할당해줄 DHCP 서버가 없으므로 두 호스트에서 네트워크를 직접 구성해야 한다.필자는 IP 할당 명령을 systemd 서비스로 등록하였다.아래는 각각 두 보드에 등록한 service 파일의 내용이다.경로: /etc/systemd/system/set-linklocal.service[Unit]Description=set-linklocalAfter=network.target[Service]Type..
퀄컴 SoC는 QUP(Qualcomm Universal Peripheral)이라는 프로그래밍 가능한 범용 하드웨어 IO 모듈을 여러 개 내장하고 있다.여기서 범용이라는 것은 여러 인터페이스(SPI, I2C, UART 등)를 지원한다는 것이고,프로그래밍 가능하다는 것은 소프트웨어 레벨에서 하나의 QUP 블록이 어떤 인터페이스로 기능할지 변경이 가능하다는 의미이다.Dragon Q6A 보드에 탑재된 QCS6490도 퀄컴 SoC여서 spi를 활성화하려면 칩에 내장된 여러 QUP 모듈 중 하나를 SPI 버스로 작동하도록 설정해야 한다.먼저 Dragon Q6A의 핀아웃을 보고 원하는 위치의 SPI 버스를 하나 고른다.작성자는 6번 SPI를 사용하기로 했다.dtc -I dtb -O dts -o ~/my.dts /bo..
Radxa Q6A의 SoC인 QCS6490에는 Hexagon DSP가 탑재되어 있다.이름은 DSP지만, Dragonwing 같은 칩셋에 내장된 최신 헥사곤 아키텍처에는 하드웨어 차원의 벡터 및 텐서 연산 기능이 추가되어 NPU로도 기능한다고 한다.그렇다면 로컬 LLM 구동도 가능할까 싶어 알아보니 가능하다고 한다!간략히 알아본 바 퀄컴에서 제공하는 Qualcomm AI Engine Direct 라는 SDK(이하 QNN SDK)를 사용하여 타겟 보드에서 사용하고자 하는 onnx 포맷의 모델을 dlc 라는 확장자를 갖는 자체 포맷으로 변환 및 양자화(선택)하여 타겟 디바이스에 맞게 변환하고,이를 QNN SDK에서 제공하는 런타임으로 타겟 디바이스의 NPU에서 구동한다는 흐름이다.하지만 Qualcomm AI ..