Aurelien Jarno 26/02/2006 FOSDEM. Debian GNU/kFreeBSD. Aurelien Jarno. What? Why? Status. The future. How to help?

Similar documents
Crosstoolchains in Debian

Embedded Systems Programming

Embedded Systems and Gentoo Linux: An Introduction/Overview

Cucumber Linux Distribution

Package Management Over Tor

Application Management

OOoCon Packaging OpenOffice.org. Chris Halls 20/03/2003 Packaging OpenOffice.org


Adding GNU/Hurd support to GNU Guix Porting GNU Guix to a new platform

An Introduction for Linux Users. Murray Stokely

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Mingw-w64 and Win-builds.org - Building for Windows

Linux Essentials Objectives Topics:

Ubuntu Development Primer

Building Custom Debian Distributions with the CDDTk

The Scratchbox development environment

Software Distribution and Package Management

Cross Compiling. Real Time Operating Systems and Middleware. Luca Abeni

Adding hardware support to Buildroot

The Lives of Others. Open-Source Development Practices Elsewhere. Peter Eisentraut. Senior Software Engineer Lab Development F-Secure Corporation

OSELAS.Support OSELAS.Training OSELAS.Development OSELAS.Services

Sourceforge.net CVS ~ Compile Farm

Open Source Development. Ely Levy Yair Yarom

Yocto Project components

Multiarch - why it s important

Software installation is not always a trivial task

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular

What is FreeBSD? Christian Brüffer The FreeBSD Project

ULTEO OPEN VIRTUAL DESKTOP DEBIAN WHEEZY (7.0) SUPPORT

The Common Debian Build System

GNU/Linux Course Lesson 1. Puria Nafisi

Linux operating system

Istanbul Kemerburgaz University. UNIX FreeBSD CPU Scheduling

Manage quality processes with Bugzilla

Introduction to Linux

Free & Open Source Software: The Academic Future

How To Start Mysql Using Linux Command Line Client In Ubuntu

emerge world Putting Your Processor to the Grindstone

Gentoo-Bionic We can Rebuild him. Better. Stronger. Faster.

Croatian Academic and Research Network - FTP Site Statistics. Top 20 Directories Sorted by Disk Space

Advantech General FAQ. How to change ubuntu specific kernel for quick cross test

Debian GNU/Linux port for RISC-V 64-bits

7 zip linux gui. Search

Embedded Linux development made easier. User s manual. Version:

How to set up the TinyOS environment on Debian

RISC-V. Palmer Dabbelt, SiFive COPYRIGHT 2018 SIFIVE. ALL RIGHTS RESERVED.

Status Report Summer/Fall 2004

Ada in Debian GNU/Linux slides suitable for a 50 minute presentation Copyright (C) 2004, 2006 Ludovic Brenta brenta.

Recent and Forthcoming FreeBSD Releases

Kernel driver maintenance : Upstream vs. Industry

Cross-compiling Linux Kernels on x86_64: A tutorial on How to Get Started

High performance Linux clusters - design/configuration/maintenance

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Porting Linux to x86-64

Computer Center, CS, NCTU. Outline. FreeBSD version 11.1-RELEASE. Installing FreeBSD. From CD-ROM From USB

MRCP. Asterisk Modules. Administrator Guide. Powered by Universal Speech Solutions LLC

A Practical Introduction to Version Control Systems

Ubuntu Sever Administration. Duration:40 Hrs

The Debian Kernel and its Team http// kernel/

Gentoo Linux. Software Freedom Day 2010 Charleston, SC Linux User Group. Presentation by Kevin Bowling

Transitioning from uclibc to musl for embedded development. Embedded Linux Conference 2015 Rich Felker, maintainer, musl libc March 24, 2015

Configure Ftp In Windows 7 64 Bit Iso Mozilla Firefox Latest Version

How to install Java Virtual Machine on Debian 7 GNU / Linux

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

CS197U: A Hands on Introduction to Unix

SISTEM OPERASI PELAYAN (SERVER) SKS 3104 SISTEM OPERASI RANGKAIAN SIJIL SISTEM KOMPUTER & SOKONGAN KOLEJ KOMUNITI PAYA BESAR

