EmuELEC/N1

EmuELEC/N1

N1 刷原版 EmuELEC 需要打补丁包(替换EmuELEC启动分区的 kernel, dtb 等文件为 N1 版本)

官方的 EmuELEC 包里核心不全,很多游戏无法运行。推荐使用第三方整合包。

[N1盒子] [2020-01-21]斐讯N1用EmuELEC最强整合包-2020春节整合版(人中日月) (下载地址)
[N1盒子] 【2020-02-22】N1_EmuELEC3.4 (骨头)2.9GB WIN下游戏直拷
人中日月 bilibili 专栏

EmuELEC

[N1盒子] 【2020-02-22】N1_EmuELEC3.4 (骨头)2.9GB WIN下游戏直拷

N1-EMUELEC3.4_EMUELEC3.4.img (MD5: D1211A77B5BE41C5CACF799A2B7B4BEC)

起因:
本人洁癖、强迫症、垃圾佬。
人中日月的EmuELEC整合包十分强大,全中文化,能玩改版本人甚是喜欢。就是下面的问题略微不爽:
1、64G游戏包内很多游戏不喜欢玩,还占地方。洁癖作祟想自己整理喜欢的游戏,又不想使用EmuELEC官方包(主要是不会鼓弄)。
2、向EmuELEC中汆游戏还要用SMB,SMB很慢。强迫症犯了,拔U盘,插电脑,还要在linux环境中拷(疯)。
3、作为垃圾佬手中的N1,5块8的32G内存卡,N年前4G的U盘,说什么也要利用起来是不是(垃圾佬的固执)。

怎么搞:
1、GXB辛苦做的EmuELEC整合包要最大限度保持原样,仅删除所有rom文件。删除后4G轻松装下。
2、把rom文件放到NTFS格式分区,方便Windows下操作。
3、将GXB发的各种补丁全补上至EmuELEC3.4,(已打N1补丁,仅N1可用)。

好东西要分享!
下载后要这样做:
1、使用balenaEtcher-Portable(烧录工具)刷U盘或TF卡,U盘或TF卡内有分区的不用管,直接刷起来,4G及以上都可以。
手动空格1.1、刷好后重新插拔U盘或TF卡,如果弹出什么要求格式化啊什么的,都选否。
2、我的电脑(此电脑)中找到ROMS分区内的PartitionGuru(扩容工具),复制出来解压运行。之后调整分区大小(ROMS分区),分区后部的空间设为0,开始,是,完成。扩容完毕,Windows下操作就是舒服。
手动空格2.1、想把roms放移动硬盘的,把ROMS分区内文件复制到移动硬盘,之后删除U盘或TF卡内ROMS分区(PartitionGuru)。
手动空格2.2、roms文件夹下emuelecroms文件是EmuELEC用来识别roms目录的,所以把roms文件夹下所有文件复制到ROMS分区根目录也是可以运行的。
3、添加游戏rom,自己想办法。
手动空格2.1、还想要人中日月的EmuELEC整合包内游戏的,直接7ZIP提取64G整合包内roms下的文件夹,粘贴进去。
手动空格2.2、想自己弄的,见sfc(游戏示例.zip)。
4、(高手忽略)把U盘或TF卡插入N1(安卓系统),安装Reboot to LibreELEC_v1.1,运行。
5、不出意外的话,已经重启运行了。

最后的话:
人中日月(GXB)大人莫怪。

GXB的Vlog:
人中日月的个人空间 - EmuELEC 3.3.1(S905-S912盒子专用游戏系统)2020春节整合版下载与使用解说
bilibili.com/video/av82884417
人中日月的个人空间 - 春节包再更新
t.bilibili.com/349534243967157106?tab=2
人中日月的恩山贴 - 2020春节整合版
right.com.cn/forum/thread-2090161-1-1.html

N1-EMUELEC3.4(骨头).7z
大小:2.94 GB (3,165,738,581 字节)
链接:https://pan.baidu.com/s/155-SGyPp-ebVjT72Ior9DA
提取码:y9qf

"$MFT位图中有标记为已使用的未用文件记录" 错误

如果在用 PartitionGuru 扩展 ROM 分区步骤报这个错误,

cmd 里执行以下命令修复磁盘即可。(H 为 ROM 分区盘符)

CHKDSK H: /F

将 EmuELEC 写入N1 的 emmc

不推荐。

installtointernal.sh (来源)

#!/bin/sh

