From 10597f4095c6069488415961289059f6cfdce853 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 31 Mar 2016 11:47:47 +0200 Subject: GSoC 2016 student application period is over --- community/gsoc.mdwn | 6 ++---- sidebar.mdwn | 8 -------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index 1e2d813d..b5df8ef2 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -20,25 +20,23 @@ We're in! The GNU Hurd project is again participating in the [Google Summer of Code](https://summerofcode.withgoogle.com/) under the [GNU umbrella](http://www.gnu.org/software/soc-projects/). - Per the [program timeline](https://summerofcode.withgoogle.com/how-it-works/), + we're now waiting for Google to announce the number of slots that the whole GNU project gets, and we'll be discussing with our GNU peers about how to split these up among all the GNU subprojects. ---> As we only have finite resources (meaning that we won't be able to accept all GNU Hurd applications even if we wanted to), we will eventually need to make a diff --git a/sidebar.mdwn b/sidebar.mdwn index 57245da2..0cd1101d 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -11,14 +11,6 @@ License|/fdl]]."]]"""]] Welcome to... [[!img /logo/boxes-redrawn.png link=/logo]] ... the GNU Hurd! -[[!template id=highlight text="""**Breaking News** - ---- - -The **Google Summer of Code 2016** is on! If you're a student, consider -applying for a GNU Hurd project -- details to be found on our -[[community/GSoC]] and [[community/gsoc/project_ideas]] pages."""]] - --- * **[[Home|/index]]** -- cgit v1.2.3 From b7a83ff33d2793bf0db12f9bf5f52a90acb1bf2b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 3 Apr 2016 14:56:06 +0200 Subject: add pygobject --- open_issues/problematic_packages.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/open_issues/problematic_packages.mdwn b/open_issues/problematic_packages.mdwn index 3e11c0e2..7f80b88a 100644 --- a/open_issues/problematic_packages.mdwn +++ b/open_issues/problematic_packages.mdwn @@ -28,3 +28,7 @@ This page lists the few packages whose build makes the Debian buildd box crash a * ext2fs gets stuck * emacs24 + +* loops and eats memory + + * pygobject -- cgit v1.2.3 From f901b6bb3753be05a2c3121e03e3aece59ecfaa7 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 5 Apr 2016 13:53:37 +0200 Subject: socket-wrapper also kills the session --- open_issues/problematic_packages.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/open_issues/problematic_packages.mdwn b/open_issues/problematic_packages.mdwn index 7f80b88a..7ce9c5c4 100644 --- a/open_issues/problematic_packages.mdwn +++ b/open_issues/problematic_packages.mdwn @@ -20,6 +20,7 @@ This page lists the few packages whose build makes the Debian buildd box crash a * ruby-hiredis * libxs * subversion testsuite + * socket-wrapper * breaks cron -- cgit v1.2.3 From 20a22829ce555fd72532b4572112c7a8b6e18c29 Mon Sep 17 00:00:00 2001 From: 764582402 <764582402@web> Date: Wed, 6 Apr 2016 03:23:51 +0200 Subject: translate to Chinese --- microkernel/mach/gnumach.mdwn | 109 ++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 58 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 88aa1432..6b32b852 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -7,82 +7,75 @@ 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 included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] +License|/fdl]].translator:zlc;email:764582402@qq.com"]]"""]] -GNU Mach is the microkernel upon which a GNU Hurd system is based. It provides -an Inter Process Communication (IPC) mechanism that the Hurd uses to define -interfaces for implementing in a distributed multi-server fashion the services -a traditional operating system kernel provides. +GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 +(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, +Hurd据此实现接口,从而实现传统操作系统提供的服务。 -It is maintained by the Hurd developers for the GNU project and remains -compatible with [[Mach]] 3.0. +GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 -The majority of GNU Mach's [[device_driver]]s are from Linux 2.0. They were -added using glue code, i.e., a Linux [[emulation]] layer in Mach. +GNU Mach 主要的 [[设备驱动(device_drivers)]] 来自 Linux 2.0。这些驱动依靠 +Mach 中的 Linux [[emulation]] 层运行。 -GNU Mach runs on x86 machines. See the -[[hardware_compatibility_list]] and information about -[[ports]] to other architectures. +GNU Mach 运行在 x86 机上。详细信息参见 +[[硬件兼容列表(hardware_compatibility_list)]],还有关于[[移植(ports)]]到其 +他架构上的信息。 -The latest release is [[GNU Mach 1.6|news/2015-10-31-releases]]. +最新版本:[[GNU Mach 1.6|news/2015-10-31-releases]]。 -# Advantages of GNU Mach -GNU Mach is not the most advanced [[microkernel]] known to the planet, nor is -it the fastest or smallest, but it has a rich set of [[interface]]s and some -features which make it useful as the base of the [[Hurd]] system. +# GNU Mach 的优点 - * **it's free software** - - Anybody can use, modify, and redistribute it under the terms of the - [[GNU_General_Public_License_(GPL)|gpl]]. +GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也不是最小、最快的, +但是其拥有作为 [[Hurd]] 系统基础的,丰富的 [[接口(interfaces)]] 以及特性。 - * **it's built to survive** - - As a [[microkernel]], GNU Mach doesn't implement a lot of the features - commonly found in an operating system, but only the bare minimum that is - required to implement a full operating system on top of it. This means - that a lot of the operating system code is maintained outside of GNU Mach, - and while this code may go through a complete redesign, the code of the - microkernel can remain comparatively stable. - - * **it's scalable** + + * **是开放源码的** - Mach is particularly well suited for SMP and network cluster techniques. - Thread support is provided at the kernel level, and the kernel itself takes - advantage of that. Network transparency at the [[IPC]] level makes - resources of the system available across machine boundaries (with NORMA - IPC, currently not available in GNU Mach). + 任何人在 [[GNU_General_Public_License_(GPL)|gpl]] 的授权下,都可以对其使用 + ,修改,并且二次发布。 - * **it exists** + * **是易于维护的** - The Mach microkernel is real software that works Right Now. It is not a - research or a proposal. You don't have to wait at all before you can start - using and developing it. Mach has been used in many operating systems in - the past, usually as the base for a single UNIX server. In the GNU system, - Mach is the base of a functional multi-server operating system, the - [[Hurd]]. + 作为一款 [[微内核(microkernel)]],GNU Mach 没有实现太多其他操作系统都有的 + 特性,而是仅仅实现了一个用于在其上实现完整的操作系统的,所需特性的最小集 + 合。这意味着操作系统大量的代码将剥离 GNU Mach,在其外部进行维护;当这些代码 + 需要重构的时候,微内核的代码仍能保持稳定的兼容性。 + + * **是可于扩展的** + Mach 能非常良好的支持 SMP 和网络集群技术。提供内核级的线程支持,并且内核本 + 身都因此受益。在 [[IPC]] 层的网络透明使得系统可以提供机器边界的资源 + (目前 GNU Mach 不对NORMA IPC提供支持)。 -# Booting + * **是实际存在的** -To actually use the kernel and boot the GNU operating system, you need a boot -loader. Not all boot loaders are capable to boot the GNU system, you need one -that supports the multiboot standard. The bootloader of the GNU system is -[[GNU_GRUB|grub]], which supports a broad range of operating systems including -GNU/Hurd. + Mach 微内核是真实存在的,并且现在就可以使用。其不是一个研究或者倡议。用户不 + 需要等待,现在就可以开始使用并开发它。Mach 在过去曾经被用在很多操作系统中, + 通常作为一个独立 UNIX 服务器的基础。在 GNU 系统,Mach 作为一个使用的多服务 + 器操作系统([[Hurd]])的基础。 -# Development +# 启动 - * [[Reference_Manual]] - * [[Building]] - * [[Debugging]] - * [[Boot_Trace]] - * [[Memory_Management]] +想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序 +(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持 +多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用 +[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 + + +# 开发 + + * [[参考手册(Reference_Manual)]] + * [[构建(Building)]] + * [[调试(Debugging)]] + * [[启动跟踪(Boot_Trace)]] + * [[内存管理(Memory_Management)]] * [[Continuation]]s - * [[Preemption]] - * [[Projects]] - * [[Rules]] + * [[抢占(Preemption)]] + * [[项目(Projects)]] + * [[规则(Rules)]] * [[Open Issues|tag/open_issue_gnumach]] + -- cgit v1.2.3 From 3313a02e7fd3123f24880a8a8aad61644a1119ad Mon Sep 17 00:00:00 2001 From: 764582402 <764582402@web> Date: Wed, 6 Apr 2016 03:48:10 +0200 Subject: translate to Chinese ,v2 --- microkernel/mach/gnumach.mdwn | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 6b32b852..67cd6525 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -7,7 +7,7 @@ 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 included in the section entitled [[GNU Free Documentation -License|/fdl]].translator:zlc;email:764582402@qq.com"]]"""]] +License|/fdl]]."]]"""]] GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 (Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, @@ -15,12 +15,10 @@ Hurd据此实现接口,从而实现传统操作系统提供的服务。 GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 -GNU Mach 主要的 [[设备驱动(device_drivers)]] 来自 Linux 2.0。这些驱动依靠 +GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠 Mach 中的 Linux [[emulation]] 层运行。 -GNU Mach 运行在 x86 机上。详细信息参见 -[[硬件兼容列表(hardware_compatibility_list)]],还有关于[[移植(ports)]]到其 -他架构上的信息。 +GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_compatibility_list]],还有关于移植[[ports]]到其他架构上的信息。 最新版本:[[GNU Mach 1.6|news/2015-10-31-releases]]。 @@ -28,18 +26,17 @@ GNU Mach 运行在 x86 机上。详细信息参见 # GNU Mach 的优点 -GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也不是最小、最快的, -但是其拥有作为 [[Hurd]] 系统基础的,丰富的 [[接口(interfaces)]] 以及特性。 +GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的, +但是其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 * **是开放源码的** - 任何人在 [[GNU_General_Public_License_(GPL)|gpl]] 的授权下,都可以对其使用 - ,修改,并且二次发布。 + 任何人在[[GNU_General_Public_License_(GPL)|gpl]]的授权下,都可以对其使用,修改,并且二次发布。 * **是易于维护的** - 作为一款 [[微内核(microkernel)]],GNU Mach 没有实现太多其他操作系统都有的 + 作为一款微内核 [[microkernel]],GNU Mach 没有实现太多其他操作系统都有的 特性,而是仅仅实现了一个用于在其上实现完整的操作系统的,所需特性的最小集 合。这意味着操作系统大量的代码将剥离 GNU Mach,在其外部进行维护;当这些代码 需要重构的时候,微内核的代码仍能保持稳定的兼容性。 @@ -47,7 +44,7 @@ GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也 * **是可于扩展的** Mach 能非常良好的支持 SMP 和网络集群技术。提供内核级的线程支持,并且内核本 - 身都因此受益。在 [[IPC]] 层的网络透明使得系统可以提供机器边界的资源 + 身都因此受益。在[[IPC]]层的网络透明使得系统可以提供机器边界的资源 (目前 GNU Mach 不对NORMA IPC提供支持)。 * **是实际存在的** @@ -55,7 +52,7 @@ GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也 Mach 微内核是真实存在的,并且现在就可以使用。其不是一个研究或者倡议。用户不 需要等待,现在就可以开始使用并开发它。Mach 在过去曾经被用在很多操作系统中, 通常作为一个独立 UNIX 服务器的基础。在 GNU 系统,Mach 作为一个使用的多服务 - 器操作系统([[Hurd]])的基础。 + 器操作系统[[Hurd]]的基础。 # 启动 @@ -68,14 +65,17 @@ GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也 # 开发 - * [[参考手册(Reference_Manual)]] - * [[构建(Building)]] - * [[调试(Debugging)]] - * [[启动跟踪(Boot_Trace)]] - * [[内存管理(Memory_Management)]] + * 参考手册[[Reference_Manual]] + * 构建[[Building]] + * 调试[[Debugging]] + * 启动跟踪[[Boot_Trace]] + * 内存管理[[Memory_Management]] * [[Continuation]]s - * [[抢占(Preemption)]] - * [[项目(Projects)]] - * [[规则(Rules)]] + * 抢占[[Preemption]] + * 项目[[Projects]] + * 规则[[Rules]] * [[Open Issues|tag/open_issue_gnumach]] + +本页翻译:zlc:764582402@qq.com,不足之处请谅解,改进之处请邮件联系。 + -- cgit v1.2.3 From 00bcfff2fe2769bc7780a57af44763cb7eaa90e9 Mon Sep 17 00:00:00 2001 From: 764582402 <764582402@web> Date: Wed, 6 Apr 2016 03:52:45 +0200 Subject: translate to Chinese,v2.1 --- microkernel/mach/gnumach.mdwn | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 67cd6525..60256dda 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -9,14 +9,11 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 -(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, -Hurd据此实现接口,从而实现传统操作系统提供的服务。 +GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器,Hurd据此实现接口,从而实现传统操作系统提供的服务。 GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 -GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠 -Mach 中的 Linux [[emulation]] 层运行。 +GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠Mach 中的 Linux [[emulation]] 层运行。 GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_compatibility_list]],还有关于移植[[ports]]到其他架构上的信息。 @@ -26,8 +23,7 @@ GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_c # GNU Mach 的优点 -GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的, -但是其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 +GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的,但其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 * **是开放源码的** @@ -57,10 +53,7 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 # 启动 -想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序 -(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持 -多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用 -[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 +想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 # 开发 @@ -78,4 +71,3 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 本页翻译:zlc:764582402@qq.com,不足之处请谅解,改进之处请邮件联系。 - -- cgit v1.2.3 From 5f1d6d2d30660c3ac196f2a5c4fc713bc68f83ae Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 19 Apr 2016 01:43:39 +0200 Subject: futex is done, httpfs could receive care --- contributing.mdwn | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/contributing.mdwn b/contributing.mdwn index 95f4cb39..4bf615d4 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -95,10 +95,6 @@ with". file_get_fs_options and fsys_set_options RPCs. * Extend `device_read`/`device_write` into supporting > 2TiB disk sizes. * Make the Hurd [[hurd/console]]'s configuration use [[xkb layout/variant instead of keymap|hurd/console/discussion]]. -* Add a [[futex kernel trap|microkernel/mach/gnumach/interface#futex]] to GNU Mach. -This can be useful for nicer locking -primitives, including inter-process primitives. `vm_allocate` can be used as an -example in the `gnumach` source tree for how to add a kernel trap. [[!GNU_Savannah_task 6231]] * Add NX protection support to GNU Mach. * Write a partfs translator, to which one gives a disk image, and which exposes the partitions of the disk image, using parted, and @@ -115,6 +111,7 @@ lookups|hurd/interface/dir_lookup]] work. * Add a relatime or lazytime option to ext2fs. * Fix our [[open_issues/symlink_translator]]. * Fix chmod on fifos: mkfifo foo ; sudo chmod g+w foo +* Strengthen httpfs: it should append '/' to URL automatically, it should not fallback index.html itself, etc. probably a lot more small easy issues. ## Porting Packages -- cgit v1.2.3 From 586714d1311eed2aef9ebca2ccebf52a0bbbb45a Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 19 Apr 2016 01:44:56 +0200 Subject: Revert "translate to Chinese,v2.1" This reverts commit 00bcfff2fe2769bc7780a57af44763cb7eaa90e9. --- microkernel/mach/gnumach.mdwn | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 60256dda..67cd6525 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -9,11 +9,14 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器,Hurd据此实现接口,从而实现传统操作系统提供的服务。 +GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 +(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, +Hurd据此实现接口,从而实现传统操作系统提供的服务。 GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 -GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠Mach 中的 Linux [[emulation]] 层运行。 +GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠 +Mach 中的 Linux [[emulation]] 层运行。 GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_compatibility_list]],还有关于移植[[ports]]到其他架构上的信息。 @@ -23,7 +26,8 @@ GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_c # GNU Mach 的优点 -GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的,但其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 +GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的, +但是其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 * **是开放源码的** @@ -53,7 +57,10 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 # 启动 -想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 +想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序 +(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持 +多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用 +[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 # 开发 @@ -71,3 +78,4 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 本页翻译:zlc:764582402@qq.com,不足之处请谅解,改进之处请邮件联系。 + -- cgit v1.2.3 From 95287b2d6f44da85a4bbb466433357d2c5d494fd Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 19 Apr 2016 01:45:01 +0200 Subject: Revert "translate to Chinese ,v2" This reverts commit 3313a02e7fd3123f24880a8a8aad61644a1119ad. --- microkernel/mach/gnumach.mdwn | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 67cd6525..6b32b852 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -7,7 +7,7 @@ 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 included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] +License|/fdl]].translator:zlc;email:764582402@qq.com"]]"""]] GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 (Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, @@ -15,10 +15,12 @@ Hurd据此实现接口,从而实现传统操作系统提供的服务。 GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 -GNU Mach 主要的设备驱动[[device_drivers]] 来自 Linux 2.0。这些驱动依靠 +GNU Mach 主要的 [[设备驱动(device_drivers)]] 来自 Linux 2.0。这些驱动依靠 Mach 中的 Linux [[emulation]] 层运行。 -GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_compatibility_list]],还有关于移植[[ports]]到其他架构上的信息。 +GNU Mach 运行在 x86 机上。详细信息参见 +[[硬件兼容列表(hardware_compatibility_list)]],还有关于[[移植(ports)]]到其 +他架构上的信息。 最新版本:[[GNU Mach 1.6|news/2015-10-31-releases]]。 @@ -26,17 +28,18 @@ GNU Mach 运行在 x86 机上。详细信息参见硬件兼容列表[[hardware_c # GNU Mach 的优点 -GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是最小、最快的, -但是其拥有作为[[Hurd]]系统基础的,丰富的接口[[interfaces]]以及特性。 +GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也不是最小、最快的, +但是其拥有作为 [[Hurd]] 系统基础的,丰富的 [[接口(interfaces)]] 以及特性。 * **是开放源码的** - 任何人在[[GNU_General_Public_License_(GPL)|gpl]]的授权下,都可以对其使用,修改,并且二次发布。 + 任何人在 [[GNU_General_Public_License_(GPL)|gpl]] 的授权下,都可以对其使用 + ,修改,并且二次发布。 * **是易于维护的** - 作为一款微内核 [[microkernel]],GNU Mach 没有实现太多其他操作系统都有的 + 作为一款 [[微内核(microkernel)]],GNU Mach 没有实现太多其他操作系统都有的 特性,而是仅仅实现了一个用于在其上实现完整的操作系统的,所需特性的最小集 合。这意味着操作系统大量的代码将剥离 GNU Mach,在其外部进行维护;当这些代码 需要重构的时候,微内核的代码仍能保持稳定的兼容性。 @@ -44,7 +47,7 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 * **是可于扩展的** Mach 能非常良好的支持 SMP 和网络集群技术。提供内核级的线程支持,并且内核本 - 身都因此受益。在[[IPC]]层的网络透明使得系统可以提供机器边界的资源 + 身都因此受益。在 [[IPC]] 层的网络透明使得系统可以提供机器边界的资源 (目前 GNU Mach 不对NORMA IPC提供支持)。 * **是实际存在的** @@ -52,7 +55,7 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 Mach 微内核是真实存在的,并且现在就可以使用。其不是一个研究或者倡议。用户不 需要等待,现在就可以开始使用并开发它。Mach 在过去曾经被用在很多操作系统中, 通常作为一个独立 UNIX 服务器的基础。在 GNU 系统,Mach 作为一个使用的多服务 - 器操作系统[[Hurd]]的基础。 + 器操作系统([[Hurd]])的基础。 # 启动 @@ -65,17 +68,14 @@ GNU Mach 不是世界上已知最先进的微内核[[microkernel]],也不是 # 开发 - * 参考手册[[Reference_Manual]] - * 构建[[Building]] - * 调试[[Debugging]] - * 启动跟踪[[Boot_Trace]] - * 内存管理[[Memory_Management]] + * [[参考手册(Reference_Manual)]] + * [[构建(Building)]] + * [[调试(Debugging)]] + * [[启动跟踪(Boot_Trace)]] + * [[内存管理(Memory_Management)]] * [[Continuation]]s - * 抢占[[Preemption]] - * 项目[[Projects]] - * 规则[[Rules]] + * [[抢占(Preemption)]] + * [[项目(Projects)]] + * [[规则(Rules)]] * [[Open Issues|tag/open_issue_gnumach]] - -本页翻译:zlc:764582402@qq.com,不足之处请谅解,改进之处请邮件联系。 - -- cgit v1.2.3 From 1e8d71e3fe009302711a10f075ce2409e8d98a38 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 19 Apr 2016 01:45:06 +0200 Subject: Revert "translate to Chinese" This reverts commit 20a22829ce555fd72532b4572112c7a8b6e18c29. --- microkernel/mach/gnumach.mdwn | 109 ++++++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 51 deletions(-) diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 6b32b852..88aa1432 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -7,75 +7,82 @@ 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 included in the section entitled [[GNU Free Documentation -License|/fdl]].translator:zlc;email:764582402@qq.com"]]"""]] +License|/fdl]]."]]"""]] -GNU Mach 是一款微内核, GNU Hurd 系统基于此微内核构建。其提供了进程间通信机制 -(Inter Process Communication,IPC),通过该机制将Hurd实现为分布式多服务器, -Hurd据此实现接口,从而实现传统操作系统提供的服务。 +GNU Mach is the microkernel upon which a GNU Hurd system is based. It provides +an Inter Process Communication (IPC) mechanism that the Hurd uses to define +interfaces for implementing in a distributed multi-server fashion the services +a traditional operating system kernel provides. -GNU Mach 作为 GNU Project 由 Hurd开发人员进行维护,并和 [[Mach]] 3.0 保持兼容。 +It is maintained by the Hurd developers for the GNU project and remains +compatible with [[Mach]] 3.0. -GNU Mach 主要的 [[设备驱动(device_drivers)]] 来自 Linux 2.0。这些驱动依靠 -Mach 中的 Linux [[emulation]] 层运行。 +The majority of GNU Mach's [[device_driver]]s are from Linux 2.0. They were +added using glue code, i.e., a Linux [[emulation]] layer in Mach. -GNU Mach 运行在 x86 机上。详细信息参见 -[[硬件兼容列表(hardware_compatibility_list)]],还有关于[[移植(ports)]]到其 -他架构上的信息。 +GNU Mach runs on x86 machines. See the +[[hardware_compatibility_list]] and information about +[[ports]] to other architectures. -最新版本:[[GNU Mach 1.6|news/2015-10-31-releases]]。 +The latest release is [[GNU Mach 1.6|news/2015-10-31-releases]]. +# Advantages of GNU Mach -# GNU Mach 的优点 +GNU Mach is not the most advanced [[microkernel]] known to the planet, nor is +it the fastest or smallest, but it has a rich set of [[interface]]s and some +features which make it useful as the base of the [[Hurd]] system. -GNU Mach 不是世界上已知最先进的 [[微内核(microkernel)]],也不是最小、最快的, -但是其拥有作为 [[Hurd]] 系统基础的,丰富的 [[接口(interfaces)]] 以及特性。 - - - * **是开放源码的** + * **it's free software** - 任何人在 [[GNU_General_Public_License_(GPL)|gpl]] 的授权下,都可以对其使用 - ,修改,并且二次发布。 + Anybody can use, modify, and redistribute it under the terms of the + [[GNU_General_Public_License_(GPL)|gpl]]. - * **是易于维护的** + * **it's built to survive** - 作为一款 [[微内核(microkernel)]],GNU Mach 没有实现太多其他操作系统都有的 - 特性,而是仅仅实现了一个用于在其上实现完整的操作系统的,所需特性的最小集 - 合。这意味着操作系统大量的代码将剥离 GNU Mach,在其外部进行维护;当这些代码 - 需要重构的时候,微内核的代码仍能保持稳定的兼容性。 - - * **是可于扩展的** - - Mach 能非常良好的支持 SMP 和网络集群技术。提供内核级的线程支持,并且内核本 - 身都因此受益。在 [[IPC]] 层的网络透明使得系统可以提供机器边界的资源 - (目前 GNU Mach 不对NORMA IPC提供支持)。 - - * **是实际存在的** + As a [[microkernel]], GNU Mach doesn't implement a lot of the features + commonly found in an operating system, but only the bare minimum that is + required to implement a full operating system on top of it. This means + that a lot of the operating system code is maintained outside of GNU Mach, + and while this code may go through a complete redesign, the code of the + microkernel can remain comparatively stable. + + * **it's scalable** + + Mach is particularly well suited for SMP and network cluster techniques. + Thread support is provided at the kernel level, and the kernel itself takes + advantage of that. Network transparency at the [[IPC]] level makes + resources of the system available across machine boundaries (with NORMA + IPC, currently not available in GNU Mach). - Mach 微内核是真实存在的,并且现在就可以使用。其不是一个研究或者倡议。用户不 - 需要等待,现在就可以开始使用并开发它。Mach 在过去曾经被用在很多操作系统中, - 通常作为一个独立 UNIX 服务器的基础。在 GNU 系统,Mach 作为一个使用的多服务 - 器操作系统([[Hurd]])的基础。 + * **it exists** + + The Mach microkernel is real software that works Right Now. It is not a + research or a proposal. You don't have to wait at all before you can start + using and developing it. Mach has been used in many operating systems in + the past, usually as the base for a single UNIX server. In the GNU system, + Mach is the base of a functional multi-server operating system, the + [[Hurd]]. -# 启动 +# Booting -想要实际的使用这个内核并引导 GNU 操作系统,用户需要一个启动引导程序 -(boot loader)。不是所有的启动引导程序都能启动 GNU 操作系统,用户需要一个支持 -多重引导启动标准(multiboot standard)的启动引导程序。 GNU 操作系统可使用 -[[GNU_GRUB|grub]],其支持非常多的操作系统,包括 GNU/Hurd。 +To actually use the kernel and boot the GNU operating system, you need a boot +loader. Not all boot loaders are capable to boot the GNU system, you need one +that supports the multiboot standard. The bootloader of the GNU system is +[[GNU_GRUB|grub]], which supports a broad range of operating systems including +GNU/Hurd. -# 开发 +# Development - * [[参考手册(Reference_Manual)]] - * [[构建(Building)]] - * [[调试(Debugging)]] - * [[启动跟踪(Boot_Trace)]] - * [[内存管理(Memory_Management)]] + * [[Reference_Manual]] + * [[Building]] + * [[Debugging]] + * [[Boot_Trace]] + * [[Memory_Management]] * [[Continuation]]s - * [[抢占(Preemption)]] - * [[项目(Projects)]] - * [[规则(Rules)]] + * [[Preemption]] + * [[Projects]] + * [[Rules]] * [[Open Issues|tag/open_issue_gnumach]] - -- cgit v1.2.3 From 79586834089f2938b9e78dfb319d07edcad64ecd Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 20 Apr 2016 01:03:34 +0200 Subject: document how to profile the kernel --- microkernel/mach/gnumach.mdwn | 1 + microkernel/mach/gnumach/profiling.mdwn | 31 +++++++++++++++++++++++++++++++ open_issues/profiling.mdwn | 4 +--- 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 microkernel/mach/gnumach/profiling.mdwn diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 88aa1432..ba970a03 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -79,6 +79,7 @@ GNU/Hurd. * [[Reference_Manual]] * [[Building]] * [[Debugging]] + * [[Profiling]] * [[Boot_Trace]] * [[Memory_Management]] * [[Continuation]]s diff --git a/microkernel/mach/gnumach/profiling.mdwn b/microkernel/mach/gnumach/profiling.mdwn new file mode 100644 index 00000000..5b3f5e0b --- /dev/null +++ b/microkernel/mach/gnumach/profiling.mdwn @@ -0,0 +1,31 @@ +[[!meta copyright="Copyright © 2016 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="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 included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +Here is some guide to profile the GNU Mach kernel uses for a userland process. + +[[!toc levels=2]] + +First, it needs to be enabled: since this will leak kernel addresses to userland, it is not enabled by default. Pass `--enable-kernelsample` to the `./configure` invocation, and rebuild the kernel. + +Then you need to get the start and end of the text portion of the kernel: + + nm gnumach | grep " _start$" + nm gnumach | grep " etext$" + +And you need to patch glibc to use these start and end instead of the userland starts and ends: in `glibc/csu/gmon-start.c`, in the `__monstartup` call, replace `TEXT_START` and `&etext` with the start and end addresses obtained above. Rebuild libc (`make lib` is enough). Install `csu/gcrt[01].o` in `/usr/lib/i386-gnu/`. + +Now, you can rebuild your application with `-pg`, run it (for translators, use `settrans -a`, work with it, and use `settrans -fga` to terminate it nicely), you will get a `gmon.out` file. Normally you would just run `gprof application` to get the profiling, but here we need to get symbols from the kernel: + + nm -n gnumach > /tmp/list + +and then we can run `gprof -S /tmp/list application`, and the kernel profiling will show up. + +You will probably notice that `spl0` will show up a lot, more precisely the `sti` instruction. This is because all the kernel code running with interrupts disabled can't be profiled, and will be accounted for on that instruction (which triggers the profiling interrupts which should have happened while the interrupts were disabled). diff --git a/open_issues/profiling.mdwn b/open_issues/profiling.mdwn index e7dde903..57e3bedf 100644 --- a/open_issues/profiling.mdwn +++ b/open_issues/profiling.mdwn @@ -18,9 +18,7 @@ done for [[performance analysis|performance]] reasons. * [[hurd/debugging/rpctrace]] * [[gprof]] - - Should be working, but some issues have been reported, regarding GCC spec - files. Should be possible to fix (if not yet done) easily. + * [[profiling GNU Mach|microkernel/mach/gnumach/profiling]] * [[glibc]]'s sotruss -- cgit v1.2.3 From f3bbf9a9e0f7f5888804b44dcddbe82472a5a029 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 20 Apr 2016 13:37:09 +0200 Subject: update --- hurd/running/debian/qemu_image.mdwn | 2 +- hurd/running/qemu.mdwn | 26 ++++++++------------------ 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/hurd/running/debian/qemu_image.mdwn b/hurd/running/debian/qemu_image.mdwn index 1f42507b..a17ff894 100644 --- a/hurd/running/debian/qemu_image.mdwn +++ b/hurd/running/debian/qemu_image.mdwn @@ -16,7 +16,7 @@ Usage: $ wget http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz $ tar -xz < debian-hurd.img.tar.gz - $ kvm -m 512 -drive cache=writeback,file=$(echo debian-hurd-*.img) + $ kvm -m 1G -drive cache=writeback,file=$(echo debian-hurd-*.img) Please also read the README file: diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index dfc9cdd2..91cc7c16 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -32,7 +32,7 @@ Note that the following images are unofficial ones: they have been prepared by volunteers and may not have been tested extensively. * [Disk image](http://draketo.de/dateien/hurd/bab-hurd-qemu-2008-10-29.img.tar.bz2) - with a short intro on translators. Just start it with `qemu -m 512 + with a short intro on translators. Just start it with `qemu -m 1G -drive cache=writeback,file=disk_image.img`. It should work without any of the configuration below. If you want to know what you can do with it, please have a look at [[its_wikipage|hurd/running/qemu/babhurd_image]]. And when @@ -50,12 +50,6 @@ Also you can use QEMU to easily try one of the Instructions for creating a qemu image from the install CDs from debian installer can be found in the README alongside the d-i Hurd images: -## Old method - -1. First thing is to install [[/QEMU]]. -2. A [[grub]] boot disk for the floppy disk image needed for booting. The [0\.97 version](ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs) works fine. I downloaded it and renamed to `floppy.img`. Alternatively, the Debian grub-disk package (up till version 0.97-28) is fine as well. -3. You will need a [Debian/Hurd installation CD](http://www.debian.org/ports/hurd/hurd-cd). K16 works fine. - # KVM acceleration Check if your CPU supports kvm: @@ -117,11 +111,6 @@ IRC, freenode, #hurd, 2012-08-29: seems like kvm -h says: -no-kvm-irqchip and man kvm says: -machine kernel_irqchip=off -/!\ Note that there are known performance issues with KVM on Linux 2.6.39 -kernels, compared to 2.6.32: [[!debbug 634149]]. We're preparing on a change -on our side to work around this. - - # HAP/EPT/NPT acceleration Performance will be yet better if HAP (EPT or NPT) is available: @@ -139,7 +128,7 @@ First off you will need to create a disk image using `qemu-img`. I have set mine Next you will want to start up QEMU and begin the installation process. - $ qemu -m 512 -drive cache=writeback,file=hd0.img -cdrom debian-7.0-hurd-i386-NETINST-1.iso -net nic,model=rtl8139 -net user + $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-7.0-hurd-i386-NETINST-1.iso -net nic,model=rtl8139 -net user Now at his point do the regular install using `hd0` as your harddrive. Partition it and install the base system. @@ -187,7 +176,7 @@ Once you have finished installing the base system (might take some time) the sys Starting qemu/qemu-kvm: - $ kvm -m 512 -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img -vga vmware + $ kvm -m 1G -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img -vga vmware vmsvga_value_write: guest runs Linux. Note: See below on port forwarding in the networking section. @@ -301,8 +290,9 @@ If you want to connect from the host system to the Hurd system running in QEMU, there's not much better to do than that (patching resolv.conf inside the guest, or apply the ipv6 patch) +This is fixed in qemu 2.6 -## Port Forwarding in QEMU +## Port Forwarding in QEMU/KVM (In the following we assume we use kvm!) #### Logging in to Hurd from a terminal in your host system @@ -310,7 +300,7 @@ This is the recommended way to work with a Command Line Interface (CLI) since al a) with ssh (assuming you have installed openssh-server) - $ kvm -m 512 -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img & + $ kvm -m 1G -net nic -net user,hostfwd=tcp::5555-:22 -drive cache=writeback,file=hd0.img & Logging in to the running Hurd: @@ -327,7 +317,7 @@ Copying files: b) with telnet (assuming you have installed a telnet server, like telnetd) - $ kvm -m 512 -net nic -net user,hostfwd=tcp::5556-:23 -drive cache=writeback,file=hurd-install.qemu & + $ kvm -m 1G -net nic -net user,hostfwd=tcp::5556-:23 -drive cache=writeback,file=hurd-install.qemu & Logging in to the running Hurd: @@ -368,7 +358,7 @@ Now it is time to start-up your QEMU Hurd system and get networking going in the **Important:** Remember you may need to use the `-M isapc` or `-isa` flag if using an older version of the gnumach package. - $ qemu -m 512 -drive cache=writeback,file=hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic -net tap + $ qemu -m 1G -drive cache=writeback,file=hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic -net tap Once you have logged in as `root` run the `pfinet` translator with values that apply to your network. Think of your QEMU client as another computer in your network. -- cgit v1.2.3 From 72806e678978c271422f31a56ba7a6b349497b32 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 20 Apr 2016 13:39:46 +0200 Subject: mention sem_init(pshared=1) too --- hurd/porting/guidelines.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn index 66c6ae28..cf0298d0 100644 --- a/hurd/porting/guidelines.mdwn +++ b/hurd/porting/guidelines.mdwn @@ -321,9 +321,9 @@ These are not POSIX, `sys/types.h` and `stdint.h` should be used instead. Not supported and actually very dangerous (permits userland to completely disable interruptions...). Replace with `ioperm(0, 65536, 1)`. -## `semget`, `sem_open` +## `semget`, `sem_open` -Not implemented, will always fail. Use `sem_init()` instead if possible. +Not implemented yet, will always fail. Use `sem_init()` instead if possible. `sem_init` with pshared=1 is not available yet either. ## `net/if_arp.h`, `net/ethernet.h`, etc. -- cgit v1.2.3 From 909c747a2ef5f922bbd9be6aecb04860667fc803 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 20 Apr 2016 13:44:17 +0200 Subject: fix formatting --- hurd/porting/guidelines.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn index cf0298d0..7719208b 100644 --- a/hurd/porting/guidelines.mdwn +++ b/hurd/porting/guidelines.mdwn @@ -329,11 +329,11 @@ Not implemented yet, will always fail. Use `sem_init()` instead if possible. `s Not implemented, not POSIX. Try to disable the feature in the package. -## +## `linux/parport.h` `linux/ppdev.h` There is no programming interface for the parallel port on GNU/Hurd yet. -## +## `linux/cdrom.h` Use instead. @@ -343,7 +343,7 @@ This is not actually standard; cfsetspeed, cfsetispeed, or cfsetospeed should be ## IUCLC -IUCLC is a GNU extension. `#define _GNU_SOURCE' thus has to be used to get the definition (even if Linux unconditionally provides it, it should not). +IUCLC is a GNU extension. `#define _GNU_SOURCE` thus has to be used to get the definition (even if Linux unconditionally provides it, it should not). ## `errno` values -- cgit v1.2.3 From c4bc48ffc2607f1af12a8257ad4a9c1bfdc7eb0b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 23 Apr 2016 15:07:37 +0200 Subject: add O_NOATIME fixup --- contributing.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/contributing.mdwn b/contributing.mdwn index 4bf615d4..4674713e 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -112,6 +112,7 @@ lookups|hurd/interface/dir_lookup]] work. * Fix our [[open_issues/symlink_translator]]. * Fix chmod on fifos: mkfifo foo ; sudo chmod g+w foo * Strengthen httpfs: it should append '/' to URL automatically, it should not fallback index.html itself, etc. probably a lot more small easy issues. +* Fix `O_NOATIME`, see ## Porting Packages -- cgit v1.2.3 From 11e41e3af8e7ffe3ff1082f6884900c8f9f6eef8 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 28 Apr 2016 09:38:40 +0200 Subject: typo, thanks LastAvengers --- news/2015-10-31-releases.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/news/2015-10-31-releases.mdwn b/news/2015-10-31-releases.mdwn index 57cd7ec7..57daa5cd 100644 --- a/news/2015-10-31-releases.mdwn +++ b/news/2015-10-31-releases.mdwn @@ -124,7 +124,7 @@ We're pleased to announce new releases! [[**GNU MIG**|microkernel/mach/mig/gnu_mig]] is the GNU distribution of the [[Mach 3.0 Interface Generator (MIG)|microkernel/mach/mig]]. This tool - translates [[Remore Procedure Call (RPC)|rpc]] definition files to C code, + translates [[Remote Procedure Call (RPC)|rpc]] definition files to C code, and is required to compile any packages that are receiving or invoking RPCs, such as GNU Mach, GNU Hurd, and the GNU C Library (glibc) when compiled for the Hurd. More detailed: -- cgit v1.2.3 From 60f15d9a60e7e0754c30bd8ec458982cd35540d3 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 4 May 2016 16:07:22 +0200 Subject: reference the mailing list thread --- open_issues/64-bit_port.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/open_issues/64-bit_port.mdwn b/open_issues/64-bit_port.mdwn index 04273630..651b5533 100644 --- a/open_issues/64-bit_port.mdwn +++ b/open_issues/64-bit_port.mdwn @@ -14,6 +14,7 @@ License|/fdl]]."]]"""]] There is a `master-x86_64` GNU Mach branch. As of 2012-11-20, it only supports the [[microkernel/mach/gnumach/ports/Xen]] platform. +See http://lists.gnu.org/archive/html/bug-hurd/2012-04/msg00000.html # IRC, freenode, #hurd, 2011-10-16 -- cgit v1.2.3