Blame view

scripts/mk-emmc-fusing.sh 3.51 KB
a818f21af   larche   = Script 따로 관리 =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  #!/bin/bash
  
  C_NC='\033[0m'
  C_LRED='\033[1;31m'
  
  
  EMMC_DEV_PATH="/dev/mmcblk3"
  SD_DEV_PATH="/dev/mmcblk2"
  PART1=p1
  PART2=p2
  PART3=p3
  PART4=p4
  
  FNAME_UBOOT="u-boot.imx"
  FNAME_LOGO="init.bmp"
  FNAME_DTB="imx6s-prime-oven.dtb"
  FNAME_KERNEL="uImage"
99bdfc556   larche   = 스크립트 수정 =
18
  FNAME_FSCPIO="ramdisk-prime_oven.uboot"
a818f21af   larche   = Script 따로 관리 =
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  FNAME_RFS="rootfs.tar"
  
  SD_MOUNT_PATH_P1="/tmp/mmcblk2p1"
  EMMC_MOUNT_PATH_P1="/tmp/mmcblk3p1"
  EMMC_MOUNT_PATH_P2="/tmp/mmcblk3p2"
  
  function Init_Unmount()
  {
  	echo ""
  	echo -e "${C_LRED}### UnMount - Init_Unmount() ### ${C_NC}"
  	echo ""
  	umount ${EMMC_DEV_PATH}${PART1}
  	umount ${EMMC_DEV_PATH}${PART2}
  	umount ${EMMC_DEV_PATH}${PART3}
  	umount ${EMMC_DEV_PATH}${PART4}
  	umount ${SD_DEV_PATH}${PART1}
  	umount ${SD_DEV_PATH}${PART2}
  }
  
  function create_partition()
  {
  	echo ""
  	echo -e "${C_LRED}### Fdisk Create Partition - create_partition() ###${C_NC}"
  	echo ""
3331432f5   larche   = fusing script
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  fdisk ${EMMC_DEV_PATH} << EOF
  o
  n
  p
  1
  4096
  8191
  n
  p
  2
  8192
  16383
  n
  p
  3
  16384
  32767
  n
  p
  32768
a818f21af   larche   = Script 따로 관리 =
63
3331432f5   larche   = fusing script
64
65
  p
  w
a818f21af   larche   = Script 따로 관리 =
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
  EOF
  }
  
  function run_format()
  {
  	echo ""
  	echo -e "${C_LRED}### Format eMMC - run_format() ###${C_NC}"
  	echo ""
  	mkfs.ext3    -F ${EMMC_DEV_PATH}${PART1} -L BOOT0
  	mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART2} -L SYSTEM
  	mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART3} -L FALINUX
  	mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART4} -L PRIME
  }
  
  function run_mount()
  {
  	echo ""
  	echo -e "${C_LRED}### Mount SD/eMMC - run_mount() ###${C_NC}"
  	echo ""
  
  	if [ ! -d ${SD_MOUNT_PATH_P1} ]; then
  		mkdir ${SD_MOUNT_PATH_P1}
  	fi
  
  	if [ ! -d ${EMMC_MOUNT_PATH_P1} ]; then
  		mkdir ${EMMC_MOUNT_PATH_P1}
  	fi
  
  	if [ ! -d ${EMMC_MOUNT_PATH_P2} ]; then
  		mkdir ${EMMC_MOUNT_PATH_P2}
  	fi
  
  	mount -t ext4 ${SD_DEV_PATH}${PART1}  ${SD_MOUNT_PATH_P1}
  	mount -t ext3 ${EMMC_DEV_PATH}${PART1}  ${EMMC_MOUNT_PATH_P1}
  	mount -t ext4 ${EMMC_DEV_PATH}${PART2}  ${EMMC_MOUNT_PATH_P2}
  }
  
  function run_copy_image()
  {
  	echo ""
  	echo -e "${C_LRED}### Write SD Boot Image - run_copy_image() ###${C_NC}"
  	echo ""
  
  	if [ ! -d ${EMMC_MOUNT_PATH_P1}/boot ]; then
  		mkdir ${EMMC_MOUNT_PATH_P1}/boot
  	fi
  
  	cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_UBOOT} ${EMMC_MOUNT_PATH_P1}/boot/
  	cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_LOGO} ${EMMC_MOUNT_PATH_P1}/boot/
  	cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_DTB} ${EMMC_MOUNT_PATH_P1}/boot/
  	cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_KERNEL} ${EMMC_MOUNT_PATH_P1}/boot/
99bdfc556   larche   = 스크립트 수정 =
117
  	cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_FSCPIO} ${EMMC_MOUNT_PATH_P1}/boot/
a818f21af   larche   = Script 따로 관리 =
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
  	run_copy_rootfs
  	sleep 1
  	sync
  }
  
  function run_copy_rootfs()
  {
  	echo ""
  	echo -e "${C_LRED}### Make MMC Filesystem ###${C_NC}"
  	echo ""
  
  	tar -xf ${SD_MOUNT_PATH_P1}/boot/${FNAME_RFS} -C ${EMMC_MOUNT_PATH_P2}
  
  	cp /etc/ssh/ssh_host_ed25519_key ${EMMC_MOUNT_PATH_P2}/etc/ssh/
  }
  
  function run_raw_write()
  {
  	echo ""
  	echo -e "${C_LRED}### Write SD Boot Image to RAW - run_raw_write() ###${C_NC}"
  	echo ""
  	dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_UBOOT} of=${EMMC_DEV_PATH} bs=512 seek=2
  	dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_LOGO} of=${EMMC_DEV_PATH} bs=512 seek=2048
  	dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_DTB} of=${EMMC_DEV_PATH} bs=512 seek=11264
  	dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_KERNEL} of=${EMMC_DEV_PATH} bs=512 seek=12288
99bdfc556   larche   = 스크립트 수정 =
143
  	dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_FSCPIO} of=${EMMC_DEV_PATH} bs=512 seek=28672
a818f21af   larche   = Script 따로 관리 =
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
  	sleep 1
  	sync
  }
  
  function run_umount()
  {
  	echo ""
  	echo -e "${C_LRED}### UnMount - run_umount() ###${C_NC}"
  	echo ""
  	umount ${SD_MOUNT_PATH_P1}
  	umount ${EMMC_MOUNT_PATH_P1}
  	umount ${EMMC_MOUNT_PATH_P2}
  }
  
  
  function main()
  {
  	echo ""
  	echo -e "${C_LRED}#### Start - main() ####${C_NC}"
  	echo ""
  
  	Init_Unmount
  	create_partition
  	run_format
  	run_mount
  	run_copy_image
  	run_raw_write
  	run_umount
  }
  
  main