################################################################################
#      This file is part of CoreELEC - https://coreelec.org
#      Copyright (C) 2018-present CoreELEC (team (at) coreelec.org)
#      Copyright (C) 2016-18 kszaq (kszaquitto (at) gmail.com)
#
#  CoreELEC is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 2 of the License, or
#  (at your option) any later version.
#
#  CoreELEC is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with CoreELEC.  If not, see <http://www.gnu.org/licenses/>.
################################################################################

IMAGE_KERNEL="/flash/kernel.img"
IMAGE_SYSTEM="/flash/SYSTEM"
IMAGE_DTB="/flash/dtb.img"
BACKUP_DATE=$(date +%Y%m%d%H%M%S)

install_to_nand() {
  if [ -f $IMAGE_KERNEL -a -f $IMAGE_SYSTEM ] ; then

    if grep -q /dev/system /proc/mounts ; then
      echo "Unmounting SYSTEM partiton."
      umount -f /dev/system
    fi
    mkdir -p /tmp/system

    mount -o rw,remount /flash

#    if [ -e /dev/dtb ] ; then
#      echo -n "Backing up device tree..."
#      dd if=/dev/dtb of="/flash/dtb$BACKUP_DATE.img" bs=256k conv=fsync 2> /dev/null
#      echo "done."
#    fi

#    if [ -e /dev/recovery ] ; then
#      echo -n "Backing up recovery partition..."
#      dd if=/dev/recovery of="/flash/recovery$BACKUP_DATE.img" bs=64k conv=fsync 2> /dev/null
#      echo "done."
#    fi

    echo -n "Formatting SYSTEM partition..."
    mke2fs -F -q -t ext4 -m 0 /dev/system || exit 1
    e2fsck -n /dev/system || exit 1
    resize2fs -s /dev/system || exit 1
    tune2fs -O ^metadata_csum /dev/system || exit 1
    echo "done."

#    echo -n "Writing kernel image..."
#    dd if="$IMAGE_KERNEL" of=/dev/boot bs=1M 2> /dev/null
#    echo "done."

    echo -n "Copying SYSTEM files..."
    mount -o rw /dev/system /tmp/system
    cp -pPR /flash/. /tmp/system && sync
    /bin/sed -e 's/LABEL=EMUELEC/\/dev\/system/' -e "s/LABEL=STORAGE/\/dev\/data/" -i /tmp/system/uEnv.ini
    echo "done."

    umount /tmp/system

#    if [ -f $IMAGE_DTB ] ; then
#      echo -n "Writing device tree image..."
#      dd if=/dev/zero of=/dev/dtb bs=256k count=1 2> /dev/null
#      dd if="$IMAGE_DTB" of=/dev/dtb bs=256k 2> /dev/null
#      echo "done."
#    fi

    read -p "Do you want to copy your user data to internal data partition? [Y/n] " choice
    case "$choice" in
      [nN]*)
        read -p "Do you want to format DATA partition? [Y/n] " choice
        case "$choice" in
          [nN]*)
            ;;
          *)
            echo -n "Formatting DATA partition..."
            mke2fs -F -q -t ext4 -m 0 /dev/data > /dev/null
            e2fsck -n /dev/data &> /dev/null
            resize2fs -s /dev/data &> /dev/null
            tune2fs -O ^metadata_csum /dev/data &> /dev/null
            echo "done."
        esac  
        ;;
      *)
        echo -n "Formatting DATA partition..."
        mke2fs -F -q -t ext4 -m 0 /dev/data > /dev/null
        e2fsck -n /dev/data &> /dev/null
        resize2fs -s /dev/data &> /dev/null
        tune2fs -O ^metadata_csum /dev/data &> /dev/null
        echo "done."

        echo -n "Stopping Kodi..."
        systemctl stop kodi
        echo "done."
        echo "Copying user data..."
        mkdir -p /tmp/data
        mount -o rw /dev/data /tmp/data
        cp -pPR /storage/. /tmp/data
        ;;
    esac

    echo "All done!"
    echo "WARNING: If your internal memory layout is different from standard Amlogic, you have to perform this operation again!"
    echo "Your system will reboot from internal memory."
    echo ""

    read -p "Would you like to reboot now [y/N]? " choice
    case "$choice" in
      [yY]*)
        /usr/sbin/fw_setenv start_autoscript "if usb start ; then run start_usb_autoscript; fi; if ext4load mmc 1:b 1020000 /n1_autoscript; then autoscr 1020000; fi;"
        /usr/sbin/reboot
        ;;
    esac

  else
    echo "No LE image found on /flash! Exiting..."
  fi
}

