Skip to content

Instantly share code, notes, and snippets.

@kimhoki
Last active August 29, 2015 14:24
Show Gist options
  • Save kimhoki/40c7031b1dab72e9024e to your computer and use it in GitHub Desktop.
Save kimhoki/40c7031b1dab72e9024e to your computer and use it in GitHub Desktop.
pax320_boot_loader
root@skypwk-VirtualBox:/pxa320/test# ls
Bootloader.tgz blob blob-gpl.tgz blob_org linux linux.tar.gz
root@skypwk-VirtualBox:/pxa320/test# mkdir boot
root@skypwk-VirtualBox:/pxa320/test# cp Bootloader.tgz boot/
root@skypwk-VirtualBox:/pxa320/test/boot# ls
Bootloader.tgz
root@skypwk-VirtualBox:/pxa320/test/boot# tar xvfz Bootloader.tgz
blob은 제조사에서 제공
cd blob
vi config.sh
1. path 변경 -> LINUX="`pwd`/../../linux/" 로 바꿔 이새끼야
// path가 엉킬 수 있으므로 vi /etc/profile에 세팅 안함. 폴더별로 사용할 때 마다 PATH 설정
root@skypwk-VirtualBox:/pxa320/test/boot/blob# export PATH=$PATH:/usr/local/arm-linux-4.1.1/bin
root@skypwk-VirtualBox:/pxa320/test/boot/blob# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/arm-linux-4.1.1/bin
./config.sh 실행
ls -al /src/blob/blob/ 파일 생성되어 있는지 확인
root@skypwk-VirtualBox:/pxa320/test/boot/mobm# ls
root@skypwk-VirtualBox:/pxa320/test/boot/mobm# rm -rf mobm
root@skypwk-VirtualBox:/pxa320/test/boot/mobm# make -> mobm 생성
root@skypwk-VirtualBox:/pxa320/test/boot/mobm# cd ../image/
root@skypwk-VirtualBox:/pxa320/test/boot/image# rm -rf blob boot.bin mobm -> mk_boot.sh 만 남기고 삭제
; mk_boot.sh 의 경우 blob와 mobm을 연결하여 boot.bin을 생성
; 생성 후 xdb로 전송해야 하기 때문에 boot.bin을 윈도우로 옮겨줌
debuger setting
[CPU - JTAG]
Source Directories:
- C:\MYWORKING\PXA320\source
Target Connection: lpt1:1
JTAG Device: Marvell(R) JTAG Cable
Scan-chain: PXA3XX
Monitor at: 0xFFFFF000
xdb연결 후 flash memory programmer를 이용하여 boot.bin을 플래싱!
board : pxa320
flash : nand flash
burning -> data file : boot.bin
-> offset in Flash : 0x000000
burn!!!!
blob.tar 압축 푼 뒤 blob폴더의 configure.in 의 내부를 교체에에에에
zylonite를 바탕으로 그와 관련된 것들을 pxa320TKU로 입력 및 수정
-----------------------------------------------------------------------
/pxa320/test/boot --->Bootloader.tgz
source error = xlli , xllp 폴더에 관련 소스가 없을때 혹은
export 설정을 안 했을때
-----------------------------------------------------------------------
#tar xvfz Bootloader.tgz
#cd blob
#vi config.sh <--- pwd/../../kernel/linux/
pwd/../../linux
/etc/profile <-- path 설정
#export PATH=$PATH:/usr/local/arm-linux-4.1.1/bin
#echo $PATH
#./config.sh
#ls -l src/blob/blob
#cd /pxa320/test/boot/mobm
#rm -rf mobm
#make
#ls -al mobm
#cd /pxa320/test/boot/image
#rm -rf blob boot.bin mobm
#ls --> mk_boot.sh
#./mk_boot.shㅣ
#ls --> blob boot.bin mk_boot.sh mobm
파일 질라를 이용해서 boot.bin파일만 winxp c:/pxa320여기로 복사
//부트로더 포팅
tar blob-gpl
1.configure.in
1. /pxa320/test/boot/blob/configure.in --> /pxa320/test/sky/blob/ 복사
cp /pxa320/test/boot/blob/configure.in /pxa320/test/sky/blob/
2. /pxa320/test/sky/blob/include/blob/arch.h 라인 73에
#elif defined XHYPER320TKU
#include <blob/arch/xhyper320tku.h> 입력 (zylonite 바로 뒤에 삽입)
3. /pxa320/test/boot/blob/include/blob/arch/xhyper320tku.h을
cp /pxa320/test/boot/blob/include/blob/arch/xhyper320tku.h /pxa320/test/sky/blob/include/blob/arch/로 복사
4. /pxa320/test/boot/blob/src/blob/ 의 xhyper320tku.c xhyper320tku_fvscaler.c
파일을 /pxa320/test/sky/blob/src/blob/에 복사
5. /pxa320/test/sky/blob/include/blob/linux.h 85,86에
#elif defined XHYPER320TKU
#define ARCH_NUMBER (608)
6. /pxa320/test/boot/blob/src/blob/xlli/XHYPER320TKU디렉토리를
cp -rf /pxa320/test/boot/blob/src/blob/xlli/XHYPER320TKU /pxa320/test/sky/blob/src/blob/xlli/ 복사 (디렉토리 통째로)
7. /pxa320/test/boot/blob/src/blob/xllp/platform/XHYPER320TKU 디렉토리를
cp -rf /pxa320/test/boot/blob/src/blob/xllp/platform/XHYPER320TKU /pxa320/test/sky/blob/src/blob/xllp/plaftform/로 복사 (디렉토리 통째로)
8. /pxa320/test/boot/blob/config.sh 파일을
cp /pxa320/test/boot/blob/config.sh /pxa320/test/sky/blob/로 복사
9. /pxa320/test/boot/blob/src/lib/ether-dm9000.c 파일을
/pxa320/test/sky/blob/src/lib/로 복사
cp /pxa320/test/boot/blob/src/lib/ether-dm9000.c /pxa320/test/sky/blob/src/lib/
10. /pxa320/test/boot/blob/include/net/dm9000x.h 파일을
/pxa320/test/sky/blob/include/net/로 복사
cp /pxa320/test/boot/blob/include/net/dm9000x.h /pxa320/test/sky/blob/include/net/
11. /pxa320/test/boot/blob/include/blob/arch/mhn-regs.h 파일을
/pxa320/test/sky/blob/include/blob/arch/로 복사
cp /pxa320/test/boot/blob/include/blob/arch/mhn-regs.h /pxa320/test/sky/blob/include/blob/arch/
12. /pxa320/test/boot/blob/include/net/ether.h 파일을
/pxa320/test/sky/blob/include/net/로 복사
cp /pxa320/test/boot/blob/include/net/ether.h /pxa320/test/sky/blob/include/net/
13. /pxa320/test/boot/blob/src/blob/nandwrite.c 파일을
/pxa320/test/sky/blob/src/blob/로 복사
cp /pxa320/test/boot/blob/src/blob/nandwrite.c /pxa320/test/sky/blob/src/blob/
14. /pxa320/test/boot/blob/src/lib/tftp.c 파일을
/pxa320/test/sky/blob/src/lib/로 복사
cp /pxa320/test/boot/blob/src/lib/tftp.c /pxa320/test/sky/blob/src/lib/
15. /pxa320/test/boot/blob/include/net/net.h 파일을
/pxa320/test/sky/blob/include/net/로 복사
cp /pxa320/test/boot/blob/include/net/net.h /pxa320/test/sky/blob/include/net/
@kimhoki
Copy link
Author

kimhoki commented Jul 9, 2015

egrep -r 'OEM Boot Module for XHyper320'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment