n1 linux 进不了桌面,[N1盒子]n1盒子无法启动n1刷入ubuntu系统,写入emmc以后无法引导,必须依赖u盘启动...

在N1盒子上安装Ubuntu时遇到无法从EMMC启动的问题,只能依赖U盘。已尝试通过U盘刷入系统并执行install.sh将Ubuntu复制到EMMC,但仍然无法直接从EMMC启动。解决方案包括降级、刷入官改版和Linux系统,以及检查U盘和EMMC分区设置。
摘要由CSDN通过智能技术生成

201812136771_1781.jpg

我装的是这版本的 Ubuntu

现在u盘重新刷入ubuntu系统,然后可以从u盘启动 但是就是无法脱离优盘 单独从emmc启动

我刷的步骤是 :

1、U盘写入ubuntu镜像,然后启动使用winscp把附件的install.sh拷贝到root目录下,覆盖原来root下的,下面是install.sh的内容#!/bin/sh

echo "Start copy system for DATA partition."

mkdir -p /ddbr

chmod 777 /ddbr

VER=`uname -r`

IMAGE_KERNEL="/boot/zImage"

IMAGE_INITRD="/boot/initrd.img-$VER"

PART_ROOT="/dev/data"

DIR_INSTALL="/ddbr/install"

IMAGE_DTB="/boot/dtb.img"

if [ ! -f $IMAGE_KERNEL ] ; then

echo "Not KERNEL.  STOP install !!!"

return

fi

if [ ! -f $IMAGE_INITRD ] ; then

echo "Not INITRD.  STOP install !!!"

return

fi

#edit by achaoge,

#disable 64bit and metadata_csum features for uboot compatibility

#ref: https://kshadeslayer.wordpress.com/2016/04/11/my-filesystem-has-too-many-bits/

/sbin/resize2fs -s $PART_ROOT

/sbin/tune2fs -O ^metadata_csum $PART_ROOT

#echo "Formatting DATA partition..."

#umount -f $PART_ROOT

#mke2fs -F -q -t ext4 -m 0 $PART_ROOT

e2fsck -f $PART_ROOT

#echo "done."

echo "Copying ROOTFS."

if [ -d $DIR_INSTALL ] ; then

rm -rf $DIR_INSTALL

fi

mkdir -p $DIR_INSTALL

mount -o rw $PART_ROOT $DIR_INSTALL

cd /

echo "Copy BIN"

tar -cf - bin | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy BOOT"

#mkdir -p $DIR_INSTALL/boot

tar -cf - boot | (cd $DIR_INSTALL; tar -xpf -)

echo "Create DEV"

mkdir -p $DIR_INSTALL/dev

#tar -cf - dev | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy ETC"

tar -cf - etc | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy HOME"

tar -cf - home | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy LIB"

tar -cf - lib | (cd $DIR_INSTALL; tar -xpf -)

echo "Create MEDIA"

mkdir -p $DIR_INSTALL/media

#tar -cf - media | (cd $DIR_INSTALL; tar -xpf -)

echo "Create MNT"

mkdir -p $DIR_INSTALL/mnt

#tar -cf - mnt | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy OPT"

tar -cf - opt | (cd $DIR_INSTALL; tar -xpf -)

echo "Create PROC"

mkdir -p $DIR_INSTALL/proc

echo "Copy ROOT"

tar -cf - root | (cd $DIR_INSTALL; tar -xpf -)

echo "Create RUN"

mkdir -p $DIR_INSTALL/run

echo "Copy SBIN"

tar -cf - sbin | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy SELINUX"

tar -cf - selinux | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy SRV"

tar -cf - srv | (cd $DIR_INSTALL; tar -xpf -)

echo "Create SYS"

mkdir -p $DIR_INSTALL/sys

echo "Create TMP"

mkdir -p $DIR_INSTALL/tmp

echo "Copy USR"

tar -cf - usr | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy VAR"

tar -cf - var | (cd $DIR_INSTALL; tar -xpf -)

