Commit fd4458f7d1d14394858b17f52eb917fd33165930

Authored by 김태훈
Exists in master and in 2 other branches fhd, fhd-demo

Merge branch 'master' of 192.168.10.12:falinux/1611_0007_prime_oven

@@ -5,23 +5,24 @@ @@ -5,23 +5,24 @@
5 * Fusing SD 만드는 법(Boot SD 겸용) 5 * Fusing SD 만드는 법(Boot SD 겸용)
6 6
7 release 폴더의 mk-fusingsd.sh 실행 ( Default DEV_NAME : /dev/mmcblk0 ) 인자로 DEV_NAME 변경 가능함 7 release 폴더의 mk-fusingsd.sh 실행 ( Default DEV_NAME : /dev/mmcblk0 ) 인자로 DEV_NAME 변경 가능함
8 -  
9 -* Bootcmd 모드에서 아래 명령을 입력하면 Fusing Mode로 SD부팅함. 8 + ex) $ sudo ./mk-fusingsd.sh mmcblk0
  9 +
  10 +* 부트로더의 Bootcmd 모드에서 아래 명령을 입력하면 Fusing Mode로 SD부팅함.
10 11
11 # run fw 12 # run fw
12 13
13 -* run fw 를 안하면 보통의 부팅가능한 SD카드로 사용가능하다. run fw시 bootargs_ram 에 fusing=1 이라는 값이 추가되어 커널에서 해당 내용을 파싱하여 /root/.falinux/mk-emmc-fusing.sh 실행함 14 +* run fw 시 부트로더의 환경변수인 autoexec의 값이 emmc Fusing 스크립트로 변경되어 실행됨
14 15
15 16
16 -## [Fusing SD] 17 +## [Test Mode(=JIG)]
17 --------------------------- 18 ---------------------------
18 19
19 -* JIG (Test 관련) 20 +* JIG (Test 관련) 보드 부팅 시 부트로더의 Bootcmd 모드에서 아래 명령을 입력하면 Test 모드로 부팅한다.
  21 +
  22 + # run jig
  23 +
  24 +* run jig 명령으로 부팅 시 부트로더의 환경변수인 autoexec의 값이 jig 실행 스크립트로 변경되어 실행된다.
20 25
21 - eMMC 에 부트이미지를 Fusing 후 처음 부팅을 하게 되면 /etc/init.d/S83fusing 에서  
22 - /root/.falinux/prime_jig/.complete 파일의 유무를 체크 하여 /root/.falinux/prime_jig/prime_jig.sh 스크립트를 실행하게 된다.  
23 - (.complete 가 없으면 Prime JIG 스크립트를 실행하며 완료되면 .complete 파일을 생성하여 다음 부팅부터는 JIG 가 실행되지 않도록 한다.)  
24 - JIG 결과는 /root/.falinux/prime_jig/result_log 파일로 저장된다.  
25 26
26 27
27 28
app/gui/oven_control/configinfodlg.cpp
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 #include "ui_configinfodlg.h" 5 #include "ui_configinfodlg.h"
6 #include "soundplayer.h" 6 #include "soundplayer.h"
7 #include "config.h" 7 #include "config.h"
  8 +#include "define.h"