if [ ! -e /dev/boot -o ! -e /dev/system -o ! -e /dev/data -o ! -e /dev/dtb ]; then
  echo "One of BOOT, SYTEM, DATA or DTB partitions is missing."
  echo "Make sure that you are using a correct device tree and a device with internal memory!"
  exit 0
fi

echo "This script will erase BOOT, SYSTEM, DATA and DTB on your device"
echo "and install LE that you booted from SD card/USB drive."
echo ""
echo "It will create a backup of device tree and recovery partition on your boot media."
echo ""
echo "The script does not have any safeguards!"
echo ""
read -p "Type \"yes\" if you know what you are doing or anything else to exit: " choice
case "$choice" in
  yes) install_to_nand ;;
esac

N1 运行 NDS 模拟器 Drastic 黑竖条问题修复

用下面的 drastic.sh 替换 EmuELEC 系统里的 /storage/.emulationstation/scripts/drastic.sh 文件。

/storage/.emulationstation/scripts/drastic.sh

#!/bin/sh

# Only run pixel if it exists, mainly for N2
if [ -f "/storage/.emulationstation/scripts/pixel.sh" ]; then
/storage/.emulationstation/scripts/pixel.sh
fi

CFG="/emuelec/scripts/setres.sh"
PAT="s|\s*MODE=\(.*\)|\1|p"
MODE=$(sed -n "$PAT" "$CFG")

if [ "$MODE" = "\`cat /sys/class/display/mode\`;" ]; then
MODE=`cat /sys/class/display/mode`;
fi

BPP=16

case "$MODE" in
"480p60hz")
    echo 480p60hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 720 480 720 960 $BPP
    ;;
"576p50hz")
    echo 576p50hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 720 576 720 1152 $BPP
    ;;
"720p60hz")
    echo 720p60hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    ;;
"720p50hz")
    echo 720p60hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    ;;
"1080p60hz")
    if [ "$1" = "ES" ]; then
        echo 720p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    else
        echo 1080p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1920 1080 1920 2160 $BPP
    fi
    ;;
"1080i60hz")
    if [ "$1" = "ES" ]; then
        echo 720p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    else
        echo 1080i60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1920 1080 1920 2160 $BPP
    fi
    ;;
"1080i50hz")
    if [ "$1" = "ES" ]; then
        echo 720p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    else
        echo 1080i60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1920 1080 1920 2160 $BPP
    fi
    ;;
"1080p50hz")
    if [ "$1" = "ES" ]; then
        echo 720p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    else
        echo 1080p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1920 1080 1920 2160 $BPP
    fi
    ;;
"480cvbs")
    echo 480p60hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 1280 960 1280 1920 $BPP
    fbset -fb /dev/fb1 -g $BPP $BPP $BPP $BPP $BPP
    echo 0 0 1279 959 > /sys/class/graphics/fb0/free_scale_axis
    echo 30 10 669 469 > /sys/class/graphics/fb0/window_axis
    echo 640 > /sys/class/graphics/fb0/scale_width
    echo 480 > /sys/class/graphics/fb0/scale_height
    echo 0x10001 > /sys/class/graphics/fb0/free_scale
    ;;
"576cvbs")
    echo 576p50hz > /sys/class/display/mode
    fbset -fb /dev/fb0 -g 1280 960 1280 1920 $BPP
    fbset -fb /dev/fb1 -g $BPP $BPP $BPP $BPP $BPP
    echo 0 0 1279 959 > /sys/class/graphics/fb0/free_scale_axis
    echo 35 20 680 565 > /sys/class/graphics/fb0/window_axis
    echo 720 > /sys/class/graphics/fb0/scale_width
    echo 576 > /sys/class/graphics/fb0/scale_height
    echo 0x10001 > /sys/class/graphics/fb0/free_scale
    ;;
*)
    if [ "$1" = "ES" ]; then
        echo 720p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1280 720 1280 1440 $BPP
    else
        echo 1080p60hz > /sys/class/display/mode
        fbset -fb /dev/fb0 -g 1920 1080 1920 2160 $BPP
    fi
    ;;
esac

cd /storage/.emulationstation/scripts/drastic/
./drastic "$1"

Last update: 2020-05-22 09:21:41 UTC