SkillAgentSearch skills...

Sml482hd

Debian GNU/Linux (Wheezy) boot proccess on TV-Box SML 482 HD

Install / Use

/learn @sw3nlab/Sml482hd
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

SML 482 HD Debian GNU/Linux (Wheezy) boot proccess.

Описание процесса запуска Debian GNU/Linux (Wheezy) на ТВ приставке SML 482 HD.

(0) ЧТОБЫ НЕ ПОПАСТЬ В НЕЛОВКУЮ СИТУАЦИЮ, НАСТОЯТЕЛЬНО РЕКОМЕНДУЕМ СДЕЛАТЬ БЭКАП ДЕФОЛТНОГО КОНФИГА CFE> ЗАГРУЗЧИКА

image

Вариант (1):

<details> <summary> <b> Загрузка с Флешки (с ядром sml) /Boot from usb flash drive (sml kernel)</b> </summary>
0) Разметка флешки 4Gb
  • размечать удобнее утилитой gparted
  • для быстродейтвия системы (операции чтение/запись) лучше подходят флеш накопители 10 класса
  • bootloader CFE не видит накопители с GPT , необходимо предварительно преобразовать GPT в MBR утилитой gdisk
[===== Primary =====|===================Extended==================]
[===================|=============================================]
[=====50Mb FAT16====|================ 3.95Gb (EXT2) ==============] 
[=======[sml]=======|================== [rootfs] =================]
1) Сборка файловой системы
  sudo apt-get install binfmt-support qemu qemu-user-static debootstrap bzip2
  sudo debootstrap --arch=mipsel --no-check-gpg wheezy rootfs http://archive.debian.org/debian/
2) монтирование файловой системы, установка пароля, установка ssh и иксов
sudo mount -t proc proc rootfs/proc
sudo mount -t sysfs sysfs rootfs/sys
sudo mount -o bind /dev rootfs/dev
sudo mount --bind /dev/pts/ rootfs/dev/pts/
sudo cp /usr/bin/qemu-mipsel-static rootfs/usr/bin/
sudo chroot rootfs /bin/bash

root@debian# passwd root
root@debian# apt-get update 
root@debian# apt-get install openssh-server
root@debian# apt-get install xorg lxde-core lightdm
root@debian# exit

sudo umount rootfs/proc
sudo umount rootfs/sys
sudo umount rootfs/dev/pts
sudo umount rootfs/dev
.......
3) копируем ядро sml на флешку в главный раздел primary (50Mb fat16),

а файловую систему rootfs в расширеный раздел (3.95Gb ext2) !

sudo cp sml /media/USER/FLASH_DRIVE_FAT16
cd rootfs
sudo cp -a * /media/USER/FLASH_DRIVE_EXT2

Подключаемся к приставке по UART (останавливаем загрузку CTRL+I) и меняем директивы бутлоадера CFE на:

CFE> setenv -p STARTUP "show_logo; cls; sleep 3000; boot -z -elf usbdisk0:sml"
CFE> reboot
перезагружаем приставку
</details>

Вариант (2):

<details> <summary> <b> Загрузка по сети (с ядром zImage) / Boot from Lan (zImage kernel) </b> </summary>

Необходимые шаги:

  • (0) Собрать файловую систему (rootfs) и зарузить вместе с ядром (zImage) на хост (192.168.2.1)
  • (1) Поднять и настроить TFTP сервер и NFS сервер на Linux хосте или роутере (Для примера: 192.168.2.1).
  • (2) Настроить загрузчик SML482HD (CFE) на загрузку ядра и файловой системы с хоста.

(0) Cборка файловой системы rootfs Собираем от root'a командой: sudo debootstrap --arch=mipsel --no-check-gpg rootfs http://archive.debian.org/debian/

Собраную фс пакуем:

sudo tar -cvzf wheezy-roofs.tar.gz rootfs

Загружаем и распаковываем на NFS сервере (192.168.2.1)

