Existe alguma imagem do Ubuntu que é adequada para 8GB Cubox-i4 que está trabalhando no processador ARM?

0

Estou feliz que alguém da comunidade possa me ajudar no tópico acima. Atualmente, eu tenho um cartão SD de 8GB e eu quero instalar qualquer DE do Ubuntu que suporte arquitetura ARM imx6. (Cubox-i4) Qualquer link que eu possa baixar as imagens? Isso ocorre porque eu tentei muitas imagens no Cubox-i4 e muitas delas são instáveis e faz com que a tela LCD pisque quando ligar.

    
por Chua Seng 02.08.2016 / 04:43

1 resposta

0

Execute o seguinte:

cd
mkdir rootfs 
debootstrap --foreign --include=vim,dialog,apt --variant=minbase --arch=armhf xenial rootfs http://ports.ubuntu.com

Depois disso, execute:

mount -o bind /dev rootfs/dev
mount -o bind /dev/pts rootfs/dev/pts
mount -t sysfs /sys rootfs/sys
mount -t proc /proc rootfs/proc
cp /proc/mounts rootfs/etc/mtab
chroot rootfs

Agora, no chroot , execute:

/debootstrap/debootstrap --second-stage
localedef -i en_XX -c -f UTF-8 en_XX.UTF-8 #replace XX with your country code
dpkg-reconfigure locales
dpkg-reconfigure tzdata
echo utilite > /etc/hostname
echo "127.0.0.1       localhost" >> /etc/hosts
echo "
deb http://ports.ubuntu.com/ xenial main restricted universe multiverse
deb http://ports.ubuntu.com/ xenial-security main restricted universe multiverse
deb http://ports.ubuntu.com/ xenial-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ xenial-backports main restricted universe multiverse
" > /etc/apt/sources.list
dd if=/sys/bus/i2c/devices/0-0050/eeprom bs=1 count=6 skip=4 2>/dev/null | od -A "n" -t x1 # note the output of this!!!
echo "
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo eth0 
iface lo inet loopback
iface eth0 inet dhcp
iface eth1 inet dhcp
hwaddress ether put-here-the-output-of-what-you-just-noted
iface mlan0 inet dhcp
" > /etc/network/interfaces
echo "
# ttymxc3 - getty
#
# This service maintains a getty on ttymxc3

description "Get a getty on ttymxc3"

start on runlevel [2345]
stop on runlevel [016]

respawn

exec /sbin/getty -L 115200 ttymxc3
#exec /sbin/getty -l /usr/bin/autologin -n 115200 ttymxc3 
" > /etc/init/ttymxc3.conf
adduser <user>
usermod -aG adm,cdrom,sudo,plugdev <user>
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
apt-get install make gcc bc lzop ssh man sudo ntp ntpdate usbutils pciutils less lsof most sysfsutils u-boot-tools linux-firmware linux-firmware-nonfree isc-dhcp-client net-tools # DO NOT INSTALL THE LINUX KERNEL!!!
rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl
exit

Agora, de volta ao ambiente normal, execute:

cd
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --config gcc
git clone -b boundary-imx_4.1.15_1.0.0_ga git://github.com/boundarydevices/linux-imx6.git
cd boundary-imx_4.1.15_1.0.0_ga
export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.1
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
git checkout origin/boundary-imx_4.1.15_1.0.0_ga -b boundary-imx_4.1.15_1.0.0_ga
make nitrogen6x_defconfig
make uImage modules
INSTALL_MOD_PATH=~/rootfs make modules_install
INSTALL_MOD_PATH=~/rootfs make firmware_install
INSTALL_MOD_PATH=~/rootfs make headers_install
# Please uncomment one the following lines below
#  imx6q-sbc-fx6m.dtb: is used by the Utilite Pro
#  imx6dl-sbc-fx6m.dtb: is used by the Utilite Standard 
#cat arch/arm/boot/zImage arch/arm/boot/dts/imx6q-sbc-fx6m.dtb > /tmp/zImage-cm-fx6
#cat arch/arm/boot/zImage arch/arm/boot/dts/imx6dl-sbc-fx6m.dtb > /tmp/zImage-cm-fx6
mkimage -A arm -O linux -T kernel -C none -a 0x10008000 -e 0x10008000 -n 3.10.17-cm-fx6-1-beta4-aufs -d /tmp/zImage-cm-fx6 /boot/uImage-cm-fx6
rm -f /tmp/zImage-cm-fx6

Finalmente! Estamos quase terminando.

Conecte a porta frontal do seu Cubox ao seu computador. Agora corra:

sudo mount /dev/ttymxc3 /mnt
cd ~/rootfs
tar --numeric-owner –cpjf ~/xenial.tar.bz2 *

O comando acima irá demorar séculos.

Versões mais antigas do firmware do U-Boot requerem uma partição vfat para carregar a imagem do kernel. Então você tende a ter uma pequena partição vfat contendo apenas as imagens do kernel e uma grande partição ext4 para o resto. Na plataforma ARM, a primeira partição geralmente começa no setor 2048, reservando espaço suficiente se você quiser colocar o firmware do U-Boot no uSD posteriormente. Na plataforma do PC, você pode verificar isso quando criar o esquema de particionamento:

echo -e "n\np\n1\n\n+100M\na\n1\nt\nc\nn\np\n2\n\n\nw\neof\n" | fdisk /dev/ttymxc

Se você atualizou o firmware e o ambiente do U-Boot, você não precisa mais ter duas partições separadas. Basta criar uma grande partição ext4 .

Executar como root:     mkfs.vfat -n boot / dev / ttymxc1 # se você precisar de uma partição     mkfs.ext4 -O ^ has_journal -E stride = 2, stripe-width = 1024 -b 4096 -L rootfs / dev / ttymxc2 # muda os últimos 2 para 1 se você não precisa de uma partição gorda

mount /dev/ttymxc2 /mnt # change the last 2 to 1 if you didn't need a fat partition
mkdir /mnt/boot 
mount /dev/ttymxc1 /mnt/boot # exclude this if you didn't need a fat partition
tar --numeric-owner –xpjf ~/trusty.tar.bz2 –C /mnt
sync
cp ~/boundary-imx_4.1.15_1.0.0_ga/arch/arm/boot/uImage /mnt/boot/uImage-cm-fx6_3.0.35-6.1
sync
umount /mnt
umount /mnt/boot

Finalmente. Nós terminamos !!!

Esta resposta levou-me as idades para a direita e, se tiver algo errado, POR FAVOR, edite-a para corrigir isso.

    
por ubashu 02.08.2016 / 07:27