The document describes building a small embedded Linux kernel for the DaVinci DM644x Digital Evaluation Module (DVEVM).
1) The kernel is configured to select drivers for Ethernet, UART, and a TCP/IP stack while disabling unnecessary drivers.
2) The kernel is compiled to generate a uImage file stored in flash.
3) An initial RAM disk file system is built containing busybox, initscripts, and networking packages to support an HTTP server.
The document discusses how to add Linux support for a new board. It covers customizing hardware design from a reference design, adding board support code for the bootloader and Linux kernel, and building a custom user-space distribution. The key steps involve customizing the hardware design, porting the bootloader (AT91Bootstrap and U-Boot), adding board support to the Linux kernel, and using a build system like OpenEmbedded to create a custom user-space distribution.
This document provides information and instructions for preparing to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. It begins with an overview of the exam topics and their weights. It then covers compiling, patching, and customizing the Linux kernel, which has the highest topic weight of 5. The document provides detailed instructions on obtaining kernel sources, configuring, compiling, and installing a new kernel. It also covers creating initial ramdisk images and obtaining and applying kernel patches.
This document describes how to configure a router running OpenWrt. It covers getting started, installing and initial configuration. It also provides details on configuring the network and wireless settings in OpenWrt, including IPv4, IPv6 and switch configuration. Advanced configuration topics like hotplug, init scripts and network scripts are also outlined.
QNX is a commercial real-time operating system used primarily in embedded systems. It was developed in the 1980s and was acquired by BlackBerry in 2010. QNX uses a microkernel architecture and has been used in vehicles, mobile phones, and other devices. It provides features like distributed processing, multitasking, a file system manager, and an improved graphical user interface. QNX is installed using installation media and guides the user through setting up partitions and copying files to the hard disk.
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorSatya Harish
This document summarizes the work done by Linaro, Qualcomm, and eInfochips to enable Ubuntu Linux on the Qualcomm Snapdragon 600 processor. It discusses the Linaro Ubuntu developer releases that provide multimedia hardware acceleration. It also describes eInfochips' video conferencing solution built on these releases using Gstreamer, SIP, and a QT5-based GUI to enable low-latency audio and video calls on Snapdragon devices.
This document provides release notes for Cambium Network Updater Release 4.0. Key features of Release 4.0 include improved support for secure file serving, an MD5 checksum utility, and support for Windows 7 and additional Cambium device firmware versions. The release also requires Java Runtime Environment 1.5 or later and supports installation on Windows 2000/2003/XP/7 and Red Hat Enterprise Linux 4 and 5.
The document outlines a Linux design guide for the Fujitsu PRIMEQUEST 2000 server series, providing an overview of Red Hat Enterprise Linux features and supported software, and describing designs for Linux system installation, security, disk and network operations, device naming, log files, and crash dumps. It also covers high availability designs using software RAID, network redundancy, and clustering.
This document provides an introduction to writing Linux kernel modules and device drivers. It discusses the structure of the Linux kernel, including the system call interface, kernel subsystems, and architecture-dependent code. It also describes kernel modules, the different types of device drivers (character, block, network), and the layered driver model in Linux. Finally, it provides an example of a "Hello World" kernel module to demonstrate the basic structure of a module and compiling it.
The document discusses how to add Linux support for a new board. It covers customizing hardware design from a reference design, adding board support code for the bootloader and Linux kernel, and building a custom user-space distribution. The key steps involve customizing the hardware design, porting the bootloader (AT91Bootstrap and U-Boot), adding board support to the Linux kernel, and using a build system like OpenEmbedded to create a custom user-space distribution.
This document provides information and instructions for preparing to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 201. It begins with an overview of the exam topics and their weights. It then covers compiling, patching, and customizing the Linux kernel, which has the highest topic weight of 5. The document provides detailed instructions on obtaining kernel sources, configuring, compiling, and installing a new kernel. It also covers creating initial ramdisk images and obtaining and applying kernel patches.
This document describes how to configure a router running OpenWrt. It covers getting started, installing and initial configuration. It also provides details on configuring the network and wireless settings in OpenWrt, including IPv4, IPv6 and switch configuration. Advanced configuration topics like hotplug, init scripts and network scripts are also outlined.
QNX is a commercial real-time operating system used primarily in embedded systems. It was developed in the 1980s and was acquired by BlackBerry in 2010. QNX uses a microkernel architecture and has been used in vehicles, mobile phones, and other devices. It provides features like distributed processing, multitasking, a file system manager, and an improved graphical user interface. QNX is installed using installation media and guides the user through setting up partitions and copying files to the hard disk.
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorSatya Harish
This document summarizes the work done by Linaro, Qualcomm, and eInfochips to enable Ubuntu Linux on the Qualcomm Snapdragon 600 processor. It discusses the Linaro Ubuntu developer releases that provide multimedia hardware acceleration. It also describes eInfochips' video conferencing solution built on these releases using Gstreamer, SIP, and a QT5-based GUI to enable low-latency audio and video calls on Snapdragon devices.
This document provides release notes for Cambium Network Updater Release 4.0. Key features of Release 4.0 include improved support for secure file serving, an MD5 checksum utility, and support for Windows 7 and additional Cambium device firmware versions. The release also requires Java Runtime Environment 1.5 or later and supports installation on Windows 2000/2003/XP/7 and Red Hat Enterprise Linux 4 and 5.
The document outlines a Linux design guide for the Fujitsu PRIMEQUEST 2000 server series, providing an overview of Red Hat Enterprise Linux features and supported software, and describing designs for Linux system installation, security, disk and network operations, device naming, log files, and crash dumps. It also covers high availability designs using software RAID, network redundancy, and clustering.
This document provides an introduction to writing Linux kernel modules and device drivers. It discusses the structure of the Linux kernel, including the system call interface, kernel subsystems, and architecture-dependent code. It also describes kernel modules, the different types of device drivers (character, block, network), and the layered driver model in Linux. Finally, it provides an example of a "Hello World" kernel module to demonstrate the basic structure of a module and compiling it.
This document discusses IBM's virtualization technology for System p servers. It provides an overview of logical partitioning (LPAR), micro-partitioning, and dynamic LPAR capabilities. It also describes virtual I/O technologies like virtual SCSI and virtual Ethernet that allow sharing of network and storage devices between partitions. The document notes that these virtualization features help optimize resource utilization and reduce hardware costs through server consolidation.
AIX 6.1 introduces several new security features including role-based access control (RBAC) which allows privileged tasks to be delegated to non-privileged users. It also includes an encrypted filesystem that encrypts data for protection and an updated security tool called AIX Security Expert for centralized security management. The document discusses these features and others such as the new secure by default installation option and systems director console.
The needs for immediate responsiveness of VMs in the virtualized environments have been on the rise. Several services in SKT also require soft realtime support for virtual machines to substitute the physical machines to achieve high utilization and adaptability. However, consolidated multiple OSes and irregular external events might render the hypervisor infringe on a VM's promptitude. As a solution of this problem, we are improving Xen's credit scheduler by introducing the RT_PRIORITY that guarantees a VM's running at any given point in time as long as credits remains to be burn. It would increase the quality of service and make a VM's behavior predictable on the consolidated environment. In addition, we extend our suggestion to the multi-core environment and even a large number of physical machines by using live migrations.
Divya Balguna is seeking assignments in Linux embedded software development and customization. She has 5 years of experience in Linux BSP development for embedded systems using embedded C. She has experience porting Linux kernels to PowerPC and ARM processors, including bringing up boards from boot to application start. She is proficient in tools like U-Boot, CodeWarrior, and Lauterbach emulators and has worked on projects involving devices like memory and I/O, as well as technologies like PCI and Serial RapidIO.
This document provides an overview of several topics in the semiconductor industry, including PlayReady digital rights management, the PC booting process, UEFI BIOS, graphics output protocol (GOP), storage architectures, solid state drives (SSDs), M.2 form factor drives, and NVMe SSDs. It discusses PlayReady DRM concepts, the steps in legacy and UEFI booting processes, differences between UEFI and legacy BIOS, functions of the GOP, SSD architectures including NAND-based and DRAM-based types, differences between M.2 SATA and PCIe SSDs, M.2 SSD architecture, and basic information about the NVMe protocol.
This document provides a guide for setting up the basic functions of MikroTik RouterOS V2.6 on a dedicated PC router. It describes downloading and installing the software, obtaining a software license, logging in, adding packages, and navigating the terminal console. It also covers accessing the router remotely using Winbox, configuring basic functions like interfaces and routing, and provides application examples for masquerading, bandwidth management, and NAT.
Red hat enterprise_linux-5.5-release_notes-en-usDuong Hieu
This document provides release notes for Red Hat Enterprise Linux 5.5 that summarize new features and enhancements in this minor release. Highlights include hardware enablement for new Intel and AMD processors, improved virtualization support such as multiple 10 GigE SR-IOV cards and automatic hugepages usage, and updates to applications like OpenOffice and Samba. Installation and kickstart have been enhanced with additional NFS mount options, FTP server support, and improved error reporting. Device drivers, storage, and tools are also updated.
The company currently uses 50 Windows XP computers and needs to upgrade its network. The report recommends installing Windows Server 2003, 2 Cisco switches, a Cisco router, additional hardware, and providing user training. This will connect the company's intranet to the internet, create a secure network, and cost approximately $17,382. User training will help employees learn the new system and take place in small groups.
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
Building an embedded Linux platform is like a puzzle; placing the suitable software components in the right positions will constitute an optimal platform. However, selecting suitable components is difficult since it depends on different application scenarios. The essential components of an embedded Linux platform include the bootloader, Linux kernel, toolchain, root filesystem; it also needs the tools for image generation, upgrades, and testing. There are abundant resources in the Linux ecosystem with these components and tools; however, selecting the suitable modules and tools is still a key challenge for system designers.
The document discusses Cisco Unified Communications Manager (CUCM) 9.x licensing, including the User Count Tool (UCT) and Enterprise License Manager (ELM). The UCT allows customers to determine licensing needs for upgrading to CUCM 9.0 from previous versions. The ELM centrally manages licenses for CUCM and other UC products. Licenses are node-locked to the ELM and issued based on reported usage. The ELM helps customers stay compliant by tracking usage and license availability.
American Megatrends (AMI) Embedded software company focused on Embedded OS porting and Validation Services for the “Platform bring-up” and this moment we are aggressively pushing our services to enable customers with our Embedded OS Porting and Validation Services for the various Embedded-OS-es they need support for.
I would appreciate if you could help us accelerate our services by referring some of your requirement which will need our services.
Our experience in the Embedded Devices :
(1) MeeGo, Chrome OS, WinCE 6.0 & Embedded Linux, Home Server Porting and Validation Services for “Intel’s PineView Platform”.
(2) Windows* 7 Embedded Standard, Windows* XP Embedded, Meego, Android, Chromium Porting and Validation Services for “Intel’s Cougar Point Platform”.
(3) Driver Development for USB, Ethernet, PCI, PCI-X, RAID, Modem & Network Interface Cards
(4) UEFI compliant BIOS/Boot loader for the ARM Platform
(5) Linux and Windows Driver (2000, XP, Vista)Development Services
(6) Firmware Development Services (ARM, MIPS, TI OMAP, Xilinx…………….)
(7) Android Porting and Application Development for Mobile & Embedded Devices
(8) PC and Server Diagnostics for UEFI and Legacy environment (http://www.amiindia.co.in/diagnostic.html )
(9) Embedded XP (XPe) Development Services
(10) WinCE / Windows Mobile Embedded & Applications Software Development Services
Services specific to the computing domain:
(2) Pre-boot Applications
(3) Option ROM Customisation & Development
(4) IPMI, Service Processor and Remote Management (http://www.ami.com/serviceprocessors/)
(5) Extense on Custom Drivers in Windows and Linux.
American Megatrends
Email.: sunilp@amiindia.co.in
Mobile.: +91 96000 10071
Tel.: +91 44 66540922 Extn: 112
This document summarizes several attacks against platform firmware and secure boot. It describes attacks that modify the platform key in NVRAM to disable secure boot, modify the image verification policies to bypass signature checks, exploit confusion between PE and TE file formats to skip signature verification, and corrupt the "Setup" UEFI variable to potentially brick the system. The attacks demonstrate vulnerabilities in how some firmware implementations store and handle sensitive secure boot configuration data in non-volatile variables.
The document discusses tools for deploying Informix instances, including the Informix Deployment Assistant (DA) and Informix Deployment Utility (DU). The DA allows users to create snapshots of Informix instances and data for deployment on other computers. The DU is then used to rapidly deploy the packaged instances. Key points covered include the components and usage of each tool, as well as limitations such as difficulty deploying production instances or supporting raw devices. The configuration file used by the DU to customize deployments is also described.
Windows 7 and Windows Server 2008 R2 SP1 OverviewAmit Gatenyo
Windows 7 and Windows Server 2008 R2 SP1 include new features such as Dynamic Memory and RemoteFX. Dynamic Memory allows virtual machines to dynamically adjust their memory usage based on demand, improving consolidation ratios. RemoteFX enables 3D graphics and rich media experiences for remote desktop sessions using host-side rendering. Other changes in SP1 include enhancements to DirectAccess and support for increased authentication traffic on domain controllers.
This document provides best practices for installing Sophos Endpoint Security and Control on-premise. It discusses what software is included, features that require planning like installation locations, update management, and role-based administration. It then describes the installation process and considerations for a single-site network, including deploying management and client software, setting up roles, and designing an update structure tailored to the network size and types of computers.
The document discusses maintaining and troubleshooting Windows operating systems. It covers using utilities for file and disk management, performing backups and restores, identifying different types of errors, and methods for recovering a damaged Windows installation, such as system restore utilities, safe mode, and recovery console.
This document provides an overview and syllabus for an AIX System Administration class that will take place over 5 days from 9:30am to 5:30pm. The class will cover topics such as Unix and AIX overviews, IBM POWER servers, installing the AIX operating system, and logging into the system. Hands-on experience will be provided through virtualized AIX systems on IBM POWER7 blades in the classroom lab network.
This document introduces how to write a basic "Hello, world" kernel module in Linux. It discusses making a module with a single source file, and also with multiple source files. Example code is provided for a simple module that prints a message when loaded and removed from the kernel. The document also covers makefiles used to build kernel modules.
This book provides guidance on designing and building embedded Linux systems. It introduces the topic and covers important concepts like hardware support, development tools, the Linux kernel, and root filesystem setup. The book explains how to configure, cross-compile, and install the kernel. It also describes manipulating storage devices and setting up the bootloader, networking services, and debugging tools. The goal is to help experienced embedded developers customize and use Linux in their projects without relying on third-party products.
This document provides an overview of the Linux operating system. It discusses that Linux was originally developed in 1991 as a free Unix-like kernel and has since grown significantly through contributions from open source developers worldwide. It describes Linux's origins and key characteristics, such as being free and open source, highly customizable, stable, and secure. The document also outlines popular uses of Linux including on servers, smartphones, and embedded devices, and highlights some of its major advantages over other commercial operating systems.
This document discusses IBM's virtualization technology for System p servers. It provides an overview of logical partitioning (LPAR), micro-partitioning, and dynamic LPAR capabilities. It also describes virtual I/O technologies like virtual SCSI and virtual Ethernet that allow sharing of network and storage devices between partitions. The document notes that these virtualization features help optimize resource utilization and reduce hardware costs through server consolidation.
AIX 6.1 introduces several new security features including role-based access control (RBAC) which allows privileged tasks to be delegated to non-privileged users. It also includes an encrypted filesystem that encrypts data for protection and an updated security tool called AIX Security Expert for centralized security management. The document discusses these features and others such as the new secure by default installation option and systems director console.
The needs for immediate responsiveness of VMs in the virtualized environments have been on the rise. Several services in SKT also require soft realtime support for virtual machines to substitute the physical machines to achieve high utilization and adaptability. However, consolidated multiple OSes and irregular external events might render the hypervisor infringe on a VM's promptitude. As a solution of this problem, we are improving Xen's credit scheduler by introducing the RT_PRIORITY that guarantees a VM's running at any given point in time as long as credits remains to be burn. It would increase the quality of service and make a VM's behavior predictable on the consolidated environment. In addition, we extend our suggestion to the multi-core environment and even a large number of physical machines by using live migrations.
Divya Balguna is seeking assignments in Linux embedded software development and customization. She has 5 years of experience in Linux BSP development for embedded systems using embedded C. She has experience porting Linux kernels to PowerPC and ARM processors, including bringing up boards from boot to application start. She is proficient in tools like U-Boot, CodeWarrior, and Lauterbach emulators and has worked on projects involving devices like memory and I/O, as well as technologies like PCI and Serial RapidIO.
This document provides an overview of several topics in the semiconductor industry, including PlayReady digital rights management, the PC booting process, UEFI BIOS, graphics output protocol (GOP), storage architectures, solid state drives (SSDs), M.2 form factor drives, and NVMe SSDs. It discusses PlayReady DRM concepts, the steps in legacy and UEFI booting processes, differences between UEFI and legacy BIOS, functions of the GOP, SSD architectures including NAND-based and DRAM-based types, differences between M.2 SATA and PCIe SSDs, M.2 SSD architecture, and basic information about the NVMe protocol.
This document provides a guide for setting up the basic functions of MikroTik RouterOS V2.6 on a dedicated PC router. It describes downloading and installing the software, obtaining a software license, logging in, adding packages, and navigating the terminal console. It also covers accessing the router remotely using Winbox, configuring basic functions like interfaces and routing, and provides application examples for masquerading, bandwidth management, and NAT.
Red hat enterprise_linux-5.5-release_notes-en-usDuong Hieu
This document provides release notes for Red Hat Enterprise Linux 5.5 that summarize new features and enhancements in this minor release. Highlights include hardware enablement for new Intel and AMD processors, improved virtualization support such as multiple 10 GigE SR-IOV cards and automatic hugepages usage, and updates to applications like OpenOffice and Samba. Installation and kickstart have been enhanced with additional NFS mount options, FTP server support, and improved error reporting. Device drivers, storage, and tools are also updated.
The company currently uses 50 Windows XP computers and needs to upgrade its network. The report recommends installing Windows Server 2003, 2 Cisco switches, a Cisco router, additional hardware, and providing user training. This will connect the company's intranet to the internet, create a secure network, and cost approximately $17,382. User training will help employees learn the new system and take place in small groups.
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
Building an embedded Linux platform is like a puzzle; placing the suitable software components in the right positions will constitute an optimal platform. However, selecting suitable components is difficult since it depends on different application scenarios. The essential components of an embedded Linux platform include the bootloader, Linux kernel, toolchain, root filesystem; it also needs the tools for image generation, upgrades, and testing. There are abundant resources in the Linux ecosystem with these components and tools; however, selecting the suitable modules and tools is still a key challenge for system designers.
The document discusses Cisco Unified Communications Manager (CUCM) 9.x licensing, including the User Count Tool (UCT) and Enterprise License Manager (ELM). The UCT allows customers to determine licensing needs for upgrading to CUCM 9.0 from previous versions. The ELM centrally manages licenses for CUCM and other UC products. Licenses are node-locked to the ELM and issued based on reported usage. The ELM helps customers stay compliant by tracking usage and license availability.
American Megatrends (AMI) Embedded software company focused on Embedded OS porting and Validation Services for the “Platform bring-up” and this moment we are aggressively pushing our services to enable customers with our Embedded OS Porting and Validation Services for the various Embedded-OS-es they need support for.
I would appreciate if you could help us accelerate our services by referring some of your requirement which will need our services.
Our experience in the Embedded Devices :
(1) MeeGo, Chrome OS, WinCE 6.0 & Embedded Linux, Home Server Porting and Validation Services for “Intel’s PineView Platform”.
(2) Windows* 7 Embedded Standard, Windows* XP Embedded, Meego, Android, Chromium Porting and Validation Services for “Intel’s Cougar Point Platform”.
(3) Driver Development for USB, Ethernet, PCI, PCI-X, RAID, Modem & Network Interface Cards
(4) UEFI compliant BIOS/Boot loader for the ARM Platform
(5) Linux and Windows Driver (2000, XP, Vista)Development Services
(6) Firmware Development Services (ARM, MIPS, TI OMAP, Xilinx…………….)
(7) Android Porting and Application Development for Mobile & Embedded Devices
(8) PC and Server Diagnostics for UEFI and Legacy environment (http://www.amiindia.co.in/diagnostic.html )
(9) Embedded XP (XPe) Development Services
(10) WinCE / Windows Mobile Embedded & Applications Software Development Services
Services specific to the computing domain:
(2) Pre-boot Applications
(3) Option ROM Customisation & Development
(4) IPMI, Service Processor and Remote Management (http://www.ami.com/serviceprocessors/)
(5) Extense on Custom Drivers in Windows and Linux.
American Megatrends
Email.: sunilp@amiindia.co.in
Mobile.: +91 96000 10071
Tel.: +91 44 66540922 Extn: 112
This document summarizes several attacks against platform firmware and secure boot. It describes attacks that modify the platform key in NVRAM to disable secure boot, modify the image verification policies to bypass signature checks, exploit confusion between PE and TE file formats to skip signature verification, and corrupt the "Setup" UEFI variable to potentially brick the system. The attacks demonstrate vulnerabilities in how some firmware implementations store and handle sensitive secure boot configuration data in non-volatile variables.
The document discusses tools for deploying Informix instances, including the Informix Deployment Assistant (DA) and Informix Deployment Utility (DU). The DA allows users to create snapshots of Informix instances and data for deployment on other computers. The DU is then used to rapidly deploy the packaged instances. Key points covered include the components and usage of each tool, as well as limitations such as difficulty deploying production instances or supporting raw devices. The configuration file used by the DU to customize deployments is also described.
Windows 7 and Windows Server 2008 R2 SP1 OverviewAmit Gatenyo
Windows 7 and Windows Server 2008 R2 SP1 include new features such as Dynamic Memory and RemoteFX. Dynamic Memory allows virtual machines to dynamically adjust their memory usage based on demand, improving consolidation ratios. RemoteFX enables 3D graphics and rich media experiences for remote desktop sessions using host-side rendering. Other changes in SP1 include enhancements to DirectAccess and support for increased authentication traffic on domain controllers.
This document provides best practices for installing Sophos Endpoint Security and Control on-premise. It discusses what software is included, features that require planning like installation locations, update management, and role-based administration. It then describes the installation process and considerations for a single-site network, including deploying management and client software, setting up roles, and designing an update structure tailored to the network size and types of computers.
The document discusses maintaining and troubleshooting Windows operating systems. It covers using utilities for file and disk management, performing backups and restores, identifying different types of errors, and methods for recovering a damaged Windows installation, such as system restore utilities, safe mode, and recovery console.
This document provides an overview and syllabus for an AIX System Administration class that will take place over 5 days from 9:30am to 5:30pm. The class will cover topics such as Unix and AIX overviews, IBM POWER servers, installing the AIX operating system, and logging into the system. Hands-on experience will be provided through virtualized AIX systems on IBM POWER7 blades in the classroom lab network.
This document introduces how to write a basic "Hello, world" kernel module in Linux. It discusses making a module with a single source file, and also with multiple source files. Example code is provided for a simple module that prints a message when loaded and removed from the kernel. The document also covers makefiles used to build kernel modules.
This book provides guidance on designing and building embedded Linux systems. It introduces the topic and covers important concepts like hardware support, development tools, the Linux kernel, and root filesystem setup. The book explains how to configure, cross-compile, and install the kernel. It also describes manipulating storage devices and setting up the bootloader, networking services, and debugging tools. The goal is to help experienced embedded developers customize and use Linux in their projects without relying on third-party products.
This document provides an overview of the Linux operating system. It discusses that Linux was originally developed in 1991 as a free Unix-like kernel and has since grown significantly through contributions from open source developers worldwide. It describes Linux's origins and key characteristics, such as being free and open source, highly customizable, stable, and secure. The document also outlines popular uses of Linux including on servers, smartphones, and embedded devices, and highlights some of its major advantages over other commercial operating systems.
This document provides an overview of multimedia capabilities and libraries for embedded Linux systems, including DirectFB and SDL. It describes key multimedia concepts and gives brief descriptions of the main features and capabilities of DirectFB and SDL, including video playback, audio, input handling, and acceleration. It also discusses using these libraries for multimedia development on embedded Linux targets.
Here is a summary of the document in 3 sentences or less:
[SUMMARY] The document discusses geological assistance (intrafisicology), which is defined as the effect or result of geological science activities in providing natural resources to meet human needs in the physical dimension. It covers various topics related to geology, minerals, and humanity's use of geological resources, as well as concepts in conscienciology that are relevant to understanding humanity's relationship with the physical environment.
The move from a hardware centric design to a software centric design: GStream...Marc Leeman
The document discusses the shift from hardware-centric to software-centric product design in electronics companies. It describes how Gstreamer helped drive this transition by providing a modular, reusable software framework for building media pipelines. Initially attempts to use Gstreamer in embedded systems failed, but it eventually saw wider adoption as processor capabilities improved and the differences between embedded and general-purpose systems decreased. Gstreamer provided benefits like stability, flexibility, and shorter development times compared to custom hardware-specific software stacks. Its use led companies to change how they work and cooperate more through open standards and tools.
This document provides guidance on handling an IRD (Inland Revenue Department of New Zealand) audit. It discusses IRD's information gathering powers, what constitutes a document, tips for cooperating with an audit in order to be viewed favorably. It outlines industry benchmarks and notes that every dollar spent on investigations recovers an average of $5 in additional tax revenue. The document warns that interest charges can significantly increase tax owed and tips ways to mitigate interest risk such as making early voluntary payments. It also discusses shortfall penalties and the reductions available for voluntary disclosures. The disputes process is outlined if agreement cannot be reached.
Over-The-Top (OTT) video delivery uses third-party content delivery networks to stream video over the internet. YouTube is a popular free OTT service, and the proliferation of internet-connected devices has increased complex, multi-screen video consumption. As a result, video delivery is shifting from pay TV operators and set-top boxes to content owners and many different devices. For pay TV operators, OTT poses a threat as subscribers may opt for OTT services instead. To remain relevant, pay TV operators should acquire content, ensure high quality of service, expand beyond set-top boxes with OTT apps, and provide a unified subscription for viewing on multiple devices and screens.
Sasikumar is a software engineer with over 3 years of experience developing embedded systems and device drivers. He has expertise in C programming, real-time operating systems, Linux driver development, and protocols like I2C, UART and SPI. Some of his projects include developing DVB-CI and CI+ stacks to enable decryption of encrypted content. He also has experience with conditional access systems from Nagravision, Cryptoguard and implementing a Simulcrypt head-end system. Sasikumar is looking for new opportunities to further his knowledge and serve a company to the best of his abilities.
This document outlines an internal Barco training on embedded Linux for engineering. It covers topics like cross-compilation toolchains, the Linux boot process, bootloaders, and the Linux kernel, including building a kernel, device trees, device drivers, and a real-life Barco example. Hands-on sections provide examples for exploring U-Boot, replacing a bootloader, building a kernel, and more.
The document summarizes topics covered in a Linux workshop from January 20th to 25th at IIT Kanpur. It includes introductions to vi text editor commands, Linux shell, finding and searching files, grep command, SSH, SCP, processes and process handling, GUI desktop environments, text editors, terminal, and installing software using package managers.
This document summarizes various devices and chipsets that have been worked with, including tuners, demodulators, processors, and interfaces. It provides brief descriptions of chipsets from Conexant, Fujitsu, ST, and Xilinx that have been used. It also lists tuners, digital demodulators, firmware tools, audio/video codecs, hardware design tools, and interfaces that have been engaged with. Finally, it provides two case studies: a DVB analyzer and a DTMB analyzer that were developed using various components described in the document.
The document discusses LARCAN's DVB-T/H solution. It provides an overview of DVB-H as an extension of DVB-T to enable digital video broadcast services on mobile devices. It also describes how to set up DVB-T/H networks, including planning, transmitters, distribution networks, and synchronization for single frequency networks. Testing and optimization procedures are outlined as well as network monitoring and quality control. LARCAN is positioned as a leader in digital transmitter solutions that can provide a complete DVB-H portfolio.
This document summarizes research on using DVB-T signals for passive radar ship detection. DVB-T signals provide a large bandwidth and wide coverage suitable for passive radar. Preliminary experiments using a USRP software defined radio were able to detect ships up to 5 nautical miles away departing from a nearby harbor based on the Doppler frequency shifts measured. Future work aims to conduct experiments with cooperative targets and improve the system's range resolution and processing algorithms.
This document provides coding standards and conventions for Java programming. It covers topics such as program structure, file organization, indentation, comments, declarations, statements, naming conventions, and programming practices. The goal is to improve code readability, understandability, and maintainability. Projects may customize the standards as needed based on customer requirements.
The document describes an ultra-low power asynchronous logic in-situ self-adaptive VDD system for wireless sensor networks. The proposed system uses quasi-delay-insensitive asynchronous logic implemented with pre-charged static logic circuits. It features a self-adaptive VDD scaling system that dynamically adjusts the supply voltage based on processing requirements to minimize power consumption while operating robustly in the sub-threshold voltage region. The system design includes an asynchronous filter bank module powered by the adjustable VDD rail and a power management module that monitors circuit delays to determine the optimal VDD setting.
10 ways hardware engineers can make software integration easierChris Simmonds
Sometimes it seems that hardware engineers go out of their way to may the job of software engineers difficult. Here are my top 10 tips (plus two bonus slides) that will make integration to smoothly
- J2ME is a Java platform for embedded and mobile devices like phones, PDAs, etc.
- It has three main configurations: CLDC for low-end devices, CDC for more powerful devices, and Java SE for desktops.
- Profiles add functionality and APIs to configurations for specific device types. The main profile is MIDP for mobile phones.
- Optional packages provide additional common APIs like Bluetooth, messaging, location services, etc.
- J2ME is widely used in low-cost mobile devices but has declined on newer smartphones that use Android or iOS.
Overview of DVB-T standard to deploy Digital Terrestrial TelevisionFarhad Shahrivar
DVB-T is a technical standard for digital terrestrial television broadcasting that specifies framing, channel coding, and modulation. It is used in over 40 countries with nearly 200 million receivers sold, mostly in Europe. Benefits of DVB-T include better quality TV, improved population coverage, spectrum efficiency allowing more channels, and enabling HDTV and reception on mobile devices. Key issues in deploying DVB-T networks include establishing appropriate legal and regulatory frameworks, network planning, and content distribution infrastructure.
Medooze MCU Video Multiconference Server Installation and configuration guide...sreeharsha43
This document provides instructions for installing and configuring a Medooze MCU videoconferencing system on Ubuntu 12.04 LTS. It describes how to install various software tools like Wireshark, Java JDK, and NetBeans IDE. It then explains how to install the Medooze Media Mixer Server and mcuWeb application. Finally, it outlines the steps to deploy mcuWeb in application servers like GlassFish, JBoss and Tomcat, and configure media mixers, video profiles, conferences and other features of the videoconferencing system.
This document discusses a network video capture and short message service system based on embedded Linux. The system uses a USB camera on a Mini2440 development board to capture video and send it to an embedded web server. An alarm can be raised through SMS using a GSM network if motion is detected in the video surveillance. The hardware includes a USB camera, Mini2440 board with ARM920t processor, Ethernet interface, GSM module, and flash memory. The software uses Linux with a Qtopia distribution, Video 4 Linux for capturing video, and SMS services for alerts.
The Unofficial VCAP / VCP VMware Study GuideVeeam Software
Veeam® is happy to provide the VMware community with new, unofficial study guides prepared by VMware certified professionals Jason Langer and Josh Coen.
Free VCP5-DCV Study Guide
In this 136-page study guide Jason and Josh cover all seven of the exam blueprint sections to help prepare you for the VCP exam.
Free VCAP5-DCA Study Guide
For those currently holding their VCP certification and want to take it up a notch, Jason and Josh have you covered with the 248-page VCAP5-DCA study guide. Using this study guide along with hands-on lab time will help you in the three and a half hours, lab-based VCAP5-DCA exam.
This document discusses embedded software development and image processing using the TI DaVinci platform. It provides an overview of the DaVinci SOC which includes both a GPP and DSP. It describes installing the necessary toolchain and software, setting up an NFS server, building the Linux kernel, cross-compiling programs, and provides an example of a simple image zooming application.
This technical paper has collected and summarized some frequently asked questions (FAQs) by MYIR's engineers on development based on NXP's i.MX 6UL/6ULL ARM Cortex-A7 processors. Hope it can help developers during their work.
1) JTAG on-chip debugging allows developers to debug hardware, bootloaders, the Linux kernel, and user space applications when agent-based debugging is unavailable or too expensive. It provides a seamless debugging experience across all components.
2) Debugging embedded Linux devices is challenging due to interactions between the bootloader, Linux kernel, kernel modules, and applications which have different memory mappings and privileges.
3) With JTAG debugging tools, developers can debug issues that occur between the kernel, user space, and target hardware throughout the entire Linux development process from a single integrated environment.
Symantec Endpoint Encryption - Proof Of Concept DocumentIftikhar Ali Iqbal
The document is to be used as a POC template for the Drive Encryption part in Symantec Endpoint Encryption Powered by PGP. Please make sure that the latest information and platform support is used.
The implementation phase involves materializing ideas from analysis and design into the final solution. The authors implemented rejuvenation on three domains using warm and cold methods based on time and prediction policies. They also simulated rejuvenation of failing nodes and implemented Petri net modeling. KVM was selected as the virtualization platform and run on CentOS. C was used as the programming language and key libraries were included. NFS was configured to enable sharing of VM images between servers to allow live migration.
The document discusses porting the Linux kernel to run on the Encore Simputer, an ARM-based handheld device. It describes building the kernel from source, adding support for the Simputer's hardware including memory, display and peripherals. Finally, it mentions porting the 2.6 test kernel to the Simputer and thanks the audience.
Containerization allows running multiple isolated Linux instances called containers on a single host. Containers leverage features like namespaces and cgroups in the Linux kernel to isolate CPU, memory, storage and networking access for each container. Docker is a popular containerization tool that packages applications and dependencies into lightweight Linux containers that can run on any infrastructure. Containers are more lightweight than virtual machines and allow higher density and lower overhead.
This document provides instructions for upgrading the ArcSight database components from version 5.0 SP1 or SP2 to version 5.2. It describes preparing the Oracle database software, verifying the readiness of the existing database, and running the database installer to upgrade the database schema and partition archiver service. Post-upgrade steps include transferring partition archiver settings and completing additional tasks on AIX platforms.
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...ICS
Updating device software has always been a complicated process. Today, widespread use of connected IoT device fleets, along with escalating concern over cybersecurity, has made that process even more complex. Fortunately, there are a number of well-established open source solutions to help you address software update needs. But, with so many options, how do you determine which solution is right for your device?
This webinar will provide the foundation you need to make an informed decision. We’ll examine several different industry approaches, including A/B updates with a dual-redundant scheme, delta updates, container-based updates and combined strategies, as well as the leading technologies that support these approaches. Open source technologies such as Mender, RAUC and libostree-based solutions implement these strategies and provide tools to manage updates of multiple devices.
We’ll also review a variety of open source Linux software update technologies, and offer practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to help you better understand the strengths and weaknesses of each technology, we’ll deep dive into various real-world use cases, including leveraging CAAM (Cryptographic Accelerator and Assurance Module) hardware on Freescale i.MX6 hardware for encrypted and signed updates and using Microsoft Azure IoT to host software updates from the cloud.
This document discusses experiments with the uClinux embedded operating system on MicroBlaze processor-based systems. It provides background on MicroBlaze and describes porting uClinux to development boards using MicroBlaze. The author has gained expertise in uClinux and ported it successfully to additional hardware. Current work involves developing device drivers and implementing a more advanced boot process using U-BOOT to support configurable systems and remote updates. The goal is to produce a full-featured uClinux distribution for MicroBlaze.
This document provides a troubleshooting guide for digital video surveillance systems. It outlines various tools and steps technicians can take to diagnose issues, including checking system resources through Task Manager and Resource Monitor, monitoring long-term performance with Performance Monitor, and using tools like RealTemp to check temperatures and GPUZ to monitor graphics card usage. The guide also lists common questions to ask to understand the problem environment and topology of the surveillance system.
This document provides instructions for installing Oracle Applications R12 (12.1.3) on Linux (64-bit). It describes downloading and unzipping the installation files, performing pre-install tasks like configuring disk space, installing required RPMs and setting kernel parameters, and running the ./rapidwiz installation script. It also covers post-installation tasks like setting environment variables and default passwords. Upgrading an existing EBS 12.1.3 installation is also addressed.
The document discusses the Distributed Management Task Force (DMTF) Open Virtualization Format (OVF) standard.
OVF is an open standard for packaging and distributing virtual appliances or virtual machines. It allows virtual machines to be transported across different platforms and hypervisors while maintaining their configuration.
The OVF standard uses XML to describe virtual machines, their relationships, configuration details, and other metadata. It packages VMs and disks into a single file for easy distribution. This facilitates automated deployment of pre-configured virtual machines.
[Android Codefest Germany] Adding x86 target to your Android app by Xavier Ha...BeMyApp
Adding x86 target to your Android App allows developers to compile their native code libraries for x86 platforms in addition to ARM. This expands an app's reach to devices with Intel processors. Most NDK apps will run on x86 without recompilation by setting the APP_ABI flag in Application.mk to "all" or "x86". For code using SIMD or processor-specific instructions, modifications may be needed along with compiler optimizations like vectorization for best performance on x86. Debugging tools like Valgrind, GDB and logcat work to debug native code issues on both ARM and x86 Android platforms.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Full-RAG: A modern architecture for hyper-personalization
Buildin a small linux kernel
1. Application Report
SPRAAH2A – May 2008
Building a Small Embedded Linux Kernel Example
Loc Truong and Brijesh Singh .............................................................................................................
ABSTRACT
This application note demonstrates NOR kernel building and board setup using the
DaVinci DM644x Digital Evaluation Module (DVEVM) package. The goal is to build the
smallest possible kernel using the MontaVista® Linux Support Package (LSP) with
support for an HTTP server, a TCP/IP stack, and necessary drivers for Ethernet and
UART for the serial debug terminal. The kernel resides in NOR flash and uses a RAM
disk-based file system, which is also stored on flash.
This setup is found in embedded devices such as routers and print servers, and can be
used as a starting point for more sophisticated implementations such as I/O monitors,
web cams, and multimedia players.
The application note includes the following sections:
• Overview of the required hardware and software available
• Building the kernel
• Building the RAM disk file system
• Setting up the application
• Storing to flash
Contents
1 Overview ............................................................................................. 2
2 Feature Selection and Kernel Build Steps ...................................................... 3
3 Building an Initial RAM Disk File System ........................................................ 6
4 Application Support ................................................................................. 8
5 Copying Information to NOR Flash ............................................................. 10
6 Boot Up ............................................................................................. 13
7 Summary ........................................................................................... 14
8 References ......................................................................................... 14
Appendix A .............................................................................................. 15
List of Figures
1 Loadable Module Support ......................................................................... 4
2 Disable File Systems ............................................................................... 5
3 Index of Mozilla Firefox ............................................................................ 9
4 EVM Boot-Up Screen ............................................................................. 13
5 Web Screen Connected to the DVEVM Web Server ......................................... 13
List of Tables
1 Required DVEVM Hardware Features ........................................................... 2
2 Required DVEVM Software Packages ........................................................... 3
3 Configuration Summary ............................................................................ 3
4 Linux Packages for the RAM Disk File System ................................................. 7
5 Memory Placement of Bootloader, Kernel and RAM Disk in DVEVM NOR Flash ....... 12
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 1
Submit Documentation Feedback
2. Overview www.ti.com
1 Overview
To create a standalone and bootable Embedded Linux System, three main pieces of software must be
flashed on the EVM:
• A bootloader, u-Boot in this case
• A Linux kernel with built-in drivers for DaVinci DM644x devices
• An ARM-target Linux file system containing the shell, application and run-time support utilities and
stacks
This section quickly reviews the DVEVM, including required hardware and software components.
1.1 DM644x Digital Evaluation Module Package
The DM644x EVM Kit is a collection of hardware and software packages for the embedded Linux
developer community.
The hardware components include:
• TMS320DM6446 device-based development board
• NTSC/PAL video camera (region dependent)
• NTSC/PAL LCD display (region dependent)
• Microphone
• IR remote control
• 40GB, 2.5-inch IDE hard disk drive
The development board has multiple accessories and I/O interfaces such as USB, 10/100 Mbps Ethernet,
video-in (composite), video-out (analog or digital), audio-in (line or microphone), audio-out (S.PDIF,
analog), and UART. The board also includes 4 MB of SRAM memory, 16 MB of NOR memory, 64 MB of
NAND memory, a 40 GB HDD, and 256 MB of DDR2 memory.
For a more detailed list of all the available features of the DVEVM, consult the Technical Reference. See
Table 1 for the required hardware features for this project.
Table 1. Required DVEVM Hardware Features
Type Device Description
CPU DM6446 Dual-core multimedia processor with video acceleration hardware
Non-Volatile NOR flash 16 MBytes available, 0x0200 0000 to 0x02FF FFFF
Memory
Volatile Memory DDR2 256 MBytes available, 0x8000 0000 to 0x8FFF FFFF
I/O LED 8 total, can be used for feature indication and/or user feedback
Ethernet 10/100 Mbps
UART0 Serial debug port, set at 115200 one stop bit, no parity, no flow control
1.2 Software Components
Various software components come with the DVEVM package, including multimedia demos such as
audio, speech and video encode and decode using various codec formats. However, in this project only
the ARM Linux tool chain, the bootloader, and Linux Support Package (LSP) are needed to complete the
goal of building the smallest possible flash-based Linux kernel with an HTTP server for the DM644x
DVEVM.
DevRocket is a trademark of MontaVista Software, Inc.
MontaVista is a registered trademark of MontaVista Software, Inc.
All other trademarks are the property of their respective owners.
2 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
3. www.ti.com Feature Selection and Kernel Build Steps
Table 2 shows a list of the components that are assumed to be available for use with this project.
Although package versions are included in the list, later versions may be available.
Table 2. Required DVEVM Software Packages
Item Version Notes
ARM Linux Tool Chain MVL Pro 4.0.0 Included with DVEVM SW packages
Linux Support Package MVL-401c Included with DVEVM version 1.10 release
Bootloader u-boot-1.1.3 Included with DVEVM version 1.10 release
RAM Disk MVL Pro 4.0.0 Included with DVEVM SW packages
HTTP Web Server MVL Pro 4.0.0 Included with DVEVM SW packages
2 Feature Selection and Kernel Build Steps
Building an embedded Linux kernel can be complex if starting from bare silicon. Drivers must be ported or
developed, tested, and compatible cross-development tool chain and upper protocol stacks updated or
retargeted for the ARM926EJS processor on the DM644x device. The DVEVM package already includes
most of the available tools, such as an ARM GNU tool suite, a Linux Support Package with the ARM Linux
kernel v2.6, and all the drivers needed for our project.
This section assumes that you have installed the DVEVM software as described in Section 4 of the
DVEVM Getting Started Guide (SPRUE66). Section 4 of the DVEVM Getting Started Guide also
documents the general commands for building a Linux kernel.
Thus, building an embedded Linux kernel comprises two simple steps:
• Configure the kernel to select the needed drivers and features
• Compile the kernel to create an appropriate image, uImage, that u-boot can load on DVEVM
2.1 Kernel Configuration
Linux kernel features are collected in the .config file at the top level of the kernel directory. This file is used
by the GNU make utility in the build process. Although you can edit the .config file directly to turn the
features on or off, several menu driven methods are available to make this step easier. The oldest one is
make menuconfig, although graphical methods such as make xconfig, which uses the X-windows
environment, or make gconfig, which uses GTK+ environment, are preferred.
The following sections describe examples of performing the configuration using xconfig. If you are already
familiar with the configuration step, use Table 3 to determine the features that must be selected or
deselected from the default LSP of the DVEVM.
Table 3. Configuration Summary
Enable Disable
ARM System Type (TI-Davinci) Loadable module support
TI DM644x Based system Built-in firmware loadable support
TI Davinci EVM MTD support
TI Davinci I2C Expander Loop back device support
ARM EABI Support ATA/ATAPI support
High-Resolution Timer SCSI support
Networking Support Input device support
Initial RAM disk Support Video for Linux support
Kernel .config File Support Ext3/XFS/Minix/Automounter/MSDOS/VFAT/CRAMFS/NFS support
Configure Kernel for Small Devices Frame buffer device support
POSIX Message Queues USB Support
System V IPC Sound card support
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 3
Submit Documentation Feedback
4. Feature Selection and Kernel Build Steps www.ti.com
Table 3. Configuration Summary (continued)
Enable Disable
ELF Support MMC Support
8250 Serial Driver Support
2.1.1 Configuration Steps
The following steps assume that the default installed kernel tree has been copied to a private location at
/home/user/workdir/lsp before compiling. Also note that the directory names of the kernel tree can change
from one version of the package to another.
Note: The DVEVM and DVSDK-L or -3L software packages may have slightly different kernel
config and build commands. Always check the documentation that comes with the package
such as the DVEVM Release Notes, the DVEVM Quick Start Guide or DVEVM Getting
Started Guide (SPRUE66) for updated information regarding the exact commands for the
build steps. The following steps are for the kernel tree from the DVEVM software package.
1. On the host Linux workstation, go to the base directory of the kernel tree:
host $ cd /home/user/working/lsp/ti-davinci
2. Launch the Linux kernel configuration utility:
host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- xconfig
3. Under Loadable module support, uncheck the Enable loadable module support to disable the module
loading feature. See Figure 1.
Figure 1. Loadable Module Support
4. Under Device Drivers → Generic Driver Options, uncheck the Select only drivers that don’t need
compile-time external firmware and Prevent firmware from being built boxes to disable firmware
loading features.
4 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
5. www.ti.com Feature Selection and Kernel Build Steps
5. Under Device Drivers → Memory Technology Devices (MTD), uncheck the Memory Technology
Devices (MTD) support box to disable the memory technology driver support.
6. Under Device Drivers → Block devices, uncheck the Loopback device support box to disable the
loopback device support used to mount an ISO image.
7. Under Device Drivers → ATA/ATPI/MFM/RRL support, uncheck the ATA/ATPI/MFM/RRL support box
to disable the ATA support used to access the EVM hard drive.
8. Under Device Drivers → SCSI device support, uncheck the legacy /proc/scsi/ support and SCSI disk
support boxes to disable SCSI disk support on the EVM.
9. Under Device Drivers → Input device support, uncheck the Mouse interface, Event interface, and
Keyboards boxes to disable the input device support.
10. Under Device Drivers → Multimedia devices, uncheck the Video For Linux box to disable the v4l2
driver support used to capture video image from the camera.
11. Under Device Drivers → File systems, uncheck the Ext3 journalling file system support, XFS file
system support, Minix fs support, Dnotify support, and Kernel automounter version 4 support boxes to
disable file system supports. Do not uncheck ext2 file system support, as the ext2 file system is used
in the initial RAM disk. See Figure 2.
Figure 2. Disable File Systems
12. Under Device Drivers → File systems → DOS/FAT/NT Filesystems, uncheck the MSDOS fs support
and VFAT (Windows 95) fs support boxes to disable Windows file system support.
13. Under Device Drivers → File systems→Miscellaneous filesystems, uncheck the Compressed ROM file
system support (cramfs) box to disable cramfs file system support.
14. Under Device Drivers → File systems → Network File Systems, uncheck the NFS file system support,
NFS server support, and SMB file system support boxes to disable network file systems support.
15. Under Device Drivers → File systems→Partition Types, uncheck the Advanced Partition Selection box
to disable partition support on the hard disk.
16. Under Device Drivers → Graphics Support, uncheck the Support for frame buffer devices box to
disable Linux frame buffer support.
17. Under Device Drivers → Sound, uncheck the Sound card support box to disable Linux sound support.
18. Under Device Drivers → USB Support, uncheck the Support for Host-side USB and Inventra USB
Highspeed Dual Role Controller Support boxes to disable USB driver support.
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 5
Submit Documentation Feedback
6. Building an Initial RAM Disk File System www.ti.com
19. Under Device Drivers → MMC/SD Card Support, uncheck the MMC Support box to disable Multimedia
Card support.
2.2 Kernel Compilation
This section describes the kernel compilation steps.
Note: The DVEVM and DVSDK-L or -3L software packages may have different kernel
configurations and build commands. Always check the documentation that comes with the
package such as the DVEVM Release Notes, the DVEVM Quick Start Guide or DVEVM
Getting Started Guide (SPRUE66) for the exact commands for the build steps. The following
steps are for the kernel tree from the DVEVM software package.
1. If not already logged in as user, then log in as user prior to building the kernel.
2. Build the Linux kernel with this command:
host$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
Note that the above kernel configuration disables most of the peripheral support, except for the networking
stack, Ethernet, and Serial drivers. If additional applications are required beyond the ones used in this
application report, other supporting features may need to be enabled.
The generated kernel, the u-boot compatible compressed binary file uImage, is located under the
arch/arm/boot directory. Copy this file to the /tftpboot directory so that it can be flashed later on the
DVEVM.
In the next step, you will build a RAM disk file system to save to flash.
3 Building an Initial RAM Disk File System
Although this section is not dependent on the previous section, it is assumed that you have already
installed DVEVM software on the Linux host machine according to the steps outlined in the DVEVM
Getting Started Guide (SPRUE66).
An initial RAM disk relies on a boot loader (such as u-boot) to load it from non-volatile memory (such as
NOR flash) to volatile memory, (such as DDR2) before booting up the kernel. The file system inside the
RAM disk is referred to as an initial RAM disk file system, or initrd. This file system can be mounted as a
root file system and the application can be executed from it. This is the kernel’s local storage. As it is
installed on volatile memory, its contents are lost when the system is powered off. For most embedded
systems, this is a desired run-time environment. If you must save some parameters generated during run
time, you will require a NOR flash file system, which is outside the scope of this project.
With the Davinci EVM platform, you can build a RAM disk file system using either the MontaVista®
DevRocket™ IDE (available with the –L or -3L DVSDK packages), or command line scripts (available with
DVEVM and all DVSDK software packages).
To execute the web server, the initial RAM disk file system should contain the following GNU packages.
They can be found with the DVEVM software MVL Pro install directory under <tool chain install
directory>/pro/devkit/arm/v5t_le/packages/pro or pro/optional:
6 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
7. www.ti.com Building an Initial RAM Disk File System
Table 4. Linux Packages for the RAM Disk File System
Item Version Description
busybox 1.00r3-5.0.0 Combines small versions of many common Linux utilities.
initscript 2.85-3.0.0 Contains basic system script used to boot the system.
netbase 4.17-1.0.1 Provides necessary infrastructure for TCP/IP networking.
thttpd 2.25b-1.0.0 Contains a small, fast, and secure web server, including CGI support, URL traffic
based throttling and basic authentication.
Note: Cross-building these packages provided here or from the GNU source trees is beyond the
scope of this application report. Please consult the appropriate document or embedded Linux
books on how to perform these tasks.
Several options are available to complete this step, including using an existing RAM disk, or building one
for your needs.
3.1 Use an Existing RAM Disk
To save time, a RAM disk is provided with the DVEVM ARM Linux software tool chain. It is located under:
<tool chain install directory>/pro/devkit/arm/v5t_le/images
Note: In later releases of the DVSDK packages the sample RAM disk image is located at:
<dvsdk install dir>/<PSP dir>/bin
In this directory, the RAM disk file is called ramdisk.gz (about 2.1 MB gunzipped). In run time, it occupies
about 6.3 MB in DDR. This file system contains some unnecessary utilities for this project, but is
appropriate for a typical embedded system.
3.2 Set Up the RAM Disk for Use
1. Copy the existing initial RAM disk to a temporary location:
host $ mkdir /mnt/def_cd
host $ cp <tool chain install dir>/pro/devkit/arm/v5t_le/images/ramdisk.gz
/mnt/def_cd
2. Unzip the file, creating a file called ramdisk:
host $ gzip –d /mnt/def_cd/ramdisk.gz
3. Create a mount point and mount the RAM disk for use:
host $ mkdir –p /mnt/def_cd/ram0
host $ mount –o loop /mnt/def_cd/ramdisk /mnt/def_cd/ram0
You can browse the RAM disk contents by changing to the mounted directory and listing the contents:
host $ cd /mnt/def_cd/ram0
host $ ls
The console output shows the typical Linux directory structure.
In the next step, you add the application package and the http web server to the RAM disk, as well as
some initialization and use scripts before zipping it up again for flashing.
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 7
Submit Documentation Feedback
8. Application Support www.ti.com
4 Application Support
This section describes how to add a small web server (thttpd) to the initial RAM disk file system and
configure it for the DVEVM.
The web server thttpd is a simple, small, portable, fast, and secure HTTP server with the following
features:
• Simple: It handles only the minimum information necessary to implement HTTP/1.1.
• Small: It has a small run-time size, because it allocates memory conservatively and does not fork.
• Portable: It compiles cleanly on most Unix-like operating systems, including FreeBSD, SunOS 4,
Solaris 2, BSD/OS, Linux, and OSF.
• Fast: In typical use, it is as fast as the best full-featured servers (Apache, NCSA, Netscape). Under
extreme loads, it is much faster.
• Secure: It protects the web server machine against attacks and break-ins from other sites.
4.1 Build the http Web Server
You can build the web server either on the host development PC or natively on the EVM using ARM gcc
tool chains. This section describes how to cross-build the web server on the host development PC.
• Download the latest thttpd from the developer’s website: http://www.acme.com/software/thttpd/, or use
the source provided as part of DVEVM software package. The following instructions are for unpacking
and compiling the open source version. The DVEVM software package already has the source files
installed under <dvevm install dir>/examples/thttpd-2.25b directory. In later releases the path to the
source files may be <dvsdk install dir>/examples/<device>/thttpd-2.25b and the thttpd binary may
already exist at this location.
– host $ cd ~/workdir
– host $ tar xzf path-to-tar-file/thttpd-2.25b.tar.gz
– host $ cd thttpd-2.25b
• Verify that the path to the ARM cross-compile tool chain is exported as described in the DVEVM
Getting Started Guide (SPRUE66).
• Compile the web server as follows:
– host $ CC=arm_v5t_le-gcc ./configure
– host $ make
4.2 Test the Web Server
1. Copy the thttpd executable to the EVM board. The DVEVM Getting Started Guide describes the
procedure for HDD or NFS configurations.
2. Run thttpd on the EVM using an arbitrary port of 8000.
dvevm $./thttpd –p 8000
3. Connect to the new web server using the PC’s browser. The URL is the EVM board's IP address with
the addition of the port number: http://evm-ip-address:8000. This URL is set up once you run the thttpd
program on the DVEVM. You should see output similar to:
8 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
9. www.ti.com Application Support
Figure 3. Index of Mozilla Firefox
4.3 Add Web Server to Initial RAM Disk
This section describes how to modify the existing initial RAM disk to include the thttpd web server and cgi
scripts. To save time, the web server and TI graphics files used by the sample index.html page are
included in the DVEVM/DVSDK packages, which can be downloaded from www.ti.com/dvevmupdates. For
more information on creating the index.html file and cgi scripts used in this demo see Appendix A.
1. Create a web directory on the RAM disk to copy the thttpd executable into:
host $ mkdir -p /mnt/def_cd/ram0/opt/dvevm/web
host $ cp thttpd /mnt/def_cd/ram0/opt/dvevm/web
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 9
Submit Documentation Feedback
10. Copying Information to NOR Flash www.ti.com
2. Write the index.html file and copy it to the initial RAM disk file system. For information on the
index.html file used in this demo please refer to Appendix A.
host $ cp index.html /mnt/def_cd/ram0/opt/dvevm/web
3. Write the cgi scripts and copy them to the cgi-bin directory of the initial RAM disk file system. For
information on the cgi scripts used in this demo please refer to Appendix A.
host $ mkdir -p /mnt/def_cd/ram0/opt/dvevm/web/cgi-bin
host $ cp <cgi files> /mnt/def_cd/ram0/opt/dvevm/web/cgi-bin/
4. Copy the TI graphics used by the index.html file to the RAM disk file system. These graphics are
located in the DVEVM/DVSDK software package, which can be downloaded from
www.ti.com/dvevmupdates.
host $ cp <dvevm/dvsdk install dir>/examples/web/*.gif
/mnt/def_cd/ram0/opt/dvevm/web
Note: For later releases of the DVEVM/DVSDK software the location of the TI graphics files may
look like <dvsdk install dir>/examples/<device>/web
5. Edit a file called startweb.sh and add the following script lines to start the web server:
#!/bin/sh
# script to start web server
echo "Start web service..."
/opt/dvevm/web/thttpd -d /opt/dvevm/web -c "/cgi-bin/*"
6. Copy this script to the /etc/init.d directory of the RAM disk to make it part of the boot-up sequence:
host $ cp startweb.sh /mnt/def_cd/ram0/etc/init.d
host $ chmod +x /mnt/def_cd/ram0/etc/init.d/startweb.sh
host $ cd /mnt/def_cd/ram0/etc/rc.d/rcS.d
host $ ln –s ../init.d/startweb.sh S42startweb
7. Finally, recompress this RAM disk for flashing:
host $ cd /mnt/def_cd
host $ umount /mnt/def_cd/ram0
host $ gzip ramdisk
host $ cp ramdisk.gz /tftpboot
5 Copying Information to NOR Flash
This section requires completion of Section 2, Section 3 and Section 4. In this section, you will copy the
kernel image and initial RAM disk to NOR flash.
1. Copy the kernel image into the /tftpboot directory if you have not already done so:
host $ cp ~/workdir/lsp/ti-davinci/arch/arm/boot/uImage /tftpboot
2. Copy the initial RAM disk file system into the /tftpboot directory if you have not already done so:
host $ cp /mnt/def_cd/ramdisk.gz /tftpboot/
3. Download the Linux kernel via TFTP:
DVEVM # setenv serverip <tftp server ip address>
DVEVM # setenv bootfile uImage
DVEVM # dhcp
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 44
*** Unhandled DHCP Option in OFFER/ACK: 46
DHCP client bound to address <dvem ip address>
TFTP from server <tftp server ip address>; our IP address is <dvevm ip
address>
Filename 'uImage'.
10 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
11. www.ti.com Copying Information to NOR Flash
Load address: 0x80700000
Loading:
###################################################
###################################################
done
Bytes transferred = 823844 (c9224 hex)
The dhcp command obtains IP settings and then downloads the Linux kernel image (as specified by
the serverip and bootfile environment variables). Note the Load address (0x80700000) and Bytes
transferred (0xc9224), as these are needed in the following steps.
4. Download the RAM disk file system via TFTP:
DVEVM # tftp 0x85000000 ramdisk.gz
TFTP from server <tftp server ip address>; our IP address is <dvevm ip
address>
Filename 'ramdisk.gz'.
Load address: 0x85000000
Loading:
###################################################
###################################################
done
Bytes transferred = 2304639 (232a7f hex)
The tftp command downloads the ramdisk.gz file at 0x85000000. Note the Load address (0x85000000)
and Bytes transferred (0x232a7f), as these are needed in the following steps.
5. Determine the location in flash to store image:
EVM # flinfo
Bank # 1: MY AMD 29LV256M (256 Mbit)
Size: 16 MB in 256 Sectors
Sector Start Addresses:
02000000 02010000 02020000 02030000 02040000 (RO)
02050000 02060000 02070000 02080000 02090000
020A0000 020B0000 020C0000 020D0000 020E0000
The U-Boot code and data are stored in the first five sectors, starting at 0x2000000. Note that the
trailing (RO) indicates that the sectors are read-only or protected from erasing and writing. The Linux
kernel image should be saved to the 0x2050000 location, the first free sector after U-Boot.
Note: For Intel NOR Flash chips you should use flash address 0x2060000, which is the first start
address after U-Boot, rather than 0x2050000. The following commands should be adjusted
to use this address.
6. Erase the flash:
DVEVM # protect off 0x2050000 +0x2FBCA3
Note: 0x2FBCA3 is addition of kernel image and ramdisk image size.
DVEVM # erase 0x2050000 +0x2FBCA3
Erasing sector 5 ... done.
Erasing sector 6 ... done.
The protect off command makes the flash writable (not necessary for this example), while the erase
command prepares the flash for writing by erasing the old contents. Note the start address
(0x2050000) is derived from the output of flinfo and the length (the size of the Linux kernel image plus
the RAM disk file system downloaded via the TFTP server).
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 11
Submit Documentation Feedback
12. Copying Information to NOR Flash www.ti.com
7. Copy from RAM into flash:
DVEVM # cp.b 0x80700000 0x2050000 0xc9224
Copy to Flash.../done
DVEVM # cp.b 0x85000000 0x2119224 0x232a7f
Note: The destination address 0x2119224 is derived from adding the kernel size 0xc9224 to the
start address 0x2050000. This is so that the RAM disk image is written in the flash sectors
after the kernel.
Copy to Flash.../done
The cp (copy) command is used to copy the Linux kernel image in RAM into the accessible flash
memory. The arguments are the source address, the destination address, and the length. The .b
extension on the cp command specifies a byte-wise copy.
8. Protect the flash from writing:
DVEVM # protect on 0x2050000 +0x2FBCA3
The protect command makes the flash sector read-only, to ensure that the kernel image and RAM disk
file system are not accidentally overwritten.
9. Set the U-Boot Command and Linux Kernel Command Line:
Note: For Intel NOR Flash chips use flash address 0x2060000 instead of 0x2050000
DVEVM # setenv bootargs console=ttyS0,115200n8 ip=dhcp root=/dev/ram0 rw
initrd=0x85000000,6M
DVEVM# setenv bootcmd ‘cp.b 0x2119224 0x85000000 0x232a7f; bootm 0x2050000’
The boot command is set to use the kernel image in flash at address 0x2050000. The bootcmd first
does a copy of the RAM disk image from the location it was written to in step 7 to a location in RAM.
The Linux kernel command line arguments (bootargs) are set to use the RAM disk as the root file
system and specify its location in RAM where the RAM disk was copied in the bootcmd operation.
10. Now, the system is ready to boot, so save the u-boot environment variable:
DVEVM # saveenv
DVEVM # boot
Linux should now boot from flash and the root file system should be mounted on /dev/ram0.
Table 5 summarizes where u-boot, the Linux kernel, and the compressed RAM disk are loaded on the 16
MB NOR flash memory.
Table 5. Memory Placement of Bootloader, Kernel and RAM Disk in DVEVM NOR Flash
Address Content
0x0200 0000 – 0x0204 FFFF u-boot and u-boot parameters (327 KB)
0x0205 0000 – 0x0211 9223 uImage – Linux kernel (823KB)
0x0211 9224 – 0x0234BCA3 Compressed RAM disk (2.1MB)
0x0234BCA4 – 0x02FF FFFF Unused (12.70MB)
12 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
13. www.ti.com Boot Up
6 Boot Up
This section requires the completion of Section 5. It describes how to access the web server and log in to
the EVM.
1. Power on the EVM board. On successful boot-up, it prompts for login. See Figure 4.
Figure 4. EVM Boot-Up Screen
2. Log in as root.
3. Open the web browser on the host machine and connect to the EVM.
4. Connect to the EVM web server by typing the EVM IP address in the URL address box. See Figure 5.
Figure 5. Web Screen Connected to the DVEVM Web Server
5. Click on the Memory usage link. The web page displays the output of the cat /proc/meminfo command.
6. Click on the Kernel Config options link. The web page displays the .config file used to build the kernel
image.
7. Click on the Kernel boot log link. The web page displays the output of the dmesg command.
SPRAAH2A – May 2008 Building a Small Embedded Linux Kernel Example 13
Submit Documentation Feedback
14. Summary www.ti.com
7 Summary
This application report described kernel configuration and build steps using the DaVinci DVEVM software
package. A small kernel feature set was selected and an http server package was added to a RAM disk to
use as the root file system. The kernel and RAM disk were subsequently flashed to the NOR flash
memory, where u-boot, the boot loader, also resided. You then started this system and demonstrated that
a web browser can connect to the DVEVM running this kernel and http server.
As mentioned in the abstract, this type of setup can be used as a starting point for an embedded Linux
system development with the DaVinci DM644x EVM. Other features can be added, such as:
• NOR flash file system, like a jffs2 file system, to provide persistent local storage.
• The V4L2 driver, so that video images can be captured and compressed using a encoder running on
the DSP of the DM644x device. This can turn the DVEVM into a video server.
8 References
• Davinci-DM644x Evaluation Module Technical Reference, Spectrum Digital, 508165-0001. For the
latest version visit the Spectrum Digital web site at www.spectrumdigital.com
• DVEVM Getting Started Guide (SPRUE66). For the latest version of the software, check the
www.ti.com/dvevmupdates site.
14 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback
15. www.ti.com Appendix A
Appendix A
A.1 Creating the index.html File
Edit a file called index.html and add the following lines to it:
<HTML>
<HEAD>
<TITLE>DaVinci DVEVM</TITLE>
<STYLE TYPE="text/css">
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
font-family: Geneva, Arial, Helvetica, sans-serif;
}
H1 {
text-align: center;
}
CAPTION { font-weight: bold }
</STYLE>
</HEAD>
<BODY>
<table width=100%>
<tr>
<td bgcolor="black" width="1"><a href="http://www.ti.com"><img border=0
src="tilogo.gif"></a></td>
<td bgcolor="red"><img src="titagline.gif"></td>
</tr>
</table>
<H1>Welcome!</H1>
<P>
DaVinci Technology from TI makes the next generation of digital video and
audio end-equipment applications possible. Learn more at The DaVinci Effect
<A HREF="http://www.thedavincieffect.com">website</A>.
</P>
<P>
This web page is being served from an HTTP server running on the
ARM926 processor of the DM6446 SoC on the DaVinci DVEVM board. For the
latest news and software updates on the DVEVM, see the DVEVM
<A HREF="http://www.ti.com/dvevmupdates">website</A>.
</P>
<H1> Kernel Configuration and Statistic</H1>
<P>
The demo is configured to run minimal kernel image. The kernel only supports TI EMAC and serial
driver. Click below to check
<UL>
<LI> <A HREF="/cgi-bin/memory">Memory usage</A> </LI>
<LI> <A HREF="/cgi-bin/log">Kernel boot log</A> </LI>
<LI> <A HREF="/cgi-bin/config">Kernel Config options</A> </LI>
</UL>
</BODY>
</HTML>
A.2 Creating the CGI Scripts
1. Edit a file called memory and add the following script lines to create the memory usage script:
#!/bin/sh
cat << EOF
Content-type: text/plain
Cache-control: no-cache
SPRAAH2A – May 2008 15
Submit Documentation Feedback
16. Creating the CGI Scripts www.ti.com
EOF
echo "#cat /proc/meminfo"
cat /proc/meminfo
echo
echo "# free -b"
free -b
echo
echo "# ps -el"
ps -el
2. Edit a file called memory and add the following script lines to create the kernel boot log script :
#!/bin/sh
cat << EOF
Content-type: text/plain
Cache-control: no-cache
EOF
echo
echo "#dmesg"
dmesg
3. Edit a file called memory and add the following script lines to create the kernel config options script :
#!/bin/sh
cat << EOF
Content-type: text/plain
Cache-control: no-cache
EOF
rm -rf /tmp/config*
cp /proc/config.gz /tmp
gzip -d /tmp/config.gz
cat /tmp/config
4. Make the scripts executable:
chmod +x memory
chmod +x log
chmod +x config
16 Building a Small Embedded Linux Kernel Example SPRAAH2A – May 2008
Submit Documentation Feedback