Alekto LAN. Zoom in Picture

Docker for HPC? Yes, Singularity! Josef Hrabal

Compiling Software on UNIX. System Administration Decal Spring 2009 Lecture #4 George Wu Slides prepared by Joshua Kwan

Yocto Project & Embedded Linux

Why You Should Not Use Arch

FreeBSD on latest ARM Processors

Structure and Config

HKG18-TR01: Open Source Philosophy. Daniel Lezcano

Computer Center, CS, NCTU. Outline. FreeBSD version 9.0-RELEASE 9.1-RC1. Installing FreeBSD. From CD-ROM From USB

MariaDB ColumnStore C++ API Building Documentation

Thailand FOSS Localization Report

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa

Linux. What is it? What s good about it? What s bad about it?

Requirements for Building and Using the Kernel

The only open-source type-1 hypervisor

Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed

Debian Project. What is Debian? Debian. Debain Roadmap. Linux(Debian GNU/Linux) : 3 (2005/8/4) ASIN:

without installation to a hard disk, derived from Debian istribution based on and compatible with Ubuntu.

Agenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)

Open Source Development

Introduction to GIT. Jordi Blasco 14 Oct 2011

Open Source Manual Software List For Windows

Igniting the Open Hardware Ecosystem with RISC-V

FOSS & Chitwanix Ar un Kumar Pariyar

Organization, Structure, and How To Contribute

CS 360. Tools and Process. Communication. Development. CS360 Pacific University 1 08/31/16

Contribute To Linux Mainline

linux-2.6 Packaging maximilian attems Debian Kernel Team Linuxwochen Graz May 20, 2006

RafKill Raptor Free Software (Open Source) clone for GNU/Linux

Viewing JPEG,GIF and PNG in ASCII with cacaview on GNU / Linux - Review on caca-utils text mode graphics utilities

How to install Linux or *BSD to USB flash drive (memory stick) using Debian GNU / Linux

An Introduction to Debian Packaging

G-WAN. Complete install process for Ubuntu (both for the 32 and the 64 OS versions).

How to add support for DJVU file format on M$ Windows, Mac, GNU / Linux and FreeBSD

Transcription:

aurel32@debian.org FOSDEM 26/02/2006

What is? port FreeBSD kernel (kfreebsd for short) kfreebsd 5.4 experimental version of kfreebsd 6.0 GNU userland GNU libc Cool tools (dpkg, apt,...) A Gentoo port has been started recently.

Why would you prefer to GNU/Linux? Because you like the FreeBSD kernel Jails UFS 2+ IPv6 statefull firewalling Stable kernel API Better or worse device support To add diversity among your machines To be able to run FreeBSD and Linux binaries is the universal OS

Why would you prefer to FreeBSD? Because you don t like FreeBSD ports system (or just because you like the package system :-) Because you prefer the GNU userland to the BSD one ext2fs, reiserfs, upcoming xfs and upcoming Xbox ethernet drivers enabled by default (GPL contaminated kernel) 100% free system according to the DFSG

Supported architectures Currently x86 only (kfreebsd-i386.deb) An alpha port of the GNU libc has existed. An AMD64 port is underway. The toolchain is ported, but there are still bugs to fix.

of the toolchain GCC Support in upstream, except for Ada Support all languages but Java Version 3.3, 3.4, 4.0 and 4.1 are available Binutils Support in upstream GNU libc GNU libc ported by Bruno Haible in 2002 Not yet integrated in upstream, set of patches Patches to remove linuxisms are being merged Sysdeps/ directory will go to glibc-ports Uses linuxthreads (how about the future?)

Follows unstable and experimental unreleased repository for patched packages 77% of the packages have been ported (4700 source packages) The most advanced non-linux port popcon.debian.org shows 17 machines A few machines using it in production (web server, database)

