Linux on intel galileo

galileo-debian

This project provides packages and an SD card image for Debian for the Intel Gellileo boards (both Gen 1 and Gen2). Aside from the board specific kernel and some configuration that is unique to this board, the rest of the image is normal Debian Wheezy for i386.

Project Activity

Categories

Follow galileo-debian

For Manufacturing teams, IT teams, software and product teams, and agile teams

For teams looking to improve their productivity and performance, LiquidPlanner offers the right solution. LiquidPlanner is a dynamic online project management software for businesses looking to thrive and succeed in competitive industries. Affordable and feature-packed, LiquidPlanner revolutionizes project management with its robust set of tools, such as smart schedules, resource management, cross-project visibility, contextual collaboration, integrated time tracking, and advanced analytics.

User Ratings

User Reviews

Thanks, but due to a critical CPU bug please note that there is a problem in libpthread/libstdc++ that needs recompilation with «-momit-lock-prefix» and maybe also -with-cpu=i386 The bug leads to segfaults in threaded code and is described in some detail in bugs.debian.org/cgi-bin/bugreport.cgi?bug=738575 and also described on «Intel Quark SoC X1000 Software: Release Notes» page 22.

Just in case anyone is wondering the username is root and password is root. I couldn’t find it anywhere. No Problem’s so far with the os

I have successfully but not thoroughly tested automatically booting this image. The galileo as near as I can tell does not like grub2 or UUID. here’s what I did: I created a 100mb fat (and marked it boot-able) and made the rest of the sd card a ext3. I copied the data to the ext3 partition like what is on the image, basically to get rid of the UUID stuff. I created /boot/grub/grub.conf on the fat partition with this in the file: timeout 3 title debian root (hd0,1) kernel /boot/vmlinuz-3.8.7 root=/dev/mmcblk0p2 console=ttyS1,115200n8 earlycon=uart8250,mmio32,0x9000b000,115200n8 reboot=efi,warm apic=debug rw rootwait quiet and it boots. Hope that helps getting thing rolling for others. Now that I have this rolling I will test it more.

Читайте также:  Лучший дистрибутив linux gnome

Additional Project Details

Operating Systems

Registered

BunsenLabs Linux Lithium is a distribution offering a light-weight and easily customizable Openbox desktop. The project is a community continuation of CrunchBang Linux. The current release is derived from Debian 10. The distribution consists of configuration and resource packages installed on.