echo "Copy fstab"

rm $DIR_INSTALL/etc/fstab

cp -a /root/fstab $DIR_INSTALL/etc

#cp -a /boot/hdmi.sh $DIR_INSTALL/boot

#add by achaoge 2018-06-22

export $(/usr/sbin/fw_printenv mac)

echo "Modify files for N1 emmc boot"

/bin/sed -e "/usb [23]/d" -e 's/fatload mmc 0 \([^ ]*\) \([^;]*\)/ext4load mmc 1:c \1 \/boot\/\2/g' -i $DIR_INSTALL/boot/s905_autoscript.cmd

/bin/sed -e 's/LABEL=ROOTFS/\/dev\/data/' -e "s/mac=.*/mac=${mac}/" -i $DIR_INSTALL/boot/uEnv.ini

/usr/bin/mkimage -C none -A arm -T script -d $DIR_INSTALL/boot/s905_autoscript.cmd $DIR_INSTALL/boot/s905_autoscript

echo "Emmc boot fixed end"

rm $DIR_INSTALL/root/install.sh

rm $DIR_INSTALL/root/fstab

rm $DIR_INSTALL/usr/bin/ddbr

rm $DIR_INSTALL/usr/bin/ddbr_backup_nand

rm $DIR_INSTALL/usr/bin/ddbr_restore_nand

cd /

sync

umount $DIR_INSTALL

echo "*******************************************"

echo "Done copy ROOTFS"

echo "*******************************************"

#echo "Writing new kernel image..."

#mkdir -p $DIR_INSTALL/aboot

#cd $DIR_INSTALL/aboot

#dd if=/dev/boot of=boot.backup.img

#abootimg -i /dev/boot > aboot.txt

#abootimg -x /dev/boot

#abootimg -u /dev/boot -k $IMAGE_KERNEL

#abootimg -u /dev/boot -r $IMAGE_INITRD

#

#echo "done."

#if [ -f $IMAGE_DTB ] ; then

#    abootimg -u /dev/boot -s $IMAGE_DTB

#    echo "Writing new dtb ..."

#    dd if="$IMAGE_DTB" of="/dev/dtb" bs=262144 status=none && sync

#    echo "done."

#fi

echo "Write env bootargs"

#/usr/sbin/fw_setenv initargs "root=/dev/data rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.repair=yes net.ifnames=0 mac=\${mac}"

#Edit by achaoge 2018-06-22, for Phicomm N1 boot from emmc

/usr/sbin/fw_setenv start_autoscript "if usb start ; then run start_usb_autoscript; fi; if ext4load mmc 1:c 1020000 /boot/s905_autoscript; then autoscr 1020000; fi;"

echo "*******************************************"

echo "Complete copy OS to eMMC parted DATA"

echo "*******************************************"

2、执行nand-sata-install

3、执行e2label /dev/sda2 ""

4、执行e2label /dev/data "ROOTFS"

5、关机,拔掉u盘

6、两分钟后上电开机

结果开机以后就一直停留这个页面,默认的斐讯开机页面,见最下面的图

通过插入u盘可以实现启动,如下图

201812138809_8034.jpg

你有没有先降级,刷官改,然后再刷linux?这个步骤是必须的!

我是用最新的5.67版本12月7日的,刷buuntu和debian系统都可以。

步骤:

1、先刷降级

2、再刷官改

3、最后刷linux

我看你的步骤,有一点不一样:

最新的系统里面自带的就有install.sh这个程序:

1、镜像写入U盘

2、把别人修改的meson-gxl-s905d-phicomm-N1.dtb下载并放到U盘的boot\dtb下面,并把文件名替换到U盘boot下的uEnv.ini里

3、U盘启动并执行install.sh写入emmc

4、写入完成以后断电、拔U盘、重启就可以直接从emmc启动了。

你的U盘没弄好吧,我32G的U盘刷好1019的armbia之后进入U盘的系统可用显示29G,你用Fdisk -l看看是不是有没有其它分区没挂载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值