include("site.inc"); $template = new Page; $template->initCommon(); $template->displayHeader(); ?>
Copyright © 2005 Red Hat, Inc.
This document is released under the terms of the GNU Free Documentation License. For more details, read the full legalnotice in Section 2, “Legalnotice”.
Fedora Core is a completely free, user friendly, and secure general purpose platform based on Linux. The Fedora Project is an open source project that pioneers leading edge technology and concepts sponsored by Red Hat and supported by the Fedora community.
New Installation Guide | |
---|---|
New for this release is the Fedora Core 4 Installation Guide. This guide is useful for users of all levels and can be found at this URL: |
Refer to these webpages to find out more information about Fedora:
Section 3, “Introduction and Technical Release Notes” — Technical release notes
Help and Support (http://fedora.redhat.com/participate/communicate/)
Participate in the Fedora Project (http://fedora.redhat.com/participate/)
About the Fedora Project (http://fedora.redhat.com/about/)
Fedora Core 4 is the latest version of the free and popular Fedora Core platform with a number of unique features and significant improvements over previous versions. This section provides an overview of the major highlights in this release.
Desktop Enhancements — The Fedora desktop brings to you the latest software such as GNOME 2.10 and KDE 3.4 with a new look and feel. GNOME has the new simple and elegant Clearlooks default theme that is inspired by the classic Red Hat Bluecurve theme, as shown in Example 1, “New desktop featuring Clearlooks and Evince”.
Improved Productivity
Evince (http://www.gnome.org/projects/evince/) is a document viewer for multiple document formats such as pdf, postscript, and many others. Evince replaces a whole category of document viewers with a single simple application.
OpenOffice.org 2.0 (http://www.openoffice.org/product2/index.php) is an office productivity suite. This latest version includes several enhancements such as improved Microsoft Office compatibility, completely revamped Impress presentation software, and native support for the OpenDocument format. This version also introduces Base, a fully integrated database management software. You can find the extensive list of new features at http://marketing.openoffice.org/2.0/featureguide.html.
Eclipse 3.1 is an open and extensible software development platform that is an Integrated Development Environment (IDE) useful for programming in any language.
Support for PowerPC (PPC) Architecture — Refer to Section 4.4, “PPC Hardware Requirements” and Section 6.1, “PPC Installation Notes”.
Improved Security — SELinux is a security architecture that protects applications and users through finely grained mandatory security controls. The default targeted policy has been improved to cover 80 additional daemons. You can read more in the technical release notes Section 5, “Overview of This Release”.
Integrated Clustering Technology — Global File System (GFS) is an open source clustering file system that allows a cluster of Linux servers to share a common storage pool. Fedora Core 4 has integrated GFS within the system to manage your storage in an efficient way. You can read more at http://www.redhat.com/software/rha/gfs/ and http://www.redhat.com/docs/manuals/enterprise/.
Built-in Virtualization — Xen is a virtual machine that can securely run multiple operating systems in their own sandboxed domains. Xen has been integrated into Fedora Core to work in a seamless fashion. You can read more about Xen at http://fedora.redhat.com/projects/virtualization/.
Solid Platform — Fedora Core 4 includes and integrates the latest 4.0 version of GNU Compiler Collection, which has a rewritten optimization infrastructure and improved support for a native open source Java software stack. This stack includes parts of OpenOffice.org 2.0., Eclipse, and Apache Jakarta, among others.
This section is a brief explanation of why certain software is not included in Fedora Core or Fedora Extras. This information was drawn directly from the canonical wiki page:
http://fedoraproject.org/wiki/ForbiddenItems
A frequent question of the Fedora Project is why certain items are not included in Fedora Core or Fedora Extras. This briefly explains some of the reasons.
Other items, such as file systems support, requires community participation. For more information, refer to http://fedoraproject.org/wiki/Wishlist
NTFS Support is not included in the Fedora Core kernel because of patent concerns. Using a file system natively supported by Linux such as ext3 is a better option. If you must share files between Windows and Linux on a single system, use FAT/FAT32 (vfat) instead. For sharing across a network, Samba is a good option.
MP3 support is not included in any Fedora Core application because MP3 is heavily patented in several regions including the United States. The patent holder is unwilling to give an unrestricted patent grant, as required by the GPL. Other platforms might have paid the royalty and/or included proprietary software. Other Linux distributions not based in a region affected by the patent might ship MP3 decoders/encoders. However, Fedora Core cannot and does not ship MP3 decoders/encoders in order to serve the goal of shipping only free and open source software. Using other open source formats such as Ogg Vorbis (a lossy codec that has better quality than MP3) or FLAC (a lossless codec) is highly recommended.
The NVIDIA 3D drivers are closed source. Fedora Core does not include proprietary binaries. Consider using an Intel or any other manufacturer that supports open source cards with full specifications and/or source code.
The ATI 3D drivers are closed source. Fedora Core does not include proprietary binaries. Consider using an Intel or any other manufacturer that supports open source cards with full specifications and/or source code.
RealPlayer is a closed source application. Fedora Core does not include proprietary binaries. Consider using open source codecs that do not have patent restrictions.
DVD video playback (of CSS encrypted DVDs) may violate the US DMCA (refer to http://en.wikipedia.org/wiki/DMCA) because it may be considered circumventing an encryption mechanism. Additionally, MPEG2 is a patented codec, so even DVDs without encryption cannot be played. Consider using open source unencrypted mediums such as Ogg Theora formats.
Mono packages are not currently included due to potential legal issues. (Pending more input.) Applications can be written in other languages that are open source, such as Python, Perl, or Ruby. Java is cross-platform and GCJ is a relatively mature open source implementation of it. These are not direct one-to-one equivalents with .NET but might serve your purpose.
Some cryptology related packages such as mcrypt are not included within Fedora Core due to US export restrictions. Consider using non-restricted cryptographical methods instead.
The szip license is too restrictive for inclusion in Fedora Extras. Use other open source alternatives.
In conclusion:
If it is proprietary, it cannot be included in Fedora.
If it is legally encumbered, it cannot be included in Fedora.
If it violates US Federal law, it cannot be included in Fedora.
Of course, the logical followup is: "But I want to get foo and do bar, how can I do one of the items listed above?"
The unofficial http://fedorafaq.org provides useful answers on commonly asked questions. However, these are completely unsupported by the Fedora Project. The Fedora Project encourages using free and open source software..
The binary only drivers can be acquired from the vendors. You can find many interesting things with Google.
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/licenses/fdl.html.
This document may be copied and distributed in any medium, either commercially or noncommercially, provided that the GNU Free Documentation License (FDL), the copyright notices, and the license notice saying the GNU FDL applies to the document are reproduced in all copies, and that you add no other conditions whatsoever to those of the GNU FDL.
Garrett LeSage created the admonition graphics (note, tip, important, caution, and warning). Tommy Reynolds <Tommy.Reynolds@MegaCoder.com> created the callout graphics. They all may be freely redistributed with documentation produced for the Fedora Project.
RELEASE-NOTES-FC4 (2005-07-26-T16:20-0700)
Red Hat, Red Hat Network, the Red Hat "Shadow Man" logo, RPM, Maximum RPM, the RPM logo, Linux Library, PowerTools, Linux Undercover, RHmember, RHmember More, Rough Cuts, Rawhide and all Red Hat-based trademarks and logos are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries.
Linux is a registered trademark of Linus Torvalds.
Motif and UNIX are registered trademarks of The Open Group.
Intel and Pentium are registered trademarks of Intel Corporation. Itanium and Celeron are trademarks of Intel Corporation.
AMD, AMD Athlon, AMD Duron, and AMD K6 are trademarks of Advanced Micro Devices, Inc.
Windows is a registered trademark of Microsoft Corporation.
SSH and Secure Shell are trademarks of SSH Communications Security, Inc.
FireWire is a trademark of Apple Computer Corporation.
All other trademarks and copyrights referred to are the property of their respective owners.
The Fedora Project is an openly-developed project designed by Red Hat, open for general participation, led by a meritocracy, and following a set of project objectives. The results from this project include Fedora Core, which is a complete, general-purpose operating system built exclusively from open source software.
Note | |
---|---|
Fedora Core is a community supported project. Fedora Core is not a commercially supported product of Red Hat, Inc.. |
For more information, refer to Section 5, “Overview of This Release”.
Additional important information about this release may be made available at http://fedora.redhat.com/docs/release-notes/. Users are advised to check this link regularly for updates.
For reporting errors or other requests about these release notes, file a bug report using this pre-filled bugzilla template.
This http://tinyurl.com/al5g4 will take you to the same pre-filled bugzilla template.
The following information represents the minimum hardware requirements necessary to successfully install Fedora Core 4.
Note | |
---|---|
The compatibility/availability of other hardware components (such as video and network cards) may be required for specific installation modes and/or post-installation usage. |
This section lists the CPU specifications required by Fedora Core 4.
Note | |
---|---|
The following CPU specifications are stated in terms of Intel processors. Other processors (notably, offerings from AMD, Cyrix, and VIA) that are compatible with and equivalent to the following Intel processors may also be used with Fedora Core. |
Minimum: Pentium-class — Fedora Core 4 is optimized for Pentium 4 CPUs, but also supports earlier CPUs (such as Pentium, Pentium Pro, Pentium II, Pentium III, and including AMD and VIA variants). This approach has been taken because Pentium-class optimizations actually result in reduced performance for non-Pentium-class processors, and Pentium 4 scheduling is sufficiently different (while making up the bulk of today's processors) to warrant this change.
Recommended for text-mode: 200 MHz Pentium-class or better
Recommended for graphical: 400 MHz Pentium II or better
AMD64 processors (both Athlon64 and Opteron)
Intel processors with Intel® Extended Memory 64 Technology (Intel® EM64T)
This section lists the disk space required to install Fedora Core 4.
Note | |
---|---|
The disk space requirements listed below represent the disk space taken up by Fedora Core 4 after the installation is complete. However, additional disk space is required during the installation to support the installation environment. This additional disk space corresponds to the size of /Fedora/base/stage2.img (on CD-ROM 1) plus the size of the files in /var/lib/rpm on the installed system. In practical terms, this means that as little as an additional 90MB can be required for a minimal installation, while as much as an additional 175MB can be required for an "everything" installation. Also, keep in mind that additional space will be required for any user data, and at least 5% free space should be maintained for proper system operation. |
This list is for 32-bit x86 systems:
Custom Installation (Minimal): 620MB
Server: 1.1GB
Personal Desktop: 2.3GB
Workstation: 3.0GB
Custom Installation (Everything): 6.9GB
This list is for 64-bit x86_64 systems:
Custom Installation (Minimal): 900MB
Server: 1.5GB
Personal Desktop: 2.7GB
Workstation: 3.4GB
Custom Installation: (Everything) 7.5GB
This section lists the memory required to install Fedora Core 4.
This list is for 32-bit x86 systems:
Minimum for text-mode: 64MB
Minimum for graphical: 192MB
Recommended for graphical: 256MB
This list is for 64-bit x86_64 systems:
Minimum for text-mode: 128MB
Minimum for graphical: 256MB
Recommended for graphical: 512MB
This section lists the minimum PowerPC (PPC) hardware needed to install Fedora Core 4.
Minimum: PowerPC G3 / POWER4
Fedora Core 4 supports only the “New World” generation of Apple® Power Macintosh, shipped circa 1999 onwards. It also supports the 64-bit G5 processor and, POWER processors in IBM® eServer™ pSeries™. Currently 32-bit IBM® RS/6000™ machines are not supported.
Recommended for text-mode: 233 MHz G3 or better
Recommended for graphical: 400 MHz G3 or better
The following list includes brief summaries of some of the more significant aspects of Fedora Core 4:
Fedora Core 4 contains the following changes:
Support for the PowerPC (PPC) architecture.
GCC 4.0
GNOME 2.10
KDE 3.4 — includes new accessibility features. You can manage these new features in
.Native Eclipse 3.1M6 (part of a free Java stack)
MySQL 4.1
PHP 5.0
Xen 2 (virtualization to run multiple versions of an OS)
GFS 6.1-0.pre22 (cluster file system)
Evince 0.2.1 (universal document viewer)
GDM 2.6 - Includes early login capability
SELinux — This release includes coverage for 80 new daemons by the targeted policy. There are changes to the handling of Booleans. The targeted policy is enabled by default. For more information, refer to: http://fedora.redhat.com/docs/selinux-faq/. This is the complete list of daemons covered by the targeted policy:
NetworkManager
amanda
apache
apmd
arpwatch
auditd
bluetooth
canna
cardmgr
checkpolicy
chkpwd
compat
comsat
consoletype
cpucontrol
cpuspeed
crond
cups
cvs
cyrus
dbskkd
dbusd
dhcpc
dhcpd
dictd
dmidecode
dovecot
fingerd
fsadm
ftpd
getty
hald
hostname
hotplug
howl
hwclock
i18n_input
ifconfig
inetd
init
initrc
innd
kerberos
klogd
ktalkd
kudzu
ldconfig
load_policy
login
lpd
mailman
modutil
mta
mysqld
named
netutils
nscd
ntpd
portmap
postgresql
ppd
privoxy
radius
radvd
restorecon
rlogind
rpcd
rpm
rshd
rsync
samba
saslauthd
sendmail
setfiles
slapd
snmpd
squid
ssh
stunnel
syslogd
telnetd
tftpd
udev
updfstab
uucpd
webalizer
winbind
xdm
ypbind
ypserv
zebra
This section outlines those issues that are related to Anaconda (the Fedora Core installation program) and installing Fedora Core 4 in general.
Note | |
---|---|
If you intend to download the Fedora Core 4 DVD ISO image, keep in mind that not all file downloading tools can accommodate files larger than 2GB in size. For example, wget will exit with a File size limit exceeded error. The curl and ncftpget file downloading tools do not have this limitation, and can successfully download files larger than 2GB. Bittorrent is another method for downloading large files. For information about obtaining and using the torrent file refer to this website: |
The DVD or first CD of the installation set of Fedora Core is set to be bootable on the Apple® Macintosh and should boot the appropriate 32-bit or 64-bit installer. In addition, bootable CD images can be found in the images/ directory of the DVD or first CD. Choose the appropriate boot.iso according to the hardware:
images/mac/boot.iso - 32-bit Apple® Macintosh (G3/G4)
images/mac64/boot.iso - 64-bit Apple® Macintosh (G5)
images/pseries/boot.iso - 64-bit IBM® eServer™ pSeries™ (POWER4/POWER5)
Power management support, including sleep and backlight level management, is present in the apmud package, which is in Fedora Extras. Fedora Extras for Fedora Core is configured by default for yum. Following installation, apmud can be installed by running yum install apmud.
The Fedora Core installation program has the ability to test the integrity of the installation media. It works with the CD, DVD, hard drive ISO, and NFS ISO installation methods. Red Hat recommends that you test all installation media before starting the installation process, and before reporting any installation-related bugs (many of the bugs reported are actually due to improperly-burned CDs). To use this test, type linux mediacheck at the boot: prompt.
The mediacheck function is highly sensitive, and may report some usable discs as faulty. This result is often caused by disc writing software that does not include padding when creating discs from ISO files. For best results with the mediacheck, boot with the option:
linux ide=nodma
Use the sha1sum utility to verify discs before carrying out an installation. This test accurately identifies discs that are not valid or identical to the ISO image files.
Memory testing may be performed prior to installing Fedora Core by entering memtest86 at the boot: prompt. This causes the Memtest86 standalone memory testing software to run. Memtest86 memory testing continues until the Esc key is pressed.
NOTE: You must boot from CD-ROM 1 (or a rescue CD-ROM) in order to use this feature.
Fedora Core 4 supports graphical FTP and HTTP installations. However, due to the necessity of containing the installer image in RAM, only systems with more than 128MB of RAM (or systems booted from CD-ROM 1, which contains the installer image) can use the graphical installer. Systems with 128MB or less will continue to use the text-based installer.
Certain hardware configurations (particularly those with LCD displays) may experience problems while starting the Fedora Core installation program. In these instances, restart the installation, and add the "nofb" option to the boot command line.
Note | |
---|---|
Chinese, Japanese, and Korean graphical installations started using the "nofb" option will start in English, and then switch to the appropriate language once the graphical phase of the installation process begins. |
Some Sony VAIO® notebook systems may experience problems installing Fedora Core from CD-ROM. If this happens, restart the installation process and add the following option to the boot command line:
pci=off ide1=0x180,0x386
This option allows the installation to proceed normally; any devices not detected due to the use of this option will be configured the first time Fedora Core is booted.
Serial mice are known to be inoperative during installation. However, there are indications that serial mice work properly in X after the installation has completed. Refer to bug 119474 for more information:
There have been issues observed when upgrading Red Hat Linux 7.<x>, 8.0, 9, and Fedora Core 1, 2, and 3 systems where third party packages are installed that conflict with packages provided by Fedora Project. One example is Ximian GNOME.
The issue with Ximian GNOME is caused by version overlap between the official Red Hat Linux RPMs (or the ones from the Fedora Project) and the Ximian RPMs. This configuration is not supported. You have several choices in resolving this particular issue:
You may remove Ximian GNOME from your system prior to upgrading to Fedora Core.
You may upgrade your system, and then immediately reinstall Ximian GNOME.
You may upgrade your system, and then immediately remove all remaining Ximian RPMs, replacing them with the corresponding Fedora Core RPMs.
You must resolve the version overlap using one of the above choices. Failure to do so will result in an unstable GNOME configuration.
The following sections contain information regarding packages that have undergone significant changes for Fedora Core 4. For easier access, they are generally organized using the same groups used in Anaconda.
This section contains information related to basic system components.
Fedora Extras is part of the larger Fedora Project and is a volunteer-based community effort to create a repository of packages that compliment Fedora Core. The Fedora Extras repository is enabled by default from Fedora Core 4 onwards.
You can lean more about Fedora Extras from:
http://fedoraproject.org/wiki/Extras
If you would like to install any software available from Fedora extras you can use yum.
yum install <packagename>
Where <packagename> is the name of the package you want to install. For example, if you wanted to install the abiword package, the command yum install abiword automatically installs the package and all dependencies.
The audit daemon, auditd, is now enabled by default. When auditd is running, the kernel directs audit messages to /var/log/audit/audit.log. The location of this file is specified in /etc/auditd.conf.
AVC messages for SELinux are sent using the audit infrastructure. These messages are now in /var/log/audit/audit.log.
When auditd is not running, the kernel passes audit messages to syslog. These logs are typically kept in /var/log/messages and are viewable using dmesg.
Audit extensions are now compiled into PAM. All programs that do grant entry to the system or change user account attributes will generate an audit message.
To enable auditing within the kernel, you must pass the parameter audit=1 to the kernel during boot. Otherwise, you can use this command to enable auditing during run time:
auditctl -e 1
As the next step in removing support for the obsolete LinuxThreads library, code compiled and linked on Fedora Core 4 now automatically uses the NPTL headers and libraries.
In previous releases since Red Hat Linux 9, the default threading was LinuxThreads since the interface is mostly forward compatible. The advantages of the NPTL interface is that the cancellation handling is faster (when -fexception is used, even in C code) and that the additional interfaces are now available without special compiler and linker parameters. In other words, you do not need to use -I/usr/include/nptl and -L/usr/lib{,64}/nptl any longer. Note that lib{,64} is to be interpreted as lib64 on platforms which place DSOs in lib64/ directories, and lib/ otherwise.
In Fedora Core 4 it is still possible to create code using the LinuxThreads definitions. For this the linuxthreads-devel package must be installed and
-I/usr/include/linuxthreads -L/usr/lib{,64}/linuxthreads
must be passed to the compiler.
Previously, you could select the version of glibc and the libpgthread DSH using run time environment variables. You now need to also specify this variable in the environment:
LD_LIBRARY_PATH=/lib{,64}/obsolete/linuxthreads
This additional variable is required because the run/time libraries have been moved out of the way. There may be programs that will not work if the program uses an unfortunate DT_RPATH (which overwrites the LD_LIBRARY_PATH setting).
All this makes it more cumbersome to run programs which depend on LinuxThreads. But this is intentional.
Important | |
---|---|
FC5 will not have LinuxThreads support and all programs have to be converted to use NPTL by then. |
In general, conversion to using NPTL has not been an issue.
The database needed by the locate utility is no longer created by default. Enable the database creation by setting DAILY_UPDATE to yes in /etc/updatedb.conf if you want to use locate.
The version of OpenSSH in Fedora Core 4 is based on OpenSSH 3.9 and includes strict permission and ownership checks for the user configuration file ~/.ssh/config. If this file does not have appropriate ownership and permissions, ssh will exit.
Check that ~/.ssh/config is owned by the owner of ~/, and that its permissions are set to mode 600.
ls -l ~/.ssh/config -rw------- 1 username username 400 May 5 18:44 /home/username/.ssh/config
The directory ~/ is command-line shorthand for the logged in user's home directory, usually /home/username/.
In addition, OpenSSH is no longer configured to request X11 forwarding by default when connecting to servers. To enable X11 forwarding, the -X or -Y option must be specified, or the ForwardX11 option must be enabled in the ~/.ssh/config file.
The behavior of ssh clients that are invoked with the -X option has changed. In OpenSSH 3.8 and later, X11 forwarding is performed in a way that applications run as untrusted clients by default. Previously, X11 forwarding was performed so that applications always ran as trusted clients. Some applications may not function properly when run as untrusted clients. To forward X11 so that applications are run as trusted clients, invoke ssh with the -Y option instead of the -X option, or set ForwardX11Trusted in the ~/.ssh/config file.
Binary compat symlinks for perl-5.8.0, perl-5.8.1, and perl-5.8.2 have been removed. If you have perl modules built with those older versions of perl, you need to rebuild using the perl-5.8.6 contained in Fedora Core 4.
This section highlights changes and additions to the various GUI server and system configuration tools in Fedora Core.
Fedora Core 4 users are advised not to use the Java RPM provided by Sun. It contains Provides that conflict with names used in packages provided as part of Fedora Core 4. Because of this, Sun Java might disappear from an installed system during package upgrade operations.
Fedora Core 4 users should use either the RPM from jpackage.org or manually install the Sun Java tarball into /opt. Sun Java 1.5+ is recommended for stability purposes.
This section contains the most elemental components of Fedora Core, including the kernel.
The sqllite database is now used by yum, and makes performance noticeably faster.
The Fedora Extras repository is now enabled by default.
The Fedora Core is based on a 2.6.11 kernel. Fedora Core may include additional patches for improvements, bug fixes, or additional features. For this reason, the Fedora Core kernel may not be line-for-line equivalent to the so-called vanilla kernel from the kernel.org web site.
You may obtain a list of any such patches by using the command on the Fedora Core package:
rpm -qpl kernel-<version>.src.rpm
Fedora Core includes the following kernel builds:
Native kernel, in both uniprocessor and SMP varieties.
Configured sources are available in the kernel-devel-<version>.<arch>.rpm package.
Virtual kernel for use with the Xen emulator package.
Configured sources are available in the kernel-xen0-devel-<version>.<arch>.rpm package.
Sources for both kernel flavors may be installed at the same time. The files will be installed into the /usr/src/kernels/<version>[-xen0]-<arch>/ tree. Use the command:
rpm -Uvh kernel-devel[-xen0]-<version>.<arch>.rpm
as appropriate.
Following Generic Textbooks | |
---|---|
Many of the tutorials, examples, and textbooks about Linux kernel development assume the kernel sources are installed under the /usr/src/linux directory. If you make a symbolic link, as shown below, you should be able to use those learning materials with the Fedora Core packages. Install the appropriate kernel sources, as shown earlier, and then:
ln -s /usr/src/kernels/kernel-<all-the-rest> /usr/src/linux
|
Fedora Core 4 does not include the kernel-source package provided by older versions. Instead, configured sources are available as described in Section 7.2.2.2, “Kernel Flavors”. Users that require access to Fedora Core original kernel sources can find them in the kernel .src.rpm package. To create an exploded source tree from this file, perform the following steps:
These Instructions Refer to the Currently-running Kernel! | |
---|---|
To simplify the following directions, we have assumed that you want to configure the kernel sources to match your currently-running kernel. In the steps below, you must understand that the phrase <version> refers to the kernel version shown by this command:
uname -r
|
Obtain the kernel-<version>.src.rpm file from one of the following sources:
The SRPMS directory on the appropriate SRPMS CD iso image.
The FTP site where you got the kernel package.
By running the following command:
up2date --get-source kernel
Install kernel-<version>.src.rpm using the command:
rpm -Uvh kernel-<version>.src.rpm
This writes the RPM contents into /usr/src/redhat/SOURCES and /usr/src/redhat/SPECS.
Prepare the kernel sources using the commands:
cd /usr/src/redhat/SPECS rpmbuild -bp --target $(arch) kernel-2.6.spec
The kernel source tree will be located in the /usr/src/redhat/BUILD/kernel-<version> directory. It is common practice to move the resulting linux-<version> directory to the /usr/src tree; while not strictly necessary, we suggest that you do this to match the generally-available documentation.
cd /usr/src/redhat/BUILD/kernel-<version> /usr/src/ mv linux-<version> /usr/src/ cd /usr/src ln -s ./linux-<version> linux cd /usr/src/linux
The configurations for the specific kernels shipped in Fedora Core 4 are in the configs/ directory. For example, the i686 SMP configuration file is named configs/kernel-<version>-i686-smp.config. Issue the following command to place the desired configuration file in the proper place for building:
cp configs/<desired-config-file> .config
You can also find the .config file that matches your current kernel configuration in the /lib/modules/<version>/build/.config file.
Every kernel gets a name based on its version number. This is the value the uname -r command displays. The kernel name is defined by the first four lines of the kernel Makefile. To protect the innocent, the Makefile has been changed to generate a kernel with a different name from that of the running kernel. Before a module can be accepted by the running kernel, that module must have been compiled for a kernel with the correct name. To do this, you must edit the kernel Makefile
For example, if the uname -r returns the string 2.6.11-1.234_FC4, change the EXTRAVERSION definition from this:
EXTRAVERSION = -prep
to this:
EXTRAVERSION = -1.234_FC4
that is, substitute everything from the final dash onward.
Issue the following command:
make oldconfig
You can then proceed as usual.
An exploded source tree is not required to build a kernel module, such as your own device driver, against the currently in-use kernel.
For example, to build the foo.ko module, create the following Makefile in the directory containing the foo.c file:
obj-m := foo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) M=$(PWD) modules
Issue the make command to build the foo.ko module.
Fedora Core adds support for clustered systems. This requires a special kernel that works in conjunction with some user-space utilities, such as management daemons. Consequently, to remove such a kernel, perhaps after an update, you cannot simply use the rpm -e kernel-<version> command as in earlier distributions because these user space packages depend on the kernel package. You may either list both the kernel package and its user space dependent packages on the rpm -e command, or you may wish to use the yum remove kernel-<version> command instead since yum automatically removes dependent packages if necessary.
This section highlights various security items from Fedora Core.
Digital certificates are now centralised in directories under /etc/pki/. Users performing an upgrade must relocate their digital certificates.
OpenSSL: the /usr/share/ssl contents have moved to /etc/pki/tls and /etc/pki/CA.
Dovecot: A dovecot-openssl.cnf file is automatically installed in /etc/pki/dovecot/.
For information about SELinux, refer to Section 5, “Overview of This Release”.
Fedora Core 4 has been built using GCC 4.0, which is included with the distribution.
Caveats
GDB 6.1 or newer is needed to debug binaries unless compiled using the -fno-var-tracking compilation option.
The -fwritable-strings option is no longer accepted.
English-language diagnostic messages now use Unicode quotes; if you cannot read this, set your LC_CTYPE environment variable to "C" or change your terminal emulator.
The specs file is no longer installed on most systems. Ordinary users will not notice, but developers who need to alter the file can use the -dumpspecs option to generate the file for editing.
Code Generation
The SSA code optimizer is now included and brings with it better constant propagation, partial redundancy elimination, load and store code motion, strength reduction, dead storage elimination, better detection of unreachable code, and tail recursion by accumulation.
Autovectorization is supported. This technique achieves higher performance for repetitive loop code, in some circumstances.
Language Extentions
A sentinel attribute has been added so that the compiler will now issue a warning if a function such as execl(char *path, const char *arg, ...), which requires a NULL list terminator is missing the NULL.
The cast-as-lvalue, conditional-expression-as-lvalue, and compund-expression-as-lvalue extentions have been removed.
The #pragma pack() semantics have been brought closer to those used by other compilers.
Taking the address of a variable declared with the register modifier now generates an error instead of a warning.
Arrays of incomplete element types now generate an error. This implies no forward reference to structure definitions.
The basic compiler, without any optimization (-O0), has been measured as much as 25% faster in real-world code.
Libraries may now contain function-scope static variables in multi-threaded programs. The -fno-threadsafe-statics can be used by embedded developers to turn off this feature, but ordinary users should never do this.
Java
To avoid naming conflicts: rmic is now grmic; rmiregistry is now grmiregistry; and jar is now fastjar.
The GCJ compiler can now be used as a just-in-time (JIT) tool by using the gnu.jit facilities.
More support of the AWT and SWING packages have been added.
FORTRAN
The GNU FORTRAN 77 front end has been replaced by a new FORTRAN 90/95 recognizer.
Eclipse Development Environment
Eclipse 3.1M6 has been compiled as a native application.
The C Development Tool (CDT) has been included.
This section includes information related to the support of various languages under Fedora Core.
IIIMF is the Internet/Intranet Input Method Framework. In Fedora Core 4 the iiimf package is updated to version 12.2.
The names and locations of some files in the iiimf packages have changed.
The IIIMF server has been renamed from /usr/sbin/htt to /usr/bin/iiimd, and the XIM bridge client renamed from httx to iiimx. The init.d script name has not changed: it is still called iiim. All the global system configuration files are now located under /etc/iiim/.
Language Engine (LE) developers should note that LE modules and their data now live under ${libdir}/iiim/le/<LE_NAME>/, while runtime data is stored under /var/lib/iiim/le/<LE_NAME>/.
For more information on the exact path and file location changes, please refer to Fedora IIIMF FAQ:
Trigger keys, such as Ctrl-Space used to activate Input Methods, are now configurable with the command-line tool iiimf-le-tools. This feature is only supported by GTK2 applications currently. For other applications using XIM the trigger key can be changed using an X resource. Refer to the IIIMF FAQ at http://www.fedora.redhat.com/projects/i18n/iiimf-faq.html for more details on how to change trigger hotkeys.
Note that the keyname refers to the X key symbol name. For example, if you want to activate with Ctrl-@, you need to specify '<Control>at' as the keyname not '<Control>@'.
The per-user configuration of hotkeys does not work currently with SELinux in enforcing mode due to lack of SELinux policy. In this case, the hotkey can only be changed in the system-wide configuration.
A Qt immodule for iiimf is now included. This immodule works but lacks a status window and is considered experimental. Therefore, the default for Qt applications is to continue using XIM for IIMF input.
If you wish to try the immodule in a Qt application, first install the iiimf-qt package, start the application, then click mouse button-3 in an input area and select
from the ' submenu.This section contains information on Web-related applications.
The RC5 release of mod_perl 2.0 is now included. The API provided by this release is incompatible with previous 1.99_xx releases. Please refer to the following document for a discussion of how to adapt code to use the new API:
Version 5.0 of PHP is now included, which includes a number of changes to the language along with significant performance improvements. Please refer to the PHP documentation for more information on migrating from PHP 4.3 to PHP 5.0:
http://www.php.net/manual/en/migration5.php
The /usr/bin/php binary is now built using the CLI command-line SAPI, rather than the CGI SAPI. Use /usr/bin/php-cgi for CGI SAPI. The php-cgi also includes FastCGI support.
The following extensions have been added:
The mysqli extension, a new interface designed specifically for MySQL 4.1. This is included in the php-mysql package.
The soap extension, for implementing SOAP clients and servers.
The following extensions are now available as optional loadable extensions, rather than being built in to the PHP binaries:
The dba extension, now available in the php-dba package
The bcmath extension, now available in the php-bcmath package
This section contains information related to Samba, the suite of software that enables Linux to interact with Microsoft Windows systems.
Browsing of Windows shares (also known as SMB browsing) fails on Fedora Core 4 systems that have the standard firewall configured. This is most easily noticed in the failure of the desktop to display shares.
The firewall disrupts the broadcast mode of SMB browsing, which is the default. There are two workarounds:
Configure a WINS server on the network, and set the "wins server" option in smb.conf to the address of the WINS server.
Disable the firewall.
Disabling the firewall may make your system vulnerable | |
---|---|
Make sure you fully understand the risks before undertaking this step. |
For additional information, refer to the following bug report:
This section contains information related to the X Window System implementation provided with Fedora Core.
Users new to the X.org X11 implementation should take note of a few differences between it and the XFree86.org X11 implementation which shipped in previous Red Hat and Fedora operating systems. In particular, the names of some files have changed:
X Server Binary:
XFree86 X11: XFree86
X.org X11: Xorg
X Server Configuration File:
XFree86 X11: /etc/X11/XF86Config
X.org X11: /etc/X11/xorg.conf
X Server Log File:
XFree86 X11: /var/log/XFree86.$DISPLAY.log
X.org X11: /var/log/Xorg.$DISPLAY.log
When configuring or troubleshooting your X server configuration, be sure that you are using the correct files.
There has been some confusion regarding font-related issues under the X Window System in recent versions of Fedora Core (and versions of Red Hat Linux before it.) At the present time, there are two font subsystems, each with different characteristics:
The original (15+ year old) subsystem is referred to as the core X font subsystem. Fonts rendered by this subsystem are not anti-aliased, are handled by the X server, and have names such as: -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
The newer font subsystem is known as fontconfig, and allows applications direct access to the font files. Fontconfig is often used along with the Xft library, which allows applications to render fontconfig fonts to the screen with antialiasing. Fontconfig uses more human-friendly names such as: Luxi Sans-10
Over time, fontconfig and Xft will replace the core X font subsystem. At the present time, applications using the Qt 3 or GTK 2 toolkits (which would include KDE and GNOME applications) use the fontconfig and Xft font subsystem; almost everything else uses the core X fonts.
In the future, Fedora Core may support only fontconfig/Xft in place of the XFS font server as the default local font access method.
Note | |
---|---|
An exception to the font subsystem usage outlined above is OpenOffice.org, which uses its own font rendering technology. |
The steps to add new fonts to Fedora Core 4 depend on the fonts subsystem this is going to use the new fonts. For the core X font subsystem:
Create the /usr/share/fonts/local/ directory (if it doesn't already exist):
mkdir /usr/share/fonts/local/
Copy the new font file into /usr/share/fonts/local/
Update the font information by issuing the following commands (note that, due to formatting restrictions, the following commands may appear on more than one line; in use, each command should be entered on a single line):
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale mkfontdir /usr/share/fonts/local/
If you had to create /usr/share/fonts/local/, you must then add it to the X font server (xfs) path:
chkfontpath --add /usr/share/fonts/local/
Adding new fonts to the fontconfig font subsystem is more straightforward; the new font file only needs to be copied into the /usr/share/fonts/ directory (individual users can modify their personal font configuration by copying the font file into the ~/.fonts/ directory).
After the new font has been copied, use fc-cache to update the font information cache:
fc-cache <directory>
(Where <directory> would be either the /usr/share/fonts/ or ~/.fonts/ directories.)
Individual users may also install fonts graphically, by browsing fonts:/// in Nautilus, and dragging the new font files there.
Note | |
---|---|
If the font filename ends with ".gz", it has been compressed with gzip, and must be decompressed (with the gunzip command) before the fontconfig font subsystem can use the font. |
Due to the transition to the new font system based on fontconfig/Xft, GTK+ 1.2 applications are not affected by any changes made via the Font Preferences dialog. For these applications, a font can be configured by adding the following lines to the file ~/.gtkrc.mine:
style "user-font" { fontset = "<font-specification>" } widget_class "*" style "user-font"
(Where <font-specification> represents a font specification in the style used by traditional X applications, such as "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*".)
These are some of the packages that have moved from Core to Fedora Extras. These are active packages that are maintained and supported by the Fedora Project. If you are looking for information about Extras, refer to this URL:
http://fedoraproject.org/wiki/Extras
List is Incomplete | |
---|---|
This list highlights some of the major packages that moved from Core to Extras between Fedora Core 3 and Fedora Core 4. This is not a complete list. |
abiword
aiksaurus
balsa
bzflag
cyrus-imapd
dbh
dietlibc
exim
freeciv
gnuchess
gnumeric
grip
jed
lapack
libgda
libgnomedb
libtabe
libxfce4mcs
libxfce4util
libxfcegui
Maelstrom
ncftp
ots
recode
SDL_image
SDL_mixer
SDL_net
sylpheed
system-switch-im
xboard
xcin
xemacs
xemacs-sumo
xfce4-iconbox
xfce4-panel
xfce4-systray
xfce-mcs-manager
xfce-mcs-plugins
xfce-utils
xfdesktop
xffm
xffm-icons
xfprint
xfwm4
xmms
The goal of the Fedora Project is to work with the Linux community to build a complete, general-purpose operating system exclusively from open source software. Development is done in a public forum. The project produces time-based releases of Fedora Core approximately 2-3 times a year, with a public release schedule. The Red Hat engineering team continues to participate in building Fedora Core and invites and encourages more outside participation than was possible in the past. By using this more open process, we hope to provide an operating system more in line with the ideals of free software and more appealing to the open source community.
For more information, refer to the Fedora Project website:
In addition to the website, the following mailing lists are available:
fedora-list@redhat.com — For users of Fedora Core releases
fedora-test-list@redhat.com — For testers of Fedora Core test releases
fedora-devel-list@redhat.com — For developers, developers, developers
fedora-docs-list@redhat.com — For participants of the Documentation Project
To subscribe to any of these lists, send an email with the word "subscribe" in the subject to <listname>-request (where <listname> is one of the above list names.)
Alternately, you can subscribe through the Web interface:
http://www.redhat.com/mailman/listinfo/
If you have subscribed in the past to rhl-list, rhl-beta-list, rhl-devel-list, or rhl-docs-list, your subscriptions have been retained.
The Fedora Project also includes an IRC (Internet Relay Chat) channel. IRC is a real-time, text-based form of communication. With it, you can have conversations with multiple people in an open channel or chat with someone privately one-on-one.
To talk with other Fedora Project participants via IRC, access freenode IRC network. Initially, you can use irc.freenode.net as the IRC server, although you may decide to select a server that is geographically closer to you. Refer to the freenode website (http://www.freenode.net/) for more information. Fedora Project participants frequent the #fedora channel, while Fedora Project developers can often be found on the #fedora-devel channel. Some of the larger projects may have their own channels as well; this information can be found on the project pages.
In order to talk on the #fedora channel, you will need to register your nickname (nick). Instructions are given when you /join the channel.
Note | |
---|---|
Red Hat has no control over the Fedora Project IRC channels or their content. |