Debian is distributed freely over Internet. This page has options for installing Debian Stable. If you are interested in Testing or Unstable, visit our releases page. Many of the vendors sell the distribution for less than US$5 plus shipping (check their web page to see if they ship.

Heimdal® Endpoint Detection and Response is our proprietary multi-solution service providing unique prevention, threat-hunting, and remediation capabilities. It combines some of the most advanced threat-hunting technologies: — Next-Gen Antivirus — Privileged Access Management — Application.

Источник

Запускаем ванильное ядро на Intel Galileo

Не сомневаюсь, что большинство пользователей Intel Galileo задаётся вопросом, когда же наконец можно будет обновить ядро?

Недавно Linus Torvalds поставил метку на репозиторий ядра с текущей версией 4.0-rc3. Как он сам написал, версия ничего не значит, хотя именно для нашего сегодняшнего случая она значит очень многое, а именно то, что с этого момента счастливые обладатели плат на базе Intel Quark SoC могут попробовать запустить новое ядро безо всяких дополнительных патчей.

Давайте разберёмся как этого достичь. В качестве начальных условий предполагается наличие платы Intel Galileo с прошитой на ней по умолчанию системой на базе Yocto и загрузчиком grub.

Все описанные ниже действия предполагается выполнять на рабочем ноутбуке или десктопе.

Подготовка ядра

Прежде всего нам нужно ядро, которое с лёгкостью достаётся из репозитория (нам нужна конкретная версия 4.0-rc3):

mkdir ~/devel cd ~/devel git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd ~/devel/linux git checkout v4.0-rc3 

Необходимо внести несколько минимальных правок в конфигурацию по умолчанию, а именно в файл arch/x86/configs/i386_defconfig. Ведь мы же помним, что процессор 32-разрядный, да ещё с особенностями!

Читайте также:  Prtg установка на linux

Итак, было (удаляем строки из файла):

Стало (добавляем строки в файл):

# CONFIG_DRM_I915 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_M586TSC=y
CONFIG_X86_INTEL_QUARK=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_EFI_STUB=y
CONFIG_EARLY_PRINTK_EFI=y
CONFIG_PM_RUNTIME=y
CONFIG_SERIAL_8250_PCI=y

Остальные параметры остались в неизменном виде.

make i386_defconfig make -j4 

Результатом будет файл arch/x86/boot/bzImage.

Подготовка образа корневой системы

Чтобы сильно не заморачиваться, воспользуемся дистрибутивом Buildroot.

Скачиваем его из репозитория, выбираем последний релиз (2015.02):

cd ~/devel git clone git://git.buildroot.net/buildroot cd ~/devel/buildroot git checkout 2015.02 

# Misc
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
BR2_TARGET_GENERIC_GETTY_PORT=«ttyS1»

# Root FS
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_BZIP2=y

# Packages
BR2_PACKAGE_KEXEC=y
BR2_PACKAGE_KEXEC_ZLIB=y
BR2_PACKAGE_LRZSZ=y
BR2_PACKAGE_SCREEN=y
BR2_PACKAGE_PCIUTILS=y
BR2_PACKAGE_DMIDECODE=y
BR2_PACKAGE_BUSYBOX_WATCHDOG=y

Собираем initrd парой команд:

make galileo_defconfig make 

В итоге мы получим файл output/images/rootfs.cpio.bz2.

Упаковываем результаты на micro SD

Подготовим micro SD карту 64Мб или больше (предположим, что на ней уже создана таблица разделов):

mkfs.vfat /dev/sdc1 udisks --mount /dev/sdc1 Mounted /org/freedesktop/UDisks/devices/sdc1 at /media/FB87-F683 

И скопируем полученные ранее файлы:

cp ~/devel/linux/arch/x86/boot/bzImage /media/FB87-F683/vmlinuz.efi cp ~/devel/buildroot/output/images/rootfs.cpio.bz2 /media/FB87-F683/initrd mkdir -p /media/FB87-F683/boot/grub 

title Linux on Intel Galileo
root (hd0,0)
kernel /vmlinuz.efi console=ttyS1,115200n8
initrd /initrd


[ 14.632322] mount (853) used greatest stack depth: 6968 bytes left
[ 14.668185] mkdir (856) used greatest stack depth: 6940 bytes left
[ 14.694005] mount (858) used greatest stack depth: 6908 bytes left
Starting logging: OK
Starting mdev…
[ 15.739672] mdev (869) used greatest stack depth: 6904 bytes left
Starting watchdog…
Initializing random number generator… [ 15.806320] random: dd urandom read with 4 bits of entropy available
done.
Starting network…
[ 15.862745] ip (887) used greatest stack depth: 6304 bytes left
[ 15.886757] ip (889) used greatest stack depth: 5824 bytes left
Starting udhcpc…

Welcome to Buildroot
buildroot login: root
# uname -a
Linux buildroot 4.0.0-rc3+ #35 Mon Mar 9 19:26:19 EET 2015 i586 GNU/Linux

Вуаля!

В качестве бонуса список следующих действий и опций конфигурации ядра для поддержки различного оборудования.

Включаем SDHCI, USB gadget, ethernet, GPIO SCH, watchdog:

CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_USB_GADGET=y
CONFIG_USB_EG20T=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PCI=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SCH=y
CONFIG_IE6XX_WDT=y

Для включения SPI понадобится патч:

--- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -499,6 +499,7 @@ config X86_INTEL_QUARK depends on X86_IO_APIC select IOSF_MBI select INTEL_IMR + select COMMON_CLK ---help--- Select to include support for Quark X1000 SoC. Say Y here if you have a Quark based system such as the Arduino 

Для I2C и GPIO необходимо приложить патч с драйвером и корректирующее исправление, что представлено ниже:

--- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -148,8 +148,7 @@ config GPIO_GENERIC_PLATFORM config GPIO_DWAPB tristate "Synopsys DesignWare APB GPIO driver" - depends on ARM - depends on OF_GPIO + depends on (ARM && OF_GPIO) || X86_INTEL_QUARK select GPIO_GENERIC select GENERIC_IRQ_CHIP help 

# lspci -nk
00:00.0 0600: 8086:0958
Subsystem: 8086:095e
Kernel driver in use: iosf_mbi_pci
00:14.0 0805: 8086:08a7 (rev 10)
Subsystem: 8086:08a7
Kernel driver in use: sdhci-pci
00:14.1 0700: 8086:0936 (rev 10)
Subsystem: 8086:0936
Kernel driver in use: serial
00:14.2 0c03: 8086:0939 (rev 10)
Subsystem: 8086:0939
Kernel driver in use: pch_udc
00:14.3 0c03: 8086:0939 (rev 10)
Subsystem: 8086:0939
Kernel driver in use: ehci-pci
00:14.4 0c03: 8086:093a (rev 10)
Subsystem: 8086:093a
Kernel driver in use: ohci-pci
00:14.5 0700: 8086:0936 (rev 10)
Subsystem: 8086:0936
Kernel driver in use: serial
00:14.6 0200: 8086:0937 (rev 10)
Subsystem: 8086:0937
Kernel driver in use: stmmaceth
00:14.7 0200: 8086:0937 (rev 10)
Subsystem: 8086:0937
Kernel driver in use: stmmaceth
00:15.0 0c80: 8086:0935 (rev 10)
Subsystem: 8086:0935
Kernel driver in use: pxa2xx_spi_pci
00:15.1 0c80: 8086:0935 (rev 10)
Subsystem: 8086:0935
Kernel driver in use: pxa2xx_spi_pci
00:15.2 0c80: 8086:0934 (rev 10)
Subsystem: 8086:0934
Kernel driver in use: intel_quark_mfd_i2c_gpio
00:17.0 0604: 8086:11c3
Kernel driver in use: pcieport
00:17.1 0604: 8086:11c4
Kernel driver in use: pcieport
00:1f.0 0601: 8086:095e
Subsystem: 8086:095e
Kernel driver in use: lpc_sch

# cat /proc/interrupts
CPU0
0: 113 IO-APIC-edge timer
8: 1 IO-APIC-edge rtc0
9: 0 IO-APIC-fasteoi acpi
16: 31 IO-APIC 16-fasteoi pxa2xx-spi.168, ohci_hcd:usb2, mmc0
17: 255 IO-APIC 17-fasteoi pxa2xx-spi.169, serial
18: 0 IO-APIC 18-fasteoi i2c_designware, gpio-dwapb-mfd, pch_udc
19: 0 IO-APIC 19-fasteoi ehci_hcd:usb1

Источник

Оцените статью
Adblock
detector