Blame view

release/mk-fusingsd.sh 2.72 KB
9510093c0   larche   = Fusing SD 관련 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  #!/bin/bash
  
  C_NC='\033[0m'
  C_LRED='\033[1;31m'
  
  DEVNAME="mmcblk0"
  DEV_PATH="/dev/mmcblk0"
  DEV_PATH_P1="/dev/mmcblk0p1"
  INPUT="/tmp/input"
  
  FNAME_UBOOT="u-boot.imx"
  FNAME_LOGO="init.bmp"
  FNAME_DTB="imx6s-prime-oven.dtb"
  FNAME_KERNEL="uImage"
  FNAME_FS128="ramdisk-prime_oven-128M.gz"
  FNAME_FS64="ramdisk-prime_oven-64M.gz"
  FNAME_RFS="rootfs.tar"
  
  MOUNT_PATH_P1="/tmp/mmcblk0p1"
  
  
  function create_partition()
  {
  	echo ""
  	echo -e "${C_LRED}### Fdisk Create Partition - create_partition() ###${C_NC}"
  	echo ""
  	fdisk $DEV_PATH << EOF
  	o
  	n
  	p
  	1
  	262144
  	1310719
  	n
  	p
  	2
  	1310720
  
  	p
  	w
  EOF
  }
  
  function run_format()
  {
  	echo ""
  	echo -e "${C_LRED}### Format SDCARD - run_format() ###${C_NC}"
  	echo ""
  	mkfs.ext4 ${DEV_PATH}p1 -L BOOT0
  	mkfs.ext4 ${DEV_PATH}p2 -L DATA
  }
  
  function run_mount()
  {
  	echo ""
  	echo -e "${C_LRED}### Mount SD - run_mount() ###${C_NC}"
  	echo ""
  	if [ ! -d ${MOUNT_PATH_P1} ]; then
  		mkdir ${MOUNT_PATH_P1}
  	fi
  
  	mount ${DEV_PATH}p1 ${MOUNT_PATH_P1}
  }
  
  function run_umount()
  {
  	echo ""
  	echo -e "${C_LRED}### UnMount - run_umount() ###${C_NC}"
  	echo ""
  	umount ${MOUNT_PATH_P1}
  }
  
  function run_copy_image()
  {
  	# SD Boot Image(SD 카드 부팅용 이미지)
  	echo ""
  	echo -e "${C_LRED}### Write SD Boot Image - run_copy_image() ###${C_NC}"
  	echo ""
  	if [ ! -d ${MOUNT_PATH_P1}/boot ]; then
  		mkdir ${MOUNT_PATH_P1}/boot
  	fi
  	cp -v ./$FNAME_UBOOT ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_LOGO ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_DTB ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_KERNEL ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_FS128 ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_FS64 ${MOUNT_PATH_P1}/boot/
  	cp -v ./$FNAME_RFS ${MOUNT_PATH_P1}/boot/
  	sleep 1
  	sync
  }
  
  function run_raw_write()
  {
  	echo ""
  	echo -e "${C_LRED}### Write SD Boot Image to RAW - run_raw_write() ###${C_NC}"
  	echo ""
  	dd if=./$FNAME_UBOOT of=$DEV_PATH bs=512 seek=2
  	dd if=./$FNAME_LOGO of=$DEV_PATH bs=512 seek=2048
  	dd if=./$FNAME_DTB of=$DEV_PATH bs=512 seek=11264
  	dd if=./$FNAME_KERNEL of=$DEV_PATH bs=512 seek=12288
  	dd if=./$FNAME_FS128 of=$DEV_PATH bs=512 seek=28672
  #	dd if=./$FNAME_FS64 of=$DEV_PATH bs=512 seek=28672
  	sleep 1
  	sync
  }
  
  function Init_Unmount()
  {
  	echo ""
  	echo -e "${C_LRED}### Unmount SD - Init_Unmount() ###${C_NC}"
  	echo ""
  	umount $DEV_PATH_P1
  }
  
  function main()
  {
  	echo ""
  	echo -e "${C_LRED}#### Start - main() ####${C_NC}"
  	echo ""
  	Init_Unmount
  	create_partition
  
  	run_format
  	run_mount
  	run_raw_write
  	run_copy_image
  	run_umount
  	sync
  }
  
  if [ "$1" != "" ]; then
  	DEVNAME=$1
  fi
  
  DEV_PATH="/dev/${DEVNAME}"
  DEV_PATH_P1="${DEV_PATH}p1"
  MOUNT_PATH_P1="/tmp/${DEVNAME}p1"
  
  echo ""
  echo "================================"
  echo "DEV_Name:     $DEVNAME"
  echo "DEV_Path:     $DEV_PATH"
  echo "P1 MountPath: $MOUNT_PATH_P1"
  echo "================================"
  echo ""
  
  main