Some available packages Xorg, KDE 3.5, most parts of Gnome, WindowMaker,... Apache, PHP, MySQL, Postgresql, Samba... Abiword, KOffice, The Gimp,... Frozen Bubble, GTetrinet, Pingus,... Totem, Kaffeine, XMMS,... MPlayer (not a package) also works out of the box

Some missing packages Gecko based browsers Mozilla Thunderbird Openoffice.org

Primary mirror (ftp.gnuab.org) + a few mirrors Packages are searchable on http ://pdo.debian.net 2 autobuilders Build status on http ://buildd.net Build logs on http ://experimental.ftbs.de Developer accessible machine (io.debian.net)

Reach 95% of source packages built Port integrated into the archive Release architecture installer (currently it uses the FreeBSD installer) Other architectures We need help!

How to try it? Installing it http ://glibc-bsd.alioth.debian.org/install LiveCD http ://ftp.gnuab.org/pub/ging/ Developer machine http ://io.debian.net/ssh.html Report bugs, and tell friends about it!

How to help as a Try to build your packages on io.debian.net Try to port them Out of date config.guess and config.sub Out of date libtool http ://glibc-bsd.alioth.debian.org/porting FreeBSD CVS Don t ignore our patches sent to the BTS Our policy is to send a bug report only when we have a patch.

A few tricks for portable packages Don t suppose a GNU/Linux system :./configure --host= dpkg --print-architecture -linux but./configure --host= dpkg-architecture -qdeb HOST GNU TYPE Don t build depends on libc6-dev! The glibc development package is libc0.1-dev Don t build depends on linux-kernel-headers if you don t need kernel headers

A few tricks for portable packages (2) If your package supports Linux specific stuff (alsa, hal,... ), enable them for GNU/Linux only : DEB HOST ARCH OS := $(shell dpkg-architecture -qdeb HOST ARCH OS) ifeq (linux,$(deb HOST ARCH OS)) linux specific stuff endif Build-depends : field such as [linux-any], [any-i386] will be available soon Use DEB HOST ARCH CPU to test for a specific CPU, not DEB HOST ARCH For x86 packages, add kfreebsd-i386 to the Architecture : field.

Writing portable programs Avoid Linux specific functions when possible Provide a way to bootstrap compilers Kernel!= userland Use autotools instead of #ifdef (use a recent version) FreeBSD = plain FreeBSD system (kernel + userland) FreeBSD kernel = FreeBSD kernel only

Writing portable programs (2) Wrong solution : #ifdef linux #include <endian.h> #elif FreeBSD #include <sys/endian.h> #error "Unknown system" #endif

Writing portable programs (2) Wrong solution : #ifdef linux #include <endian.h> #elif FreeBSD #include <sys/endian.h> #error "Unknown system" #endif Better solution : #ifdef GLIBC #include <endian.h> #elif FreeBSD #include <sys/endian.h> #error "Unknown system" #endif

Writing portable programs (2) Wrong solution : #ifdef linux #include <endian.h> #elif FreeBSD #include <sys/endian.h> #error "Unknown system" #endif Better solution : #ifdef GLIBC #include <endian.h> #elif FreeBSD #include <sys/endian.h> #error "Unknown system" #endif Best solution : use autotools!

Writing portable programs (3) Wrong solution : #include <linux/soundcard.h>

Writing portable programs (3) Wrong solution : #include <linux/soundcard.h> Better solution : #include <sys/soundcard.h>

Writing portable programs (3) Wrong solution : #include <linux/soundcard.h> Better solution : #include <sys/soundcard.h> You can also use autotools, but don t use them to move the problem :... case $host os in linux*) AC DEFINE(HAVE LINUX SOUNDCARD) freebsd*) AC DEFINE(HAVE FREEBSD SOUNDCARD) esac...

Writing portable programs (4) Wrong solution :... case $host os in linux*) AC DEFINE( GNU SOURCE) esac... Best solution :... case $host os in *-gnu) AC DEFINE( GNU SOURCE) esac...

Wiki : http ://wiki.debian.org/ Mailing-list : debian-bsd@lists.debian.org IRC : #gnu-kbsd@freenode Patches, various stuff : http ://glibc-bsd.alioth.debian.org/