tar -xvzf wheezy-rootfs.tar.gz

(1) Установка и настройка NFS сервера:

opkg update
opkg install nfs-kernel-server
vi /etc/exports
/nfs/smart_nfs/ *(rw,insecure,no_root_squash,subtree_check)
/etc/init.d/nfs start

проверить работоспособность NFS можно примонтировав свежезалитую rootfs к себе:

mount -t nfs 192.168.2.1:/nfs/wheezy-rootfs/ /home

(1.1) Настройки TFTP сервера для роутера на базе OpenWRT/LEDE:

https://github.com/alghanmi/openwrt_netgear-wndr3700/wiki/TFTP-Server-on-Your-OpenWRT-Router

uci set dhcp.@dnsmasq[0].enable_tftp=1
uci set dhcp.@dnsmasq[0].tftp_root=/mnt/storage/tftp
uci set dhcp.@dnsmasq[0].dhcp_boot=pxelinux.0
#Commit changes
uci commit dhcp
#Restart Dnsmasq
/etc/init.d/dnsmasq restart

(2) Подключаемся к UART приставки и останавливаем загрузку: CTRL+i Проверяем переменную окружения STARTUP .

CFE> printenv

Заменяем старое значение:

show_logo;cls;boot -z -elf nandflash0.kernel:||boot -z -elf nandflash0.backup_kernel:||boot -z -elf flash0.ro_kernel:||boot -z -elf 192.168.2.1:zImage

на загрузку из сети:

CFE>setenv -p STARTUP "show_logo;cls;boot -z -elf 192.168.2.1:zImage"

!!! функция show_logo необходима для дальнейшей инициализации графики без неё не стартанут иксы ;(

Перезагружаем SML:

CFE>reboot

Видим лог загрузки ядра... если не видим значит стоит проверить настройки TFTP сервера на хосте.

После загрузки ядра следует выбрать , загрузку файловой системы из NFS нажав 1 и указать адрес сервера и путь к файловой системе

NFS SERVER IP:192.168.2.1
NFS PATH:/nfs/wheezy-rootfs/
y/N: y

Если загрузка прошла успешно, но всё зависло без приглашения на ввод пароля, то в собраной файловой системе следует внести изменения в файл /etc/inittab Заменить следующую строку:

# The default runlevel.
id:2:initdefault:

На:

# The default runlevel.
id:1:initdefault:

После ребута система загрузится в однопользовательском режиме. После этого можно стартовать иксы, ssh и загружать prboom

screen -q
startx
ctrl+a+d
/etc/init.d/ssh start

и

apt-get update
apt-get install prboom

image image

</details>

После установки нужно установить пакет ntp для синхронизации времени

SML@debian#apt-get install ntp ntpdate
SML@debian#service ntp stop
SML@debian#ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
SML@debian#ntpdate NTP_SERVER_IP
SML@debian#service ntp start
SML@debian#date

и обновить сертификаты : update-ca-certificates --fresh

=========================

  • Сборка собственного ядра / Cross compile from source: https://github.com/sw3nlab/sml482hd/tree/master/manual_kernel_cross_compile

  • Обновление до Debian Jessie / Jessie Update: <br/> https://github.com/sw3nlab/sml482hd/tree/master/Jessie_update

  • Научные распределённые вычисления на ТВ-приставке: <br/> https://github.com/sw3nlab/sml482hd/tree/master/Jessie_update/Distributed_computing

  • Вопросы/Предложения:<br/> https://discord.com/invite/vcUt6kP

pull-риквесты с мануалами по сборке и запуску интересного софта приветствуются !<br/> Донаты направляйте в благотворительные организации в вашей локации... =) Линк На случай отвала гитхаба: https://dzen.ru/cyberunit

View on GitHub
GitHub Stars25
CategoryDevelopment
Updated19d ago
Forks3

Security Score

90/100

Audited on Mar 16, 2026

No findings