The charm of Linux: MediaMVP-general Linux technology-Linux programming and kernel information. The following is a detailed description. In addition to Hauppage MediaMVP, I have indeed seen smaller embedded Linux systems, but Hauppage MediaMVP is the smallest non-handheld device and one of the cheapest Linux systems on the market. MediaMVP is very similar to TiVo in some aspects: it is purely application-oriented and only executes specific functions. However, unlike TiVo, it does not try its best to prevent users from loading their own software. There is no doubt that many users have already done that. (For more information about TiVo, read the article "TiVo secrets" I wrote earlier in the Linux charm column ".
This article discusses the "standard" installation provided by Hauppage and the MediaMVP Media Center (MVPMC) project, which provides a customized user environment for system development.
Inside the set-top box
MVP is a small and concise invention. To some extent, it has even fewer onboard hardware than the Kuro Box (for more information about the Kuro Box, see references), without Ethernet, there is not enough flash memory to accommodate a single kernel. (In fact, after the kernel is adjusted, it can be placed in the MVP, but they did not .) The processor is a STBx25xx series host controller, which uses a PowerPC®405 kernel-centered structure. This type of machine has 32 mb ram and an Ethernet controller. Some versions also provide wireless features. I only use a pair of welded connectors on the motherboard, and there may be a cartana slot. I found a reference article in a forum (see references), which is suitable for users who want to connect to a serial port. Therefore, this function is also available. There is also an IR port, which can be used by the Linux kernel through/dev/rawir.
The STB processor is not a common PPC405, and has built-in hardware support for MPEG decoding. It is out-of-the-box for such products, enabling the system to transmit a large amount of video and audio without a high processor speed. In short, after reading all the marketing materials about the PowerPC system, you know that this system has extraordinary cost savings and is easy to modify to meet specific business markets, this is a specific example. The processor is rated at 252 MHz.
From the hardware design, we can clearly understand that this is a well-positioned device, probably because the cost of the system is lower than that of the Kuro Box (not to mention ordinary computers.
Outside the set-top box
External, MediaMVP only searches for servers. One way to simplify this system is to omit the large-capacity FLASH memory that is usually used for the kernel and the root file system. This set-top box is guided through the network. To avoid conflicts with an existing network boot server, MediaMVP uses a non-standard port number. The software that is packaged and released along with the product is a server that only applies to Windows. It combines network boot and streaming media services. The set-top box obtains the configuration information and the file named dongle. bin from the server during boot. This file contains many contents, including a boot loader, A ramdisk image, and a kernel. With a small Perl script, you can easily extract all of this.
By default, the installation is very simple. You only need to easily talk to Windows-based server programs. As you may think, the disk configuration is interesting. Unexpectedly, you will find that the system contains a BusyBox installation (V 0.60.5 ). (A link is provided in the reference documents for more information about BusyBox .) The entire ramdisk contains a file that exceeds 2 MB: 686KB is used for BusyBox, 1191KB is used for MediaMVP's userland software, 436KB is used for kernel modules, and some small configuration files. Compared with the sophisticated installation of Tivo, this installation is simpler.
The installation files are very small and can be completely regenerated. The/etc/inittab file is a simple miracle:
The Serial_proxy program is a pocket script that runs netcat on port 4000. It is commented out. In any case, the nc binary file is deleted in the release version. The rcS script processes the startup task. The auto-dongle script only runs the mpeg decoder. If the decoding program is stopped, it will automatically restart. It seems that this is a reasonable choice in this environment. In the desktop system, you may want to disable the service or issue a warning, but in the embedded device, this is not the real point.
The following is the form of the RFM script, which adds the commented-out bit:
Listing 2./etc/rcS script
#! /Bin/sh
#/Bin/umount-a/bin/mount-a-o rw
# Auto configuration mode
# AUTO = auto-
# Ismods for dongle/etc/insmod. sh
# User state fpage/usr/bin/fpage>/dev/null 2> & 1 &
# Set up network./etc/$ {AUTO} netsh. sh
Like the inittab files, these files need to adjust an unused configuration option, where there is no common netsh. sh and only the auto-netsh.sh script is installed. The auto-netsh.sh script adjusts some kernel networking parameters, configures the loopback interface, and starts a DHCP client.
Although my test system does not have a wireless card, it has at least provided wireless network support. The mediamvp binary code (target of fpage and mpgdec symbolic connection) contains a large number of strings, indicates NWID settings and other 802.11 terms. This may need to be declared in MediaMVP's version that Supports Wireless features. At least some of the devices I see have achieved wireless support. By the way, mediamvp binary files are not always separated from BusyBox. In very early versions, they are all the same binary files. Some people have been concerned about this issue, but now the mpgdec code is no longer released, and BusyBox is based on GPL code.
Most of the functions of the system are hidden. It seems that most of the functions depend on the end of Windows. If you do not use some software, you cannot make too many modifications to the set-top box. Unlike the current TiVo system, MediaMVP has not considered to exempt you from updating and/or replacing the content of its file system. So why?
Learn more about MVPMC Projects
The MediaMVP Media Center (MVPMC) project is a complete alternative to the software provided with MediaMVP. It can get videos through NFS or from the MythTV and ReplayTV servers. You can also obtain the audio from NFS or the SlimServer server. The software is still in its infancy, and many features cannot work or work well. (Part of the problem is that mvpc developers need to request the hardware documentation of the controller chip from engineers. If the chip documentation is available to open-source developers, the mvpc developers will have better days .) But on the other hand, it has a general advantage of open-source systems: If you want to modify it, you can access the source code.
MediaMVP's boot loader still needs a dongle. bin file in the regular format. In addition, kernel modules used for different hardware blocks must be loaded. Since their source code is not currently available, it is necessary to copy from the old system recently. However, the process has been clarified that the MVPMC build script can use a new root file system and a new kernel to generate an image.
The MVPMC root file system is larger than the inherent file system, but this does not always make sense:
Listing 3. Why put it on ramdisk?
$ Ls-ld lost + found
Drwx ------ 2 root wheel
176128 Feb 10 lost + found
The BusyBox binary file version is actually 1.0, but it is smaller than the first installed version (0.60.5). It only takes kb, and more commands are associated with it. I cannot determine why the old version is larger. In general, the system contains much more files than the system originally released with MediaMVP. The implication is, part of the data files used by systems released with MediaMVP must be embedded in the executable file or transmitted from the server. The MVPMC system provides a more complete set of shell utility tools-not to say that they have many functions, but to consider the lack of logon methods! However, the MVPMC system shows signs of a willingness to debug. You need to add a connection method on your own, but you can use the hook program to connect as long as you can log on.
The MVPMC project obtains additional configuration from the server at runtime, And the dongle downloaded from the set-top box. bin file (including the kernel and file system), it will get a dongle. config file, which can be easily run through/etc/rcS. Therefore, if you want to run telnetd, you only need to add it to your dongle. config file.
The continuous development of this project shows that although it has not reached the same level of stability as the initial supporting system, it may provide more extensive functions in the future. Price is also a problem. One way to improve low-price hardware is to provide free software (this is what we do in the beer industry ). The limitations are obvious, and the device itself does not have any expansion options, except for playing media, it has almost no other purpose. In addition, the idea of building a Multiple Arcade Machine Emulator (MAME) platform is tempting. There are a variety of IR-based remote systems with satisfactory response times and the hardware will be the best match. You need to review the building process, but it will eventually be implemented.
Pocket Environment
MVP is one of the smallest Linux systems you may encounter. In many ways, its hardware specifications are lower than those of handheld devices (such as Zaurus, for details, see "Linux charm: Zaurus leads embedded Linux" in my Linux charm column.) The lack of local storage has aroused urgent demands for the root file system. Other systems have the ability to easily ignore the megabytes here or there, but MVPs must do their best to keep everything minimal. Similarly, the low RAM usage makes it important to pay close attention to memory leaks.
This means that this environment is very easy to handle for Linux. Linux developers have always had the habit of deliberately targeting machines that are ignored due to "too slow" or "too small. We have never heard of it. Ten years ago, machines were still used as servers and running modern Linux. Therefore, many of the most difficult tasks have been completed. For example, Linux is well isolated from any available types of bloated user interfaces, and the degree of modularization of the Linux kernel is also high. Userland is even more adaptable. This is important when you try to build a system that consumes nearly bytes (many of today's releases occupy considerable space.
For Embedded Linux systems I have used, in terms of transparency for users who do not know or care about what the operating system is or just want to make the set-top box work normally, mediaMVP may be the best. In other systems, the OS is invasive. In MediaMVP, the OS is actually invisible, which is the same as TiVo. However, MediaMVP includes the flexibility of Linux products, probably because it is sold as part of the hardware, not the encrypted device that requires you to use the paid service.
For general end users, the theoretical choice of modifying the system is not a topic worth attention at all: Sometimes, most TiVo owners have never even considered the existence of "some type of Operating System" on their players ", they will not find any benefit in the modified system that is worth their time and effort to make such changes. However, it is a good thing for those who are eager to modify the system for some reason. The openness of MediaMVP brings unexpected gains.
In addition, users who are not interested in making changes can also enjoy certain benefits after the modifications are made freely. The MediaMVP Forum includes some posts posted by users who obviously do not know about Linux, but they are all very happy to have more options for their video players. I think that the decision to build this system on Linux seems to have achieved significant success, and the negative effect of selling this outstanding thin client at about $100 is no doubt accidental.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service