8 9
9 10
10 11
@@ -74,11 +75,15 @@ bool ConfigInfoDlg::readFromInfoFile(QMap<QString, QString> &info_map, const QSt @@ -74,11 +75,15 @@ bool ConfigInfoDlg::readFromInfoFile(QMap<QString, QString> &info_map, const QSt
74 qDebug() << "orgin size " << info_map.size(); 75 qDebug() << "orgin size " << info_map.size();
75 if(file.open(QIODevice::ReadOnly | QIODevice::Text)){ 76 if(file.open(QIODevice::ReadOnly | QIODevice::Text)){
76 while(!file.atEnd()){ 77 while(!file.atEnd()){
77 - QString line = QString::fromUtf8(file.readLine()); 78 + QString line = (QString::fromUtf8(file.readLine())).remove(QChar('\n'));
78 info_map[line.section(',',0,0)] = line.section(',',1,1); 79 info_map[line.section(',',0,0)] = line.section(',',1,1);
79 } 80 }
80 qDebug() << file.fileName() << "read OK!"; 81 qDebug() << file.fileName() << "read OK!";
81 qDebug() << "final size " << info_map.size(); 82 qDebug() << "final size " << info_map.size();
  83 + QList<QString> list = info_map.keys();
  84 + for(int i=0; i< info_map.size() ;i++){
  85 + qDebug() << list[i] << info_map[list[i]];
  86 + }
82 return true; 87 return true;
83 } 88 }
84 else { 89 else {
@@ -87,6 +92,13 @@ bool ConfigInfoDlg::readFromInfoFile(QMap&lt;QString, QString&gt; &amp;info_map, const QSt @@ -87,6 +92,13 @@ bool ConfigInfoDlg::readFromInfoFile(QMap&lt;QString, QString&gt; &amp;info_map, const QSt
87 return false; 92 return false;
88 } 93 }
89 94
  95 +QString ConfigInfoDlg::getSoftwareVerString()
  96 +{
  97 + if(MAJOR_VER == 0)
  98 + return QString("V%1.%2.%3 BETA").arg(MAJOR_VER).arg(MINOR_VER).arg(HOTFIX_VER);
  99 + else return QString("V%1.%2.%3").arg(MAJOR_VER).arg(MINOR_VER).arg(HOTFIX_VER);
  100 +}
  101 +
90 102
91 void ConfigInfoDlg::loadSoftwareInfo(){ 103 void ConfigInfoDlg::loadSoftwareInfo(){
92 Config* cfg = Config::getInstance(); 104 Config* cfg = Config::getInstance();
@@ -102,14 +114,14 @@ void ConfigInfoDlg::loadSoftwareInfo(){ @@ -102,14 +114,14 @@ void ConfigInfoDlg::loadSoftwareInfo(){
102 mapInfos[tr("제조국")] = "Korea"; 114 mapInfos[tr("제조국")] = "Korea";
103 mapInfos[tr("제조사")] = "프라임"; 115 mapInfos[tr("제조사")] = "프라임";
104 mapInfos[tr("제품번호")] = "01"; 116 mapInfos[tr("제품번호")] = "01";
105 - mapInfos[tr("소프트웨어 버전")] ="0.1 BETA";  
106 - 117 + mapInfos[tr("소프트웨어 버전")] = getSoftwareVerString();
107 mapInfos[tr("현재모델")] = tr(g_strModelTypeName[cfg->getConfigValue(Define::config_model).d32]); 118 mapInfos[tr("현재모델")] = tr(g_strModelTypeName[cfg->getConfigValue(Define::config_model).d32]);
108 119
109 readFromInfoFile(mapInfos, QString(MODEL_INFO_FILE_NAME)); 120 readFromInfoFile(mapInfos, QString(MODEL_INFO_FILE_NAME));
110 121
111 for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){ 122 for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){
112 strTemp = mapInfos[tr(software_item_name[i])]; 123 strTemp = mapInfos[tr(software_item_name[i])];
  124 +
113 label = new QLabel(this); 125 label = new QLabel(this);
114 label ->setText(tr(software_item_name[i]).append(" :")); 126 label ->setText(tr(software_item_name[i]).append(" :"));
115 ui->gridLayout_info->addWidget(label,i,0); 127 ui->gridLayout_info->addWidget(label,i,0);
@@ -138,6 +150,7 @@ void ConfigInfoDlg::loadHotlineChefInfo(){ @@ -138,6 +150,7 @@ void ConfigInfoDlg::loadHotlineChefInfo(){
138 label ->setText(tr(hotline_chef_item_name[i]).append(":")); 150 label ->setText(tr(hotline_chef_item_name[i]).append(":"));
139 ui->gridLayout_info->addWidget(label,i,0); 151 ui->gridLayout_info->addWidget(label,i,0);
140 label = new QLabel(this); 152 label = new QLabel(this);
  153 + label->setWordWrap(true);
141 label->setText(strTemp); 154 label->setText(strTemp);
142 ui->gridLayout_info->addWidget(label,i,1); 155 ui->gridLayout_info->addWidget(label,i,1);
143 } 156 }
@@ -160,6 +173,7 @@ void ConfigInfoDlg::loadHotlineServiceInfo(){ @@ -160,6 +173,7 @@ void ConfigInfoDlg::loadHotlineServiceInfo(){
160 label ->setText(tr(hotline_service_item_name[i]).append(":")); 173 label ->setText(tr(hotline_service_item_name[i]).append(":"));
161 ui->gridLayout_info->addWidget(label,i,0); 174 ui->gridLayout_info->addWidget(label,i,0);
162 label = new QLabel(this); 175 label = new QLabel(this);
  176 + label->setWordWrap(true);
163 label->setText(strTemp); 177 label->setText(strTemp);
164 ui->gridLayout_info->addWidget(label,i,1); 178 ui->gridLayout_info->addWidget(label,i,1);
165 } 179 }
app/gui/oven_control/configinfodlg.h
@@ -32,6 +32,7 @@ protected: @@ -32,6 +32,7 @@ protected:
32 void keyPressEvent(QKeyEvent* event); 32 void keyPressEvent(QKeyEvent* event);
33 33
34 bool readFromInfoFile(QMap<QString , QString> &info_map, const QString &filename); 34 bool readFromInfoFile(QMap<QString , QString> &info_map, const QString &filename);
  35 + QString getSoftwareVerString(void);
35 36
36 private: 37 private:
37 Ui::ConfigInfoDlg *ui; 38 Ui::ConfigInfoDlg *ui;
app/gui/oven_control/define.h
@@ -3,6 +3,10 @@ @@ -3,6 +3,10 @@
3 3
4 #include <QtCore> 4 #include <QtCore>
5 5
  6 +#define MAJOR_VER 0
  7 +#define MINOR_VER 3
  8 +#define HOTFIX_VER 13
  9 +
6 namespace Define 10 namespace Define
7 { 11 {
8 enum CookType 12 enum CookType
app/gui/oven_control/fileprocessdlg.cpp
@@ -585,16 +585,19 @@ void FileProcessDlg::programUpload(){ @@ -585,16 +585,19 @@ void FileProcessDlg::programUpload(){
585 QString strSrcPath; 585 QString strSrcPath;
586 586
587 if(FileProcessor::detectUSB(strSrcPath)){ 587 if(FileProcessor::detectUSB(strSrcPath)){
588 - worker.addSrcFile(QString("%1/prime/falinux/run.sh,/falinux").arg(strSrcPath));  
589 - worker.addSrcFile(QString("%1/prime/falinux/app-prime-modbus,/falinux").arg(strSrcPath));  
590 - worker.addSrcFile(QString("%1/prime/falinux/app-prime-gui,/falinux").arg(strSrcPath));  
591 - worker.addSrcFile(QString("%1/prime/falinux/service-web,/falinux").arg(strSrcPath));  
592 - worker.addSrcFile(QString("%1/prime/falinux/templates/main.tmpl,/falinux/templates").arg(strSrcPath));  
593 - worker.addSrcFile(QString("%1/prime/falinux/system.ini,/falinux").arg(strSrcPath));  
594 - //worker.addSrcFile(QString("%1/prime/falinux/superdaemon,/falinux").arg(strSrcPath));  
595 - //worker.addSrcFile(QString("%1/prime/falinux/superdaemon.ini,/falinux").arg(strSrcPath));  
596 - worker.setDestPath("/prime"); 588 + worker.addSrcFile(QString("%1/prime/superdaemon,/prime").arg(strSrcPath));
  589 + worker.addSrcFile(QString("%1/prime/superdaemon.ini,/prime").arg(strSrcPath));
  590 + worker.addSrcFile(QString("%1/prime/app-prime-gui,/prime").arg(strSrcPath));
  591 + worker.addSrcFile(QString("%1/prime/app-prime-modbus,/prime").arg(strSrcPath));
  592 + worker.addSrcFile(QString("%1/prime/service-web,/prime").arg(strSrcPath));
  593 + worker.addSrcFile(QString("%1/prime/app-prime-gui.md5,/prime").arg(strSrcPath));
  594 + worker.addSrcFile(QString("%1/prime/app-prime-modbus.md5,/prime").arg(strSrcPath));
  595 + worker.addSrcFile(QString("%1/prime/superdaemon.ini.md5,/prime").arg(strSrcPath));
  596 + worker.addSrcFile(QString("%1/prime/superdaemon.md5,/prime").arg(strSrcPath));
  597 + worker.setDestPath("/prime");
597 worker.addSrcDir(QString("%1/%2").arg(strSrcPath,"prime/cookbook")); 598 worker.addSrcDir(QString("%1/%2").arg(strSrcPath,"prime/cookbook"));
  599 + worker.addSrcDir(QString("%1/%2").arg(strSrcPath,"prime/templates"));
  600 + worker.addSrcDir(QString("%1/%2").arg(strSrcPath,"prime/sounds"));
598 worker.moveToThread(&programCopyThd); 601 worker.moveToThread(&programCopyThd);
599 602
600 connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); 603 connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain()));
@@ -721,9 +724,11 @@ void FileProcessDlg::standardInfoUpload() @@ -721,9 +724,11 @@ void FileProcessDlg::standardInfoUpload()
721 QString strUsbPath; 724 QString strUsbPath;
722 QString strSrcPath; 725 QString strSrcPath;
723 if(FileProcessor::detectUSB(strUsbPath)){ 726 if(FileProcessor::detectUSB(strUsbPath)){
724 - strSrcPath = QString("%1/%2").arg(strUsbPath).arg(MODEL_INFO_FILE_NAME); 727 + strSrcPath = QString("%1%2").arg(strUsbPath).arg(MODEL_INFO_FILE_NAME);
  728 + qDebug() <<strSrcPath;
725 QFile file(MODEL_INFO_FILE_NAME); 729 QFile file(MODEL_INFO_FILE_NAME);
726 file.remove(); 730 file.remove();
  731 + sync();
727 if(QFile::copy( strSrcPath ,MODEL_INFO_FILE_NAME)){ 732 if(QFile::copy( strSrcPath ,MODEL_INFO_FILE_NAME)){
728 sync(); 733 sync();
729 ui->ctrWjProcess->setValue(40); 734 ui->ctrWjProcess->setValue(40);
@@ -737,7 +742,8 @@ void FileProcessDlg::standardInfoUpload() @@ -737,7 +742,8 @@ void FileProcessDlg::standardInfoUpload()
737 //QThread::msleep(800); 742 //QThread::msleep(800);
738 file.setFileName(CHEF_INFO_FILE_NAME); 743 file.setFileName(CHEF_INFO_FILE_NAME);
739 file.remove(); 744 file.remove();
740 - strSrcPath = QString("%1/%2").arg(strUsbPath).arg(CHEF_INFO_FILE_NAME); 745 + sync();
  746 + strSrcPath = QString("%1%2").arg(strUsbPath).arg(CHEF_INFO_FILE_NAME);
741 qDebug() << strSrcPath; 747 qDebug() << strSrcPath;
742 if(QFile::copy( strSrcPath ,CHEF_INFO_FILE_NAME)){ 748 if(QFile::copy( strSrcPath ,CHEF_INFO_FILE_NAME)){
743 sync(); 749 sync();
@@ -752,7 +758,8 @@ void FileProcessDlg::standardInfoUpload() @@ -752,7 +758,8 @@ void FileProcessDlg::standardInfoUpload()
752 //QThread::msleep(800); 758 //QThread::msleep(800);
753 file.setFileName(SERVICE_INFO_FILE_NAME); 759 file.setFileName(SERVICE_INFO_FILE_NAME);
754 file.remove(); 760 file.remove();
755 - strSrcPath = QString("%1/%2").arg(strUsbPath).arg(SERVICE_INFO_FILE_NAME); 761 + sync();
  762 + strSrcPath = QString("%1%2").arg(strUsbPath).arg(SERVICE_INFO_FILE_NAME);
756 qDebug() << strSrcPath; 763 qDebug() << strSrcPath;
757 if(QFile::copy( strSrcPath ,SERVICE_INFO_FILE_NAME)){ 764 if(QFile::copy( strSrcPath ,SERVICE_INFO_FILE_NAME)){
758 sync(); 765 sync();
app/gui/oven_control/images/symbol/main_logo.png

35.8 KB

app/gui/oven_control/lang_en.qm
No preview for this file type
app/gui/oven_control/lang_en.ts
@@ -457,7 +457,7 @@ to factory setting values?&lt;/translation&gt; @@ -457,7 +457,7 @@ to factory setting values?&lt;/translation&gt;
457 <message> 457 <message>
458 <location filename="config.h" line="95"/> 458 <location filename="config.h" line="95"/>
459 <source>제조일자</source> 459 <source>제조일자</source>
460 - <translation>Date of Manufacturing </translation> 460 + <translation>Date of Manufacturing</translation>
461 </message> 461 </message>
462 <message> 462 <message>
463 <location filename="config.h" line="96"/> 463 <location filename="config.h" line="96"/>
@@ -1066,9 +1066,7 @@ Value&lt;/translation&gt; @@ -1066,9 +1066,7 @@ Value&lt;/translation&gt;
1066 <message> 1066 <message>
1067 <location filename="configinfodlg.ui" line="144"/> 1067 <location filename="configinfodlg.ui" line="144"/>
1068 <source>확인</source> 1068 <source>확인</source>
1069 - <translation>Confirm  
1070 -  
1071 -Confirm</translation> 1069 + <translation>Confirm</translation>
1072 </message> 1070 </message>
1073 <message> 1071 <message>
1074 <location filename="configinfodlg.cpp" line="12"/> 1072 <location filename="configinfodlg.cpp" line="12"/>
@@ -1138,7 +1136,7 @@ Confirm&lt;/translation&gt; @@ -1138,7 +1136,7 @@ Confirm&lt;/translation&gt;
1138 <message> 1136 <message>
1139 <location filename="configinfodlg.cpp" line="101"/> 1137 <location filename="configinfodlg.cpp" line="101"/>
1140 <source>제조일자</source> 1138 <source>제조일자</source>
1141 - <translation>Date of Manufacturing </translation> 1139 + <translation>Date of Manufacturing</translation>
1142 </message> 1140 </message>
1143 <message> 1141 <message>
1144 <location filename="configinfodlg.cpp" line="102"/> 1142 <location filename="configinfodlg.cpp" line="102"/>
app/gui/oven_control/mainwindow.ui
@@ -646,71 +646,6 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ @@ -646,71 +646,6 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ
646 </property> 646 </property>
647 </widget> 647 </widget>
648 </widget> 648 </widget>
649 - <widget class="QLabel" name="steamLabel_13">  
650 - <property name="enabled">  
651 - <bool>true</bool>  
652 - </property>  
653 - <property name="geometry">  
654 - <rect>  
655 - <x>750</x>  
656 - <y>1550</y>  
657 - <width>150</width>  
658 - <height>50</height>  
659 - </rect>  
660 - </property>  
661 - <property name="palette">  
662 - <palette>  
663 - <active>  
664 - <colorrole role="WindowText">  
665 - <brush brushstyle="SolidPattern">  
666 - <color alpha="255">  
667 - <red>255</red>  
668 - <green>255</green>  
669 - <blue>255</blue>  
670 - </color>  
671 - </brush>  
672 - </colorrole>  
673 - </active>  
674 - <inactive>  
675 - <colorrole role="WindowText">  
676 - <brush brushstyle="SolidPattern">  
677 - <color alpha="255">  
678 - <red>255</red>  
679 - <green>255</green>  
680 - <blue>255</blue>  
681 - </color>  
682 - </brush>  
683 - </colorrole>  
684 - </inactive>  
685 - <disabled>  
686 - <colorrole role="WindowText">  
687 - <brush brushstyle="SolidPattern">  
688 - <color alpha="255">  
689 - <red>123</red>  
690 - <green>123</green>  
691 - <blue>123</blue>  
692 - </color>  
693 - </brush>  
694 - </colorrole>  
695 - </disabled>  
696 - </palette>  
697 - </property>  
698 - <property name="font">  
699 - <font>  
700 - <family>Malgun Gothic</family>  
701 - <pointsize>10</pointsize>  
702 - </font>  
703 - </property>  
704 - <property name="text">  
705 - <string>V0.3.12</string>  
706 - </property>  
707 - <property name="alignment">  
708 - <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>  
709 - </property>  
710 - <property name="margin">  
711 - <number>10</number>  
712 - </property>  
713 - </widget>  
714 <widget class="Line" name="line_7"> 649 <widget class="Line" name="line_7">
715 <property name="geometry"> 650 <property name="geometry">
716 <rect> 651 <rect>
@@ -724,6 +659,22 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ @@ -724,6 +659,22 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ
724 <enum>Qt::Horizontal</enum> 659 <enum>Qt::Horizontal</enum>
725 </property> 660 </property>
726 </widget> 661 </widget>
  662 + <widget class="QLabel" name="label_5">
  663 + <property name="geometry">
  664 + <rect>
  665 + <x>0</x>
  666 + <y>1164</y>
  667 + <width>600</width>
  668 + <height>286</height>
  669 + </rect>
  670 + </property>
  671 + <property name="pixmap">
  672 + <pixmap resource="resources.qrc">:/images/symbol/main_logo.png</pixmap>
  673 + </property>
  674 + <property name="alignment">
  675 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  676 + </property>
  677 + </widget>
727 </widget> 678 </widget>
728 </widget> 679 </widget>
729 <layoutdefault spacing="6" margin="11"/> 680 <layoutdefault spacing="6" margin="11"/>
@@ -773,6 +724,8 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ @@ -773,6 +724,8 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ
773 <tabstop>configButton</tabstop> 724 <tabstop>configButton</tabstop>
774 <tabstop>helpButton</tabstop> 725 <tabstop>helpButton</tabstop>
775 </tabstops> 726 </tabstops>
776 - <resources/> 727 + <resources>
  728 + <include location="resources.qrc"/>
  729 + </resources>
777 <connections/> 730 <connections/>
778 </ui> 731 </ui>
app/gui/oven_control/resources.qrc
@@ -614,5 +614,6 @@ @@ -614,5 +614,6 @@
614 <file>images/manual_button/013_sys_icon_06_03_active.png</file> 614 <file>images/manual_button/013_sys_icon_06_03_active.png</file>
615 <file>images/manual_button/013_sys_icon_06_04_active.png</file> 615 <file>images/manual_button/013_sys_icon_06_04_active.png</file>
616 <file>images/manual_button/013_sys_icon_06_active.png</file> 616 <file>images/manual_button/013_sys_icon_06_active.png</file>
  617 + <file>images/symbol/main_logo.png</file>
617 </qresource> 618 </qresource>
618 </RCC> 619 </RCC>
@@ -55,3 +55,4 @@ CP_DIR=${IMAGE_DIR} ./make.sh @@ -55,3 +55,4 @@ CP_DIR=${IMAGE_DIR} ./make.sh
55 cd - 55 cd -
56 56
57 cp -Ra files/* ${IMAGE_DIR} 57 cp -Ra files/* ${IMAGE_DIR}
  58 +cp scripts/mk-app.sh ${IMAGE_DIR}
release/application.tar
No preview for this file type
release/ramdisk-prime_oven-128M.gz
No preview for this file type
release/ramdisk-prime_oven-64M.gz
No preview for this file type
release/ramdisk-prime_oven.uboot
No preview for this file type
release/rootfs.tar
No preview for this file type
release/u-boot.imx
No preview for this file type
release/uImage
No preview for this file type
scripts/mk-app.sh
1 #!/bin/sh 1 #!/bin/sh
2 2
3 FILES="superdaemon superdaemon.ini app-prime-modbus app-prime-gui" 3 FILES="superdaemon superdaemon.ini app-prime-modbus app-prime-gui"
  4 +PACK="${FILES}"
4 for FILE in ${FILES} 5 for FILE in ${FILES}
5 do 6 do
6 md5sum ${FILE} | awk '{print $1}' > ${FILE}.md5 7 md5sum ${FILE} | awk '{print $1}' > ${FILE}.md5
  8 + PACK="${PACK} ${FILE}.md5"
7 done 9 done
  10 +
  11 +tar cf application.tar ${PACK} config cookbook history program run.sh sounds
scripts/mk-emmc-fusing.sh
@@ -1,192 +0,0 @@ @@ -1,192 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -C_NC='\033[0m'  
4 -C_LRED='\033[1;31m'  
5 -  
6 -  
7 -EMMC_DEV_PATH="/dev/mmcblk3"  
8 -SD_DEV_PATH="/dev/mmcblk2"  
9 -PART1=p1  
10 -PART2=p2  
11 -PART3=p3  
12 -PART4=p4  
13 -  
14 -FNAME_UBOOT="u-boot.imx"  
15 -FNAME_LOGO="init.bmp"  
16 -FNAME_DTB="imx6s-prime-oven.dtb"  
17 -FNAME_KERNEL="uImage"  
18 -FNAME_FSCPIO="ramdisk-prime_oven.uboot"  
19 -FNAME_RFS="rootfs.tar"  
20 -FNAME_APP="application.tar"  
21 -  
22 -SD_MOUNT_PATH_P1="/tmp/mmcblk2p1"  
23 -EMMC_MOUNT_PATH_P1="/tmp/mmcblk3p1"  
24 -EMMC_MOUNT_PATH_P2="/tmp/mmcblk3p2"  
25 -EMMC_MOUNT_PATH_P3="/tmp/mmcblk3p3"  
26 -EMMC_MOUNT_PATH_P4="/tmp/mmcblk3p4"  
27 -  
28 -function Init_Unmount()  
29 -{  
30 - echo ""  
31 - echo -e "${C_LRED}### UnMount - Init_Unmount() ### ${C_NC}"  
32 - echo ""  
33 - umount ${EMMC_DEV_PATH}${PART1}  
34 - umount ${EMMC_DEV_PATH}${PART2}  
35 - umount ${EMMC_DEV_PATH}${PART3}  
36 - umount ${EMMC_DEV_PATH}${PART4}  
37 - umount ${SD_DEV_PATH}${PART1}  
38 - umount ${SD_DEV_PATH}${PART2}  
39 -}  
40 -  
41 -function create_partition()  
42 -{  
43 - echo ""  
44 - echo -e "${C_LRED}### Fdisk Create Partition - create_partition() ###${C_NC}"  
45 - echo ""  
46 -fdisk ${EMMC_DEV_PATH} << EOF  
47 -o  
48 -n  
49 -p  
50 -1  
51 -4096  
52 -8191  
53 -n  
54 -p  
55 -2  
56 -8192  
57 -16383  
58 -n  
59 -p  
60 -3  
61 -16384  
62 -32767  
63 -n  
64 -p  
65 -32768  
66 -  
67 -p  
68 -w  
69 -EOF  
70 -}  
71 -  
72 -function run_format()  
73 -{  
74 - echo ""  
75 - echo -e "${C_LRED}### Format eMMC - run_format() ###${C_NC}"  
76 - echo ""  
77 - mkfs.ext3 -F ${EMMC_DEV_PATH}${PART1} -L BOOT0  
78 - mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART2} -L SYSTEM  
79 - mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART3} -L FALINUX  
80 - mkfs.ext4 -j -F ${EMMC_DEV_PATH}${PART4} -L PRIME  
81 -}  
82 -  
83 -function run_mount()  
84 -{  
85 - echo ""  
86 - echo -e "${C_LRED}### Mount SD/eMMC - run_mount() ###${C_NC}"  
87 - echo ""  
88 -  
89 - if [ ! -d ${SD_MOUNT_PATH_P1} ]; then  
90 - mkdir ${SD_MOUNT_PATH_P1}  
91 - fi  
92 -  
93 - if [ ! -d ${EMMC_MOUNT_PATH_P1} ]; then  
94 - mkdir ${EMMC_MOUNT_PATH_P1}  
95 - fi  
96 -  
97 - if [ ! -d ${EMMC_MOUNT_PATH_P2} ]; then  
98 - mkdir ${EMMC_MOUNT_PATH_P2}  
99 - fi  
100 -  
101 - if [ ! -d ${EMMC_MOUNT_PATH_P3} ]; then  
102 - mkdir ${EMMC_MOUNT_PATH_P3}  
103 - fi  
104 -  
105 - if [ ! -d ${EMMC_MOUNT_PATH_P4} ]; then  
106 - mkdir ${EMMC_MOUNT_PATH_P4}  
107 - fi  
108 -  
109 - mount -t ext4 ${SD_DEV_PATH}${PART1} ${SD_MOUNT_PATH_P1}  
110 - mount -t ext3 ${EMMC_DEV_PATH}${PART1} ${EMMC_MOUNT_PATH_P1}  
111 - mount -t ext4 ${EMMC_DEV_PATH}${PART2} ${EMMC_MOUNT_PATH_P2}  
112 - mount -t ext4 ${EMMC_DEV_PATH}${PART3} ${EMMC_MOUNT_PATH_P3}  
113 - mount -t ext4 ${EMMC_DEV_PATH}${PART4} ${EMMC_MOUNT_PATH_P4}  
114 -}  
115 -  
116 -function run_copy_image()  
117 -{  
118 - echo ""  
119 - echo -e "${C_LRED}### Write SD Boot Image - run_copy_image() ###${C_NC}"  
120 - echo ""  
121 -  
122 - if [ ! -d ${EMMC_MOUNT_PATH_P1}/boot ]; then  
123 - mkdir ${EMMC_MOUNT_PATH_P1}/boot  
124 - fi  
125 -  
126 - cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_UBOOT} ${EMMC_MOUNT_PATH_P1}/boot/  
127 - cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_LOGO} ${EMMC_MOUNT_PATH_P1}/boot/  
128 - cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_DTB} ${EMMC_MOUNT_PATH_P1}/boot/  
129 - cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_KERNEL} ${EMMC_MOUNT_PATH_P1}/boot/  
130 - cp -v ${SD_MOUNT_PATH_P1}/boot/${FNAME_FSCPIO} ${EMMC_MOUNT_PATH_P1}/boot/  
131 - run_copy_rootfs  
132 - sleep 1  
133 - sync  
134 -}  
135 -  
136 -function run_copy_rootfs()  
137 -{  
138 - echo ""  
139 - echo -e "${C_LRED}### Make MMC Filesystem ###${C_NC}"  
140 - echo ""  
141 -  
142 - tar -xf ${SD_MOUNT_PATH_P1}/boot/${FNAME_RFS} -C ${EMMC_MOUNT_PATH_P2}  
143 -  
144 - cp /etc/ssh/ssh_host_ed25519_key ${EMMC_MOUNT_PATH_P2}/etc/ssh/  
145 -  
146 - tar -xf ${SD_MOUNT_PATH_P1}/boot/${FNAME_APP} -C ${EMMC_MOUNT_PATH_P3}  
147 - tar -xf ${SD_MOUNT_PATH_P1}/boot/${FNAME_APP} -C ${EMMC_MOUNT_PATH_P4}  
148 -}  
149 -  
150 -function run_raw_write()  
151 -{  
152 - echo ""  
153 - echo -e "${C_LRED}### Write SD Boot Image to RAW - run_raw_write() ###${C_NC}"  
154 - echo ""  
155 - dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_UBOOT} of=${EMMC_DEV_PATH} bs=512 seek=2  
156 - dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_LOGO} of=${EMMC_DEV_PATH} bs=512 seek=2048  
157 - dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_DTB} of=${EMMC_DEV_PATH} bs=512 seek=11264  
158 - dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_KERNEL} of=${EMMC_DEV_PATH} bs=512 seek=12288  
159 - dd if=${SD_MOUNT_PATH_P1}/boot/${FNAME_FSCPIO} of=${EMMC_DEV_PATH} bs=512 seek=28672  
160 - sleep 1  
161 - sync  
162 -}  
163 -  
164 -function run_umount()  
165 -{  
166 - echo ""  
167 - echo -e "${C_LRED}### UnMount - run_umount() ###${C_NC}"  
168 - echo ""  
169 - umount ${SD_MOUNT_PATH_P1}  
170 - umount ${EMMC_MOUNT_PATH_P1}  
171 - umount ${EMMC_MOUNT_PATH_P2}  
172 - umount ${EMMC_MOUNT_PATH_P3}  
173 - umount ${EMMC_MOUNT_PATH_P4}  
174 -}  
175 -  
176 -  
177 -function main()  
178 -{  
179 - echo ""  
180 - echo -e "${C_LRED}#### Start - main() ####${C_NC}"  
181 - echo ""  
182 -  
183 - Init_Unmount  
184 - create_partition  
185 - run_format  
186 - run_mount  
187 - run_copy_image  
188 - run_raw_write  
189 - run_umount  
190 -}  
191 -  
192 -main  
scripts/mk-emmc-fusing.sh
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +../buildroot/buildroot-2016.08.1/board/falinux/prime_oven/rootfs_overlay/root/.falinux/mk-emmc-fusing.sh
0 \ No newline at end of file 2 \ No newline at end of file
scripts/mk-fusingsd.sh
@@ -1,180 +0,0 @@ @@ -1,180 +0,0 @@
1 -#!/bin/bash  
2 -  
3 -C_NC='\033[0m'  
4 -C_LRED='\033[1;31m'  
5 -  
6 -#### Partition Number ####  
7 -P1_NUM="1"  
8 -  
9 -DEVNAME="mmcblk0"  
10 -DEV_PATH="/dev/mmcblk0"  
11 -DEV_PATH_P1="/dev/mmcblk0p1"  
12 -INPUT="/tmp/input"  
13 -  
14 -FNAME_UBOOT="u-boot.imx"  
15 -FNAME_LOGO="init.bmp"  
16 -FNAME_DTB="imx6s-prime-oven.dtb"  
17 -FNAME_KERNEL="uImage"  
18 -FNAME_FSCPIO="ramdisk-prime_oven.uboot"  
19 -FNAME_RFS="rootfs.tar"  
20 -FNAME_APP="application.tar"  
21 -  
22 -MOUNT_PATH_P1="/tmp/mmcblk0p1"  
23 -  
24 -  
25 -function create_partition()  
26 -{  
27 - echo ""  
28 - echo -e "${C_LRED}### Fdisk Create Partition - create_partition() ###${C_NC}"  
29 - echo ""  
30 -fdisk $DEV_PATH << EOF  
31 -o  
32 -n  
33 -p  
34 -1  
35 -262144  
36 -  
37 -p  
38 -w  
39 -EOF  
40 -}  
41 -  
42 -function run_format()  
43 -{  
44 - echo ""  
45 - echo -e "${C_LRED}### Format SDCARD - run_format() ###${C_NC}"  
46 - echo ""  
47 - echo "y" | mkfs.ext4 ${DEV_PATH}${P1_NUM} -L BOOT0  
48 -}  
49 -  
50 -function run_mount()  
51 -{  
52 - echo ""  
53 - echo -e "${C_LRED}### Mount SD - run_mount() ###${C_NC}"  
54 - echo ""  
55 - if [ ! -d ${MOUNT_PATH_P1} ]; then  
56 - mkdir ${MOUNT_PATH_P1}  
57 - fi  
58 -  
59 - mount ${DEV_PATH}${P1_NUM} ${MOUNT_PATH_P1}  
60 -}  
61 -  
62 -function run_umount()  
63 -{  
64 - echo ""  
65 - echo -e "${C_LRED}### UnMount - run_umount() ###${C_NC}"  
66 - echo ""  
67 - umount ${MOUNT_PATH_P1}  
68 -}  
69 -  
70 -function run_copy_image()  
71 -{  
72 - # SD Boot Image(SD 카드 부팅용 이미지)  
73 - echo ""  
74 - echo -e "${C_LRED}### Write SD Boot Image - run_copy_image() ###${C_NC}"  
75 - echo ""  
76 - if [ ! -d ${MOUNT_PATH_P1}/boot ]; then  
77 - mkdir ${MOUNT_PATH_P1}/boot  
78 - fi  
79 - cp -v ./$FNAME_UBOOT ${MOUNT_PATH_P1}/boot/  
80 - cp -v ./$FNAME_LOGO ${MOUNT_PATH_P1}/boot/  
81 - cp -v ./$FNAME_DTB ${MOUNT_PATH_P1}/boot/  
82 - cp -v ./$FNAME_KERNEL ${MOUNT_PATH_P1}/boot/  
83 - cp -v ./$FNAME_FSCPIO ${MOUNT_PATH_P1}/boot/  
84 - cp -v ./$FNAME_RFS ${MOUNT_PATH_P1}/boot/  
85 - cp -v ./$FNAME_APP ${MOUNT_PATH_P1}/boot/  
86 - sleep 1  
87 - sync  
88 -}  
89 -  
90 -function run_raw_write()  
91 -{  
92 - echo ""  
93 - echo -e "${C_LRED}### Write SD Boot Image to RAW - run_raw_write() ###${C_NC}"  
94 - echo ""  
95 - dd if=./$FNAME_UBOOT of=$DEV_PATH bs=512 seek=2  
96 - dd if=./$FNAME_LOGO of=$DEV_PATH bs=512 seek=2048  
97 - dd if=./$FNAME_DTB of=$DEV_PATH bs=512 seek=11264  
98 - dd if=./$FNAME_KERNEL of=$DEV_PATH bs=512 seek=12288  
99 - dd if=./$FNAME_FSCPIO of=$DEV_PATH bs=512 seek=28672  
100 - sleep 1  
101 - sync  
102 -}  
103 -  
104 -function Init_Unmount()  
105 -{  
106 - echo ""  
107 - echo -e "${C_LRED}### Unmount SD - Init_Unmount() ###${C_NC}"  
108 - echo ""  
109 -# umount $DEV_PATH_P1  
110 - umount $DEV_PATH*  
111 -}  
112 -  
113 -function main()  
114 -{  
115 - echo ""  
116 - echo -e "${C_LRED}#### Start - main() ####${C_NC}"  
117 - echo ""  
118 - Init_Unmount  
119 - create_partition  
120 -  
121 - run_format  
122 - run_mount  
123 - run_raw_write  
124 - run_copy_image  
125 - run_umount  
126 - sync  
127 -}  
128 -  
129 -if [[ "$1" == "sd"* ]]; then  
130 - if [ "$1" != "sd" ]; then  
131 - P1_NUM="1"  
132 - else  
133 - echo "Missing Partition Number"  
134 - exit  
135 - fi  
136 -  
137 -elif [[ "$1" == "mmcblk"* ]]; then  
138 - if [ "$1" != "mmcblk" ]; then  
139 - P1_NUM="p1"  
140 - else  
141 - echo "Missing Partition Number"  
142 - exit  
143 - fi  
144 -else  
145 - echo "Wrong Device Name"  
146 - exit  
147 -fi  
148 -  
149 -  
150 -if [ "$1" != "" ]; then  
151 - DEVNAME=$1  
152 -fi  
153 -  
154 -DEV_PATH="/dev/${DEVNAME}"  
155 -DEV_PATH_P1="${DEV_PATH}${P1_NUM}"  
156 -MOUNT_PATH_P1="/tmp/${DEVNAME}${P1_NUM}"  
157 -  
158 -echo ""  
159 -echo "================================"  
160 -echo "DEV_Name: $DEVNAME"  
161 -echo "DEV_Path: $DEV_PATH"  
162 -echo "P1 MountPath: $MOUNT_PATH_P1"  
163 -echo "================================"  
164 -echo ""  
165 -  
166 -read -p "IS Right? (y/n): " -n 2 -e IS_RIGHT  
167 -  
168 -if [ "$IS_RIGHT" == "y" ]; then  
169 - main  
170 -elif [ "$IS_RIGHT" == "Y" ]; then  
171 - main  
172 -else  
173 - echo -e "Exit This Script"  
174 - exit  
175 -fi  
176 -  
177 -  
178 -  
179 -  
180 -  
scripts/mk-fusingsd.sh
@@ -0,0 +1 @@ @@ -0,0 +1 @@
  1 +../release/mk-fusingsd.sh
0 \ No newline at end of file 2 \ No newline at end of file