20190221_jeffrey - silenceuncrio/diary GitHub Wiki
0845
ไธๆฉไพ็ผ็พ window 10 ้ป่ ฆๆ่ชๅทฑ้้ๆฉ้
ๆจๅคฉ m330 proscend ๅคๅฑค็ดๆฅๅ make ็ผ็พๅคฑๆ
ๅฉ็จ git clean . -fdx
ๆ proscend ๅคๅฑคๆธ
ไนพๆทจ
source proenv.sh
ๅพๅ make
0920
็ญๅพ make ็ๅๆๅ ๆธฌ RIP ๅง
M330 - RIP
ๆธฌ่ฉฆ PASS
1005
็ญๅพ make ็ๅๆๅๆธฌ OSPF
่ธขๅฐ็ฌฌไธๅก้ตๆฟ
ๆฒๆ ospfd ้ๅๅท่กๆช
ๅ ็ญ make ๅฎ็ขๅง
1105
DQA ๅๆ่ชช M300 ๅฏฌๆบซ็็ๆฌๆฒๆ้กฏ็คบๅบ bootloader ็็ๆฌ่
็บๆญค็นๅฅๅผไธๅ branch v1.76-mfg
่ฎๆๆ bootloader ็ๆฟๆฌ่็ขผ่ฃไธๅป
eMMC ็ image ็ setup ไธๆฏ source proenv.sh
่ๆฏ source proenv.sh m300e proscend-m300e
Products/Vendor ้ธ M300E/4_MTK_WIFI
ๅ build ๅ image ่ฉฆ่ฉฆ
1135
mfgtool ไฝ็้
1325
ๅ่ nandflash uboot ็จ็ๅ ฉๅ patch file
- do_some_actions_at_board_init.patch
- proscend_bootloader_ver.patch
ไนๅนซ eMMC ็ uboot ไธๅ patch
ๅๅฐ u-boot-imx ๆๅจ็ source code ็ฎ้ไนไธ
โ M300 git:(v1.76-mfg) โ cd build_small/tmp/work/m300e-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga)
quilt new emmc_do_something_at_board_init_and_add_proscend_bootloader_ver.patch
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt new emmc_do_something_at_board_init_and_add_proscend_bootloader_ver.patch
Patch patches/emmc_do_something_at_board_init_and_add_proscend_bootloader_ver.patch is now on top
ๅ ๅ ฅๅพ ๆ่ฆๆน็ files
board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt add board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c File board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c added to patch patches/do_some_actions_at_board_init_emmc.patch
common/main.c
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt add common/main.c File common/main.c added to patch patches/do_some_actions_at_board_init_emmc.patch
ไฟฎๆน
board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
907a908,928
>
>
> static iomux_v3_cfg_t const proscend_pads[] = {
> /* proscend - IO control power */
> MX6_PAD_CSI_DATA00__GPIO4_IO21 | MUX_PAD_CTRL(NO_PAD_CTRL),
>
> /* proscend - sys led */
> MX6_PAD_SD1_DATA2__GPIO2_IO20 | MUX_PAD_CTRL(NO_PAD_CTRL),
>
> /* proscend - Ethernet 1 Reset PIN */
> MX6_PAD_UART5_TX_DATA__GPIO1_IO30 | MUX_PAD_CTRL(NO_PAD_CTRL),
>
> /* proscend - Ethernet 2 Reset PIN */
> MX6_PAD_UART5_RX_DATA__GPIO1_IO31 | MUX_PAD_CTRL(NO_PAD_CTRL),
>
> /* proscend - Mobile Reset PIN */
> MX6_PAD_SNVS_TAMPER7__GPIO5_IO07 | MUX_PAD_CTRL(NO_PAD_CTRL),
> };
>
>
>
913a935,1022
>
>
>
> imx_iomux_v3_setup_multiple_pads(proscend_pads, ARRAY_SIZE(proscend_pads));
>
> /*
> ** IO control power - GPIO4-IO21
> ** +----------+--------+------------+-----------------+
> ** | Instance | Signal | Pad | Mode |
> ** | GPIO4 | IO21 | CSI_DATA00 | No Muxing(ALT5) |
> ** +----------+--------+------------+-----------------+
> **
> ** 0 - off
> ** 1 - on
> **
> ** turn on the IO control power
> */
> printf("turn on the IO control power\n");
> gpio_direction_output(IMX_GPIO_NR(4, 21) , 1);
>
> /*
> ** PAD - MX6_PAD_SD1_DATA2__GPIO2_IO20
> ** sys led - GPIO2-IO20
> ** +----------+--------+-----------+------+
> ** | Instance | Signal | Pad | Mode |
> ** | GPIO2 | IO20 | SD1_DATA2 | ALT5 |
> ** +----------+--------+-----------+------+
> **
> ** 0 - off [9/90]
> ** 1 - on
> **
> ** turn on sys led
> */
> printf("turn on sys led\n");
> gpio_direction_output(IMX_GPIO_NR(2, 20) , 0);
>
> /*
> ** Ethernet 1 Reset PIN - GPIO1-IO30
> ** +----------+--------+---------------+------+
> ** | Instance | Signal | Pad | Mode |
> ** | GPIO1 | IO30 | UART5_TX_DATA | ALT5 |
> ** +----------+--------+---------------+------+
> **
> ** 0 - off
> ** 1 - on
> **
> ** reset Ethernet 1
> */
> printf("reset Ethernet 1\n");
> gpio_direction_output(IMX_GPIO_NR(1, 30) , 0);
> udelay(500);
> gpio_direction_output(IMX_GPIO_NR(1, 30) , 1);
>
> /*
> ** Ethernet 2 Reset PIN - GPIO1-IO30
> ** +----------+--------+---------------+------+
> ** | Instance | Signal | Pad | Mode |
> ** | GPIO1 | IO31 | UART5_RX_DATA | ALT5 |
> ** +----------+--------+---------------+------+
> **
> ** 0 - off
> ** 1 - on
> **
> ** reset Ethernet 2
> */
> printf("reset Ethernet 2\n");
> gpio_direction_output(IMX_GPIO_NR(1, 31) , 0);
> udelay(500);
> gpio_direction_output(IMX_GPIO_NR(1, 31) , 1);
>
> /*
> ** Mobile Reset PIN - GPIO5-IO7
> ** +----------+--------+--------------+-----------------+
> ** | Instance | Signal | Pad | Mode |
> ** | GPIO5 | IO7 | SNVS_TAMPER7 | No Muxing(ALT5) |
> ** +----------+--------+--------------+-----------------+
> **
> ** 0 - off
> ** 1 - on
> **
> ** reset Mobile
> */
> printf("reset Mobile\n");
> gpio_direction_output(IMX_GPIO_NR(5, 7) , 0);
> udelay(500);
> gpio_direction_output(IMX_GPIO_NR(5, 7) , 1);
>
>
common/main.c
> // Proscend Bootloader version
> setenv("bootloader_ver", "1.0");
>
ไฝฟ็จ quilt refresh
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt refresh
Refreshed patch patches/emmc_do_something_at_board_init_and_add_proscend_bootloader_ver.patch
linux ้จๅไน่ฆไฟฎไธไธ
diff --git a/meta-proscend/recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend b/meta-proscend/recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend
index 13beb4a..ba14261 100644
--- a/meta-proscend/recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend
+++ b/meta-proscend/recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend
@@ -21,4 +21,5 @@ SRC_URI_append_m300 = " \
SRC_URI_append_m300e = " \
file://add_emmc_rework.patch \
file://uboot_env_emmc_v1.0.patch \
+ file://emmc_do_something_at_board_init_and_add_proscend_bootloader_ver.patch \
"
diff --git a/proscend/memory_fs/emmc/default/rootfs/etc/rc.local b/proscend/memory_fs/emmc/default/rootfs/etc/rc.local
index 31d5d5e..abb1627 100644
--- a/proscend/memory_fs/emmc/default/rootfs/etc/rc.local
+++ b/proscend/memory_fs/emmc/default/rootfs/etc/rc.local
@@ -114,15 +114,16 @@ mkdir -p "$app_data_etc"
-# get uboot_env_ver from uboot env
-UBOOT_ENV_VER=$(fw_printenv uboot_env_ver 2>/dev/null | awk -F"=" '{ print $2 }')
-if [ "$UBOOT_ENV_VER" = "" ]
+# get bootloader_ver from uboot env
+BOOTLOADER_VER=$(fw_printenv bootloader_ver 2>/dev/null | awk -F"=" '{ print $2 }')
+if [ "$BOOTLOADER_VER" = "" ]
then
- echo "WARNING: uboot env uboot_env_ver loose"
- UBOOT_ENV_VER="NA"
+ echo "WARNING: uboot env bootloader_ver loose"
+ BOOTLOADER_VER="NA"
fi
+
# get ethaddr from uboot env
MAC=$(fw_printenv ethaddr 2>/dev/null | awk -F"=" '{ print $2 }')
if [ "$MAC" = "" ]
@@ -199,7 +200,7 @@ APP_PRIMARY=$(fw_printenv app_1 2>/dev/null | awk -F"=" '{ print $2 }')
mkdir -p "$sysinfo_dir"
-echo "UBOOT_ENV_VER"=$UBOOT_ENV_VER > "$sysinfo_path"
+echo "BOOTLOADER_VER"=$BOOTLOADER_VER > "$sysinfo_path"
echo "MAC"=$MAC >> "$sysinfo_path"
echo "HW_MCSV"=$HW_MCSV >> "$sysinfo_path"
echo "SERIALNO"=$SERIALNO >> "$sysinfo_path"
build image
1410
ๆณๅฐๅๆฌๆไบๅจ bootcmd ๅ็ไบๆ ๅฏไปฅไธ็จๅๅไธๆฌกไบ
ๅๅฐ u-boot-imx ๆๅจ็ source code ็ฎ้ไนไธ
โ M300 git:(v1.76-mfg) โ cd build_small/tmp/work/m300e-poky-linux-gnueabi/u-boot-imx/2015.04-r0/git
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga)
quilt new emmc_remove_something_from_bootcmd.patch
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt new emmc_remove_something_from_bootcmd.patch
Patch patches/emmc_remove_something_from_bootcmd.patch is now on top
ๅ ๅ
ฅๅพ
ๆ่ฆๆน็ files - include/configs/mx6ul_14x14_evk.h
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt add include/configs/mx6ul_14x14_evk.h
File include/configs/mx6ul_14x14_evk.h added to patch patches/emmc_remove_something_from_bootcmd.patch
ไฟฎๆน
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) diff include/configs/mx6ul_14x14_evk.h.orig include/configs/mx6ul_14x14_evk.h
260,334d259
< /*
< ** sys led - GPIO2-IO20
< ** +----------+--------+-----------+------+
< ** | Instance | Signal | Pad | Mode |
< ** | GPIO2 | IO20 | SD1_DATA2 | ALT5 |
< ** +----------+--------+-----------+------+
< **
< ** SW_MUX_CTL_PAD_SD1_DATA2 - select mux mode: ALT5 mux port
< ** - mw 0x020E01CC 0x00000005 1
< ** GPIO2_GDIR - define the direction of the GPIO2-IO20 as OUTPUT
< ** - mw 0x020A0004 00100000 1
< ** GPIO2_DR - define the value of the GPIO2-IO20 OUTPUT to 0 - pull low
< ** - mw 0x020A0000 00000000 1
< ** _setenv turnon_sysled 'mw 0x020E01CC 0x00000005 1; mw 0x020A0004 00100000 1; mw 0x020A0000 00000000 1'
< */ \
< "turnon_sysled=echo Turn On System LED;" \
< "mw 0x020E01CC 0x00000005 1;" \
< "mw 0x020A0004 0x00100000 1;" \
< "mw 0x020A0000 0x00000000 1\0" \
< \
< /*
< **
< ** Ethernet 1 Reset PIN - GPIO1-IO30
< ** +----------+--------+---------------+------+
< ** | Instance | Signal | Pad | Mode |
< ** | GPIO1 | IO30 | UART5_TX_DATA | ALT5 |
< ** +----------+--------+---------------+------+
< **
< ** IOMUXC_SW_MUX_CTL_PAD_UART5_TX_DATA - select mux mode: ALT5 mux port
< ** mw 0x020E00BC 00000005 1
< ** GPIO1_GDIR - define the direction of the GPIO1-IO30 as OUTPUT
< ** mw 0x0209C004 40000000 1
< ** GPIO1_DR - define the value of the GPIO1-IO30 OUTPUT to 0 - pull low
< ** mw 0x0209C000 00000000 1
< ** GPIO1_DR - define the value of the GPIO1-IO30 OUTPUT to 1 - pull high
< ** mw 0x0209C000 40000000 1
< **
< **
< ** Ethernet 2 Reset PIN - GPIO1-IO30
< ** +----------+--------+---------------+------+
< ** | Instance | Signal | Pad | Mode |
< ** | GPIO1 | IO31 | UART5_RX_DATA | ALT5 |
< ** +----------+--------+---------------+------+
< **
< ** IOMUXC_SW_MUX_CTL_PAD_UART5_RX_DATA - select mux mode: ALT5 mux port
< ** mw 0x020E00C0 00000005 1
< ** GPIO1_GDIR - define the direction of the GPIO1-IO31 as OUTPUT
< ** mw 0x0209C004 80000000 1
< ** GPIO1_DR - define the value of the GPIO1-IO31 OUTPUT to 0 - pull low
< ** mw 0x0209C000 00000000 1
< ** GPIO1_DR - define the value of the GPIO1-IO31 OUTPUT to 1 - pull high
< ** mw 0x0209C000 80000000 1
< **
< **
< ** Mobile Reset PIN - GPIO5-IO7
< ** +----------+--------+--------------+-----------------+
< ** | Instance | Signal | Pad | Mode |
< ** | GPIO5 | IO7 | SNVS_TAMPER7 | No Muxing(ALT5) |
< ** +----------+--------+--------------+-----------------+
< **
< ** GPIO5_GDIR - define the direction of the GPIO5-IO7 as OUTPUT
< ** mw 0x020AC004 00000080 1
< ** GPIO5_DR - define the value of the GPIO5-IO7 OUTPUT to 0 - pull low
< ** mw 0x020AC000 00000000 1
< ** GPIO5_DR - define the value of the GPIO5-IO7 OUTPUT to 1 - pull high
< ** mw 0x020AC000 00000080 1
< **
< */ \
< "reset_ethernet_and_mobile=echo Reset Ethernet and Mobile;" \
< "mw 0x020E00BC 00000005 1; mw 0x020E00C0 00000005 1;" \
< "mw 0x0209C004 C0000000 1; mw 0x020AC004 00000080 1;" \
< "mw 0x0209C000 00000000 1; mw 0x020AC000 00000000 1;" \
< "sleep 1;" \
< "mw 0x0209C000 C0000000 1; mw 0x020AC000 00000080 1\0" \
< \
345,346d269
< "run turnon_sysled;" \
< "run reset_ethernet_and_mobile;" \
ไฝฟ็จ quilt refresh
โ git git:(imx_v2015.04_4.1.15_1.0.0_ga) quilt refresh
Refreshed patch patches/emmc_remove_something_from_bootcmd.patch
ๅ build ไธๆฌกๅง
1440
ๆธฌ่ฉฆ PASS
ไธ code
commit 748747083594ed59a85396a7ea2d46d874fb7a75
Refs: [v1.76-mfg], {origin/v1.76-mfg}
Author: jeffrey <[email protected]>
Date: Thu Feb 21 14:40:25 2019 +0800
- do some actions at board_init() in u-boot:
- turn on the IO control power
- turn on sys led
- reset Ethernet 1
- reset Ethernet 2
- reset Mobile
- add bootloader version
- remove something form bootcmd
...oard_init_and_add_proscend_bootloader_ver.patch | 141 +++++++++++++++++++++
.../files/emmc_remove_something_from_bootcmd.patch | 95 ++++++++++++++
.../recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend | 2 +
.../memory_fs/emmc/default/rootfs/etc/rc.local | 13 +-
4 files changed, 245 insertions(+), 6 deletions(-)
็ธๅ็ๆน่ฎไน่ฆๅฅๅฐ htofix/v1.77
ๅป
commit 8ff5a88717fc24b68ec60acf8f7db41fcc4e7137
Refs: [hotfix/v1.77], {origin/hotfix/v1.77}
Author: jeffrey <[email protected]>
Date: Thu Feb 21 14:50:34 2019 +0800
- do some actions at board_init() in u-boot:
- turn on the IO control power
- turn on sys led
- reset Ethernet 1
- reset Ethernet 2
- reset Mobile
- add bootloader version
- remove something form bootcmd
...oard_init_and_add_proscend_bootloader_ver.patch | 141 +++++++++++++++++++++
.../files/emmc_remove_something_from_bootcmd.patch | 95 ++++++++++++++
.../recipes-bsp/u-boot/u-boot-imx_2015.04.bbappend | 2 +
.../memory_fs/emmc/default/rootfs/etc/rc.local | 13 +-
4 files changed, 245 insertions(+), 6 deletions(-)
build image ่ฉฆ่ฉฆ
1530
ๆธฌ่ฉฆ PASS
ๅๅฐ M330
proscend ๅคๅฑค build ้ไบ
ๆ้ฒ proscend ็ฎ้
...
make[3]: Entering directory `/home/user/proscend/opensrc/inadyn-mt.v.02.28.10'
CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal-1.14 -I ./m4
aclocal-1.14: warning: couldn't open directory './m4': No such file or directory
Can't locate Autom4te/C4che.pm in @INC (you may need to install the Autom4te::C4che module) (@INC contains: /home/user/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/../host/share/autoconf /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /home/user/staging_dir/host/bin/autom4te line 39.
BEGIN failed--compilation aborted at /home/user/staging_dir/host/bin/autom4te line 39.
aclocal-1.14: error: echo failed with exit status: 2
make[3]: *** [aclocal.m4] Error 2
make[3]: Leaving directory `/home/user/proscend/opensrc/inadyn-mt.v.02.28.10'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/user/proscend/opensrc/inadyn-mt.v.02.28.10'
make[1]: *** [build] Error 1
make[1]: Leaving directory `/home/user/proscend/opensrc'
make: *** [opensrc] Error 2
john ๅ aaron ไพๅนซๆ็้ไปฅๅพไนๆฏไธ็ฅ้็ผ็ไป้บผไบๆ
ๅ จ้จ้้ ญๅง
ๆ M330 source code ็ ไบ
โ ~ rm 330.sh
โ ~ rm -rf m330
ๆ docker container ็ ไบ
โ ~ docker container stop build-m330
build-m330
โ ~ docker container rm build-m330
build-m330
1600
john ไปไน็ผ็่ทๆๅๆจฃ็็ๆณไบ
็ไพไธๆฏๆๆๆท็ๆฏๆ่ฃ nodejs ๆๅผ็ผ็ๅ้ก
่ถ้ๅๆฉๆๅ้ๆฐ build ไธๆฌก M330 ๆ้่ฆ็ Docker image
ๅ่ Install The Latest Node.Js And NPM Packages On Ubuntu 16.04 / 18.04 LTS
ไฟฎไธไธDockerfile
diff --git a/Dockerfile b/Dockerfile
index e9fd6e9..4b052de 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -32,6 +32,9 @@ RUN apt-get install -y \
ocaml-findlib \
bsdmainutils
+# Install Node.Js And NPM Packages
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
+RUN apt-get install nodejs
RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.4/gosu-$(dpkg --print-architecture)" \
ๅปบ็ซ build-m330
docker image
docker build -t build-m330 .
docker ็็ๅพๅฒๅฎณ ๅชๅๆๆฐๅข็้จๅ
้ๆฐ checkout M330 ็ source code
โ ~ git clone [email protected]:RD/m330.git
Cloning into 'm330'...
remote: Enumerating objects: 177, done.
remote: Counting objects: 100% (177/177), done.
remote: Compressing objects: 100% (131/131), done.
remote: Total 102883 (delta 83), reused 76 (delta 36)
Receiving objects: 100% (102883/102883), 654.21 MiB | 12.53 MiB/s, done.
Resolving deltas: 100% (28742/28742), done.
Checking connectivity... done.
Checking out files: 100% (105163/105163), done.
ๅปบ็ซ M330 ้่ฆ็ docker container
โ m330 git:(master) docker run --name build-m330 \
-e LOCAL_USER_ID=`id -u $USER` \
-v `pwd`:/home/user \
-it --restart=always -d build-m330 /bin/bash
3b95631f73fe2e3fbf7edb8e1fd925166668ae93c629c19b60c3d27696bbadae
ๆบๅไธๆฏ ./330.sh
#!/bin/bash
docker exec -it -u user build-m330 bash
่จๅพ source code ๅ
ๅๅฐ branch feature/proscend-porting
โ m330 git:(master) git checkout feature/proscend-porting
Checking out files: 100% (15047/15047), done.
Branch feature/proscend-porting set up to track remote branch feature/proscend-porting from origin.
Switched to a new branch 'feature/proscend-porting'
โ m330 git:(feature/proscend-porting) git pull
Current branch feature/proscend-porting is up to date.
โ m330 git:(feature/proscend-porting)
ๅฉ็จ 330.sh
้ฒ M330 build ็ docker container
โ ~ ./330.sh
user@3b95631f73fe:/$
ๅทฅไฝ็็ฎ้ๅจ /home/user/
user@3b95631f73fe:/$ cd /home/user/
user@3b95631f73fe:~$
ๅ
source proenv.sh
ๅ
้ฒ proscend/prosrc/www
็ขบ่ช react ๅฏไปฅ build
user@3b95631f73fe:~$ cd proscend/prosrc/www/ user@3b95631f73fe:~/proscend/prosrc/www$ make react
cd my-app; npm install; npm run build
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
added 1846 packages from 720 contributors and audited 36349 packages in 33.054s
found 63 low severity vulnerabilities
run `npm audit fix` to fix them, or `npm audit` for details
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ npm update check failed โ
โ Try running with sudo or get access โ
โ to the local update config store via โ
โ sudo chown -R $USER:$(id -gn $USER) /home/user/.config โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
> [email protected] build /home/user/proscend/prosrc/www/my-app
> react-scripts build
Creating an optimized production build...
Compiled successfully.
File sizes after gzip:
36.8 KB build/static/js/2.d16a2668.chunk.js
763 B build/static/js/runtime~main.9eb600ee.js
711 B build/static/js/main.a33889bf.chunk.js
540 B build/static/css/main.dd85fe25.chunk.css
The project was built assuming it is hosted at ./.
You can control this with the homepage field in your package.json.
The build folder is ready to be deployed.
Find out more about deployment here:
http://bit.ly/CRA-deploy
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ npm update check failed โ
โ Try running with sudo or get access โ
โ to the local update config store via โ
โ sudo chown -R $USER:$(id -gn $USER) /home/user/.config โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
user@3b95631f73fe:~/proscend/prosrc/www$
็ไพ nodejs ๅฎ่ฃ้ๅธธ้ ๅฉ
ๅ ๅๅฐ proscend ๅคๅฑค make ๅง