From f5f69932b4d3defe70c975f967eb767ce3a6502c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 20 Sep 2007 19:32:26 +0000 Subject: web commit by steevithak: added an introduction --- hurd/running/gnu.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 6b94ed25..000fb5aa 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -2,6 +2,10 @@ # The GNU Operating System +The GNU Operating System, or GNU System as it is more commonly known, will be a complete Unix-like operating system composed entirely of [free software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU System is one of the goals of the [GNU Project](http://www.gnu.org/), which was [launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by [Richard Stallman](http://www.stallman.org/). + + + [[gnu/GNU]]. It is our wish and goal to establish a new direction for the GNU system distribution. To that end, this page will begin setting some direction. This was spawned by several discussions over a few days on the Hurd mailing lists and IRC. -- cgit v1.2.3 From a1a4a9f06dd2621614910bc63cc934e28300ace8 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 13 Nov 2007 10:50:18 +0000 Subject: web commit by vincentvikram --- hurd/running/gnu.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 000fb5aa..d941abee 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -53,6 +53,11 @@ These are just some quick notes I am making late at night. Lets clean this up. * Probably we should set up a Savannah project * How to handle experimental patches to the core packages (Hurd, Mach, libc etc.) that are not in official CVS yet? +## Resources + + * Universal package manager [[universalpackagemanager]] + * How to set up GNU and archiver for GNU [[setupgnu]] + ## Todo 1. AMS had made a GNU release. We can try it and test it to good use. We can fix broken things in it, and enhance it. -- cgit v1.2.3 From f3c467cd3a22a22d24a8be1b6b7af5a2fa888bea Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Tue, 13 Nov 2007 14:04:15 +0000 Subject: web commit by vincentvikram: imported from hurd.in --- hurd/running/gnu.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index d941abee..e230a628 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -39,6 +39,11 @@ These are just some quick notes I am making late at night. Lets clean this up. * However, we should try to reuse existing stuff (from Debian for example) as long as it doesn't limit our possibilities or impose considerable overhead * Lets have fun. It's GNU and it's important but let's enjoy ourselves. +## Download + + * Official GNU snapshot + * Extended GNU distribution + ## Tools 1. Developer Needs -- cgit v1.2.3 From 3320bbaa0bebb4a737ab37c115dc553c44a8910d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 13 Nov 2007 17:31:11 +0100 Subject: Move to a suitable place. --- hurd.mdwn | 5 - hurd/running/gnu.mdwn | 2 +- hurd/running/gnu/softwareprojects.mdwn | 2 + hurd/running/gnu/universal_package_manager.mdwn | 148 ++++++++++++++++++++++++ universalpackagemanager.mdwn | 148 ------------------------ 5 files changed, 151 insertions(+), 154 deletions(-) create mode 100644 hurd/running/gnu/universal_package_manager.mdwn delete mode 100644 universalpackagemanager.mdwn (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd.mdwn b/hurd.mdwn index 6406d252..dcb66426 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -63,8 +63,3 @@ * [[Debugging]] * [[HurdSpecificGlibcApi]]: Functions in GLIBC for the Hurd. * [Hurd Sourcecode Reference](http://www.htu.tugraz.at/~past/hurd/global/): Searchable and browsable index of the code. - -# Hurd hacking projects - -* Universal package manager and archiver for GNU - * [[universalpackagemanager]] \ No newline at end of file diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index e230a628..a71a509e 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -60,7 +60,7 @@ These are just some quick notes I am making late at night. Lets clean this up. ## Resources - * Universal package manager [[universalpackagemanager]] + * [[Universal_package_manager]] * How to set up GNU and archiver for GNU [[setupgnu]] ## Todo diff --git a/hurd/running/gnu/softwareprojects.mdwn b/hurd/running/gnu/softwareprojects.mdwn index 54a92030..4790c5c9 100644 --- a/hurd/running/gnu/softwareprojects.mdwn +++ b/hurd/running/gnu/softwareprojects.mdwn @@ -4,3 +4,5 @@ Some of the GNU software effects the Hurd development directly or indirectly. He
GCC
deb packages of gcc-{3.2,3.3} are available for testing from http://people.debian.org/~mbanck/hurd-gcc-4.0/ ./
+ +* [[Universal_package_manager]] and archiver for GNU diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn new file mode 100644 index 00000000..cd37bb41 --- /dev/null +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -0,0 +1,148 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +## Mission + +"To enable the GNU System to install packages of any format like rpm, deb, +ebuild... so that GNU System will be able to use softwares packaged by projects like Debian and Gentoo" + +## Features + +Basically all package management schemes follow similar approach, it will have a single binary archive containing the actual software and some metadata like packages it requires, what all it provides ... So when we install an rpm package this tool will help rpm tool to recognise the packages installed by stow and it will be stowed instead of the normal rpm way of installing in /usr. + +There can be both aproaches + + * Re-implement rpm, dpkg... to recognise stow as backend instead of its own data store. In that case we will have to re implement, apt-rpm, yum ... + * Implement a translator which reads stow and show it as an rpm data store for yum, deb data store for apt-get ... + +One goal is obviously choice of packaging and hence availability of more packages. Also this gives maintainers a chioce to continue builing packages for GNU in the format they are already familiar with. The second goal is to demonstrate the flexibility GNU offers in implementing functionality in filesystems (open/read/write interface). + +## Why? + + * The GNU Hurd provides a lot of advanced features and functionalities. We aim to exploit those features. + * Combining translators with UnionFS gives a very exciting package manager. + * We could use the good features of existing packaging systems like deb, rpm, ebuilds, ports ... plus unionfs and hurd translator is a compelling compination. + +With the increased flexibility in implementing filesystems as per the requirements, we can implement the functionality similar to apt-get, emerge or yum... (dependency tracking, versions tracking...) in the filesystem itself. + +## What? + + * Have a basic filesystem based package manager + * Write translators to convert between GNU's packaging format and the existing one's like rpm, deb ... + +## How? + + * Installtion of a package is just drag the pacakage (be it a tgz, rpm, deb or an exe) and drop it to the package manager. + + * apt-cache search vim --> ls -al /packages/meta/ |grep vim + * apt-get install vim --> install vim + +Just a sample script. + + $ cd /packages/meta/vim/current/depends + $ for i in `ls *` + $ do + $ if [ -f /packages/binary/$i ] + $ then + $ echo "$i is installed" + $ else + $ install $i + $ fi + $ done + +The same can be achieved using any of the languages or front ends or even manual copying. + +If all the dependencies are there + + $ cp -r /ftp/ftp.gnu.org/packages/binary/vim/7.0 /packages/binary/vim/7.0 + +## Implementation Details + +Lets take the example of rpm, it is simply a cpio archive with software and +meta data as its contents. Just extract it to stow directory with a name +package-version. When apt-get or yum asks for information about already +installed packages read the stow tree and return back the requested data. + +Same case for ebuild. We can provide these details to any packaging system +in the way it wants using a translator. So support for a new format is +just writing the new translator. + +## Initial idea + +A bit complex than the earlier scheme but it is more exciting and we can look at this schem seriously once we have the simple scheme working. + +All packages are installed at +`/packages/binary//`. + +For eaxmple vim 6.4 version can be installed from source like + + # cd vim64 + # ./configure --prefix=/packages/binary/vim/6.4 + # make + # make install + +Now if you have another vim version, say 7.0 then just follow the steps + + # cd /packages/source/vim + # CP //vim-7.0.tar.bz2 + # tar -jxvf vim-7.0.tar.bz2 + # mv vim70 7.0 + # ./configure --prefix=/packages/binary/vim/7.0 + # make + # make install + +You have 2 versions of vim and how can you sepcify which one is the current version? You can symlink the current version to select the version you would like to see as default + + # ln -s /packages/binary/vim/7.0 /packages/vim/current + +## Metadata: /packages/meta + +Dependency information is stored as a symbolic link to the required packages in a subdirectory called depends. + +## Requirement + +We will require unionfs support if we chose to go through path 2 (which is what I like because we can really show off with translators.) + + * Developing status - planning + * Near term goal - implement stow backend for dpkg + * High priority task - make unionfs work on boot. Mail from AMS to gnu-system-discuss on problem statement + +## Developer Guidelines. + + * GNU coding standards + + +## FAQ - Frequently asked questions + + 1. How can I join this project? + +OK. I will give you steps. + +i. Install a GNU System by folowing these instructions [[SetupGNU]] + +ii. Read about GNU Design + +iii. Read about translators + +iv. Try out these cool translators [[SettransExamples]] + +v. Add your name below and give a shout in the list. + + +## Comments?? + +Add your comments here + +## Interesting? + +To join the project just list your name below. + + 1. PraveenA + 2. IsaacPraveen + 3. VikramVincent + 4. MaheshM diff --git a/universalpackagemanager.mdwn b/universalpackagemanager.mdwn deleted file mode 100644 index cd37bb41..00000000 --- a/universalpackagemanager.mdwn +++ /dev/null @@ -1,148 +0,0 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="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]]."]] - -## Mission - -"To enable the GNU System to install packages of any format like rpm, deb, -ebuild... so that GNU System will be able to use softwares packaged by projects like Debian and Gentoo" - -## Features - -Basically all package management schemes follow similar approach, it will have a single binary archive containing the actual software and some metadata like packages it requires, what all it provides ... So when we install an rpm package this tool will help rpm tool to recognise the packages installed by stow and it will be stowed instead of the normal rpm way of installing in /usr. - -There can be both aproaches - - * Re-implement rpm, dpkg... to recognise stow as backend instead of its own data store. In that case we will have to re implement, apt-rpm, yum ... - * Implement a translator which reads stow and show it as an rpm data store for yum, deb data store for apt-get ... - -One goal is obviously choice of packaging and hence availability of more packages. Also this gives maintainers a chioce to continue builing packages for GNU in the format they are already familiar with. The second goal is to demonstrate the flexibility GNU offers in implementing functionality in filesystems (open/read/write interface). - -## Why? - - * The GNU Hurd provides a lot of advanced features and functionalities. We aim to exploit those features. - * Combining translators with UnionFS gives a very exciting package manager. - * We could use the good features of existing packaging systems like deb, rpm, ebuilds, ports ... plus unionfs and hurd translator is a compelling compination. - -With the increased flexibility in implementing filesystems as per the requirements, we can implement the functionality similar to apt-get, emerge or yum... (dependency tracking, versions tracking...) in the filesystem itself. - -## What? - - * Have a basic filesystem based package manager - * Write translators to convert between GNU's packaging format and the existing one's like rpm, deb ... - -## How? - - * Installtion of a package is just drag the pacakage (be it a tgz, rpm, deb or an exe) and drop it to the package manager. - - * apt-cache search vim --> ls -al /packages/meta/ |grep vim - * apt-get install vim --> install vim - -Just a sample script. - - $ cd /packages/meta/vim/current/depends - $ for i in `ls *` - $ do - $ if [ -f /packages/binary/$i ] - $ then - $ echo "$i is installed" - $ else - $ install $i - $ fi - $ done - -The same can be achieved using any of the languages or front ends or even manual copying. - -If all the dependencies are there - - $ cp -r /ftp/ftp.gnu.org/packages/binary/vim/7.0 /packages/binary/vim/7.0 - -## Implementation Details - -Lets take the example of rpm, it is simply a cpio archive with software and -meta data as its contents. Just extract it to stow directory with a name -package-version. When apt-get or yum asks for information about already -installed packages read the stow tree and return back the requested data. - -Same case for ebuild. We can provide these details to any packaging system -in the way it wants using a translator. So support for a new format is -just writing the new translator. - -## Initial idea - -A bit complex than the earlier scheme but it is more exciting and we can look at this schem seriously once we have the simple scheme working. - -All packages are installed at -`/packages/binary//`. - -For eaxmple vim 6.4 version can be installed from source like - - # cd vim64 - # ./configure --prefix=/packages/binary/vim/6.4 - # make - # make install - -Now if you have another vim version, say 7.0 then just follow the steps - - # cd /packages/source/vim - # CP //vim-7.0.tar.bz2 - # tar -jxvf vim-7.0.tar.bz2 - # mv vim70 7.0 - # ./configure --prefix=/packages/binary/vim/7.0 - # make - # make install - -You have 2 versions of vim and how can you sepcify which one is the current version? You can symlink the current version to select the version you would like to see as default - - # ln -s /packages/binary/vim/7.0 /packages/vim/current - -## Metadata: /packages/meta - -Dependency information is stored as a symbolic link to the required packages in a subdirectory called depends. - -## Requirement - -We will require unionfs support if we chose to go through path 2 (which is what I like because we can really show off with translators.) - - * Developing status - planning - * Near term goal - implement stow backend for dpkg - * High priority task - make unionfs work on boot. Mail from AMS to gnu-system-discuss on problem statement - -## Developer Guidelines. - - * GNU coding standards - - -## FAQ - Frequently asked questions - - 1. How can I join this project? - -OK. I will give you steps. - -i. Install a GNU System by folowing these instructions [[SetupGNU]] - -ii. Read about GNU Design - -iii. Read about translators - -iv. Try out these cool translators [[SettransExamples]] - -v. Add your name below and give a shout in the list. - - -## Comments?? - -Add your comments here - -## Interesting? - -To join the project just list your name below. - - 1. PraveenA - 2. IsaacPraveen - 3. VikramVincent - 4. MaheshM -- cgit v1.2.3 From c15927403ccadbf117d27193502d038f948e0e2f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 13 Nov 2007 17:39:59 +0100 Subject: Move to a suitable place. --- howtos.mdwn | 2 +- hurd/running/gnu.mdwn | 2 +- hurd/running/gnu/setup.mdwn | 82 +++++++++++++++++++++++++ hurd/running/gnu/universal_package_manager.mdwn | 2 +- setupgnu.mdwn | 82 ------------------------- 5 files changed, 85 insertions(+), 85 deletions(-) create mode 100644 hurd/running/gnu/setup.mdwn delete mode 100644 setupgnu.mdwn (limited to 'hurd/running/gnu.mdwn') diff --git a/howtos.mdwn b/howtos.mdwn index 5dcaf589..70b963a5 100644 --- a/howtos.mdwn +++ b/howtos.mdwn @@ -7,7 +7,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]] ## Collection of brief !HOWTOs - * [[SetupGNU]] Setup a GNU System (also known as GNU/Hurd) + * [[Setup_a_GNU_System|hurd/running/gnu/setup]] (also known as GNU/Hurd) * [[BuildGNUOnQemu]] Build a bootable qemu image of GNU System, aka build a bootable qemu image * GNU/Hurd on qemu (external link) * [[HurdOnQemuOnWindows]] Setting up a GNU/Hurd system on Qemu on a Micorsoft Windows machine diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index a71a509e..e52ac062 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -61,7 +61,7 @@ These are just some quick notes I am making late at night. Lets clean this up. ## Resources * [[Universal_package_manager]] - * How to set up GNU and archiver for GNU [[setupgnu]] + * How to [[set_up_GNU|setup]] and archiver for GNU ## Todo diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn new file mode 100644 index 00000000..ac978b38 --- /dev/null +++ b/hurd/running/gnu/setup.mdwn @@ -0,0 +1,82 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ... + +## Step 1: Find a home for GNU + +create a partition with minimum of 800 MB (if you want to install programs later you might need to allocate more space) + +It comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more + +Note: 2GB limit for partitions is no more there, it is fixed + +## Step 2: Create GNU Hurd filesystem on the partition + + # mke2fs -o hurd /dev/hdd6 + +## Step 3: Grab a snapshot of the GNU + +from or Extended GNU from + +## Step 4: Extract the snapshot to the newly created partition + + # mount /dev/hdd6 /mnt + # cd /mnt + # tar -jxvf /GNU--2006-01-08.tar.bz2 + +Wait for the extraction to complete, depending on the system configuration the time varies. The compressed image is 178MB and it uncompresses to about 750MB + +## Step 5: Configure grub to boot GNU + +This can be tricky since the partition naming is different for linux, grub and hurd + +My configuration look like this ... + + title GNU (also known as GNU/Hurd)(Single user) + root (hd0,5) + kernel /boot/gnumach.gz root=device:hd3s6 -s + module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) + module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) + + title GNU (also known as GNU/Hurd)(Multi-user) + root (hd0,5) + kernel /boot/gnumach.gz root=device:hd3s6 + module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) + module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) + + grub linux hurd + hd0,5 hdd6 hd3s6 + +If you have only one harddisk it will be hd0 for grub wherever you connect it. +But linux and hurd names depend on whether you connect it as primary master +(hda or hd0), primary slave (hdb or hd1) [this is my cdrom drive], secondary + master (hdc or hd2) or secondary slave (hdd or hd3) [this is my precious +Maxtor 2GB hard disk]. + +The partition naming of hurd is similar to BSD slices. hda1 is hd0s1, hda2 is + hd0s2 ... + +In my case the root device is hd0s6 (hdd6) + +## Step 6: Now boot into your brand new GNU System. + +It will do some initial setup and you will get a prompt. +Now reboot into your configured GNU System. + + # reboot + +## Step 7: Start using your GNU system + +Here is the GNU/Hurd users guide. It starts from the basics. + +*Warning! : It is not yet ready for normal use, it is a developer's release.* + +So when you encounter bugs report it to bug-hurd@gnu.org + +Join us on gnu-system-discuss to help finish the GNU System. diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn index cd37bb41..bd6f8835 100644 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -123,7 +123,7 @@ We will require unionfs support if we chose to go through path 2 (which is what OK. I will give you steps. -i. Install a GNU System by folowing these instructions [[SetupGNU]] +i. Install a GNU System by folowing [[these_instructions|setup]] ii. Read about GNU Design diff --git a/setupgnu.mdwn b/setupgnu.mdwn deleted file mode 100644 index ac978b38..00000000 --- a/setupgnu.mdwn +++ /dev/null @@ -1,82 +0,0 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="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]]."]] - -Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ... - -## Step 1: Find a home for GNU - -create a partition with minimum of 800 MB (if you want to install programs later you might need to allocate more space) - -It comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more - -Note: 2GB limit for partitions is no more there, it is fixed - -## Step 2: Create GNU Hurd filesystem on the partition - - # mke2fs -o hurd /dev/hdd6 - -## Step 3: Grab a snapshot of the GNU - -from or Extended GNU from - -## Step 4: Extract the snapshot to the newly created partition - - # mount /dev/hdd6 /mnt - # cd /mnt - # tar -jxvf /GNU--2006-01-08.tar.bz2 - -Wait for the extraction to complete, depending on the system configuration the time varies. The compressed image is 178MB and it uncompresses to about 750MB - -## Step 5: Configure grub to boot GNU - -This can be tricky since the partition naming is different for linux, grub and hurd - -My configuration look like this ... - - title GNU (also known as GNU/Hurd)(Single user) - root (hd0,5) - kernel /boot/gnumach.gz root=device:hd3s6 -s - module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) - module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - - title GNU (also known as GNU/Hurd)(Multi-user) - root (hd0,5) - kernel /boot/gnumach.gz root=device:hd3s6 - module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) - module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - - grub linux hurd - hd0,5 hdd6 hd3s6 - -If you have only one harddisk it will be hd0 for grub wherever you connect it. -But linux and hurd names depend on whether you connect it as primary master -(hda or hd0), primary slave (hdb or hd1) [this is my cdrom drive], secondary - master (hdc or hd2) or secondary slave (hdd or hd3) [this is my precious -Maxtor 2GB hard disk]. - -The partition naming of hurd is similar to BSD slices. hda1 is hd0s1, hda2 is - hd0s2 ... - -In my case the root device is hd0s6 (hdd6) - -## Step 6: Now boot into your brand new GNU System. - -It will do some initial setup and you will get a prompt. -Now reboot into your configured GNU System. - - # reboot - -## Step 7: Start using your GNU system - -Here is the GNU/Hurd users guide. It starts from the basics. - -*Warning! : It is not yet ready for normal use, it is a developer's release.* - -So when you encounter bugs report it to bug-hurd@gnu.org - -Join us on gnu-system-discuss to help finish the GNU System. -- cgit v1.2.3 From e9a9236364ff596839fa2a0cc21b6e60ef69bc2b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 13 Nov 2007 20:15:12 +0100 Subject: Move to a suitable place. --- buildgnuonqemu.mdwn | 95 ----------------------------------- howtos.mdwn | 3 +- hurd/running/gnu.mdwn | 1 + hurd/running/gnu/create_an_image.mdwn | 95 +++++++++++++++++++++++++++++++++++ hurd/running/qemu.mdwn | 3 ++ 5 files changed, 101 insertions(+), 96 deletions(-) delete mode 100644 buildgnuonqemu.mdwn create mode 100644 hurd/running/gnu/create_an_image.mdwn (limited to 'hurd/running/gnu.mdwn') diff --git a/buildgnuonqemu.mdwn b/buildgnuonqemu.mdwn deleted file mode 100644 index c5fb8da3..00000000 --- a/buildgnuonqemu.mdwn +++ /dev/null @@ -1,95 +0,0 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="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]]."]] - -Creating a bootable qemu image from a root filesystem and bootloader - -1. Create a hard disk image - - qemu-img create -f qcow G - -2. Use a live CD (better to have a lighter OS like system rescue CD to make the - process faster) and the image created to boot. - - qemu -cdrom /dev/cdrom -hda -boot d - -3. Once system is booted use a partition editing tool (like fdisk, cfdisk, - parted, gparted, qtparted ...) to partition the image. - - cfdisk - - create the necessary partitions (root and swap partitions boot, home ... if - required) - -4. Create a file syatem for the root partiotion - - mke2fs /dev/hda1 - -5. Mount the partition - - mkdir disk - mount /dev/hda1 disk - -6. Copy the file system from the host machine to the mounted directory (use a - compressed file system to make the copying faster) - - Grab the GNU spapshot from ams' site - - - scp @: disk - -7. Uncompress the files - - cd disk - tar -jxvf - -8. Unmount the mounted partition - - cd .. - umount disk - -9. power off the guest OS. - - poweroff - -10. To make the file syatem bootable download a grub floppy image - - - -11. Run qemu to boot into your brand new system - - qemu -hda -fda grub.img -boot a - -Happy Hacking !! - - -Make your new system boot from the hard disk - -1. Mount your grub image - - mkdir floppy - mount -t ext2 -o loop grub.img floppy - -2. Use previous steps 2 and 5 to boot from a liveCD and mount the partition - - cd disk/boot - scp -r @:/boot/grub - -3. Poweroff the guest - - poweroff - -4. Boot new system using floppy image previous step 11 - - use install to hard disk option if you used the above grub image - - or go to grub command line and type - - root (hd0,0) - setup (hd0) - - Now you have a bootable system image. Enjoy Maadi !! diff --git a/howtos.mdwn b/howtos.mdwn index 95f77eb9..bc3ecf3b 100644 --- a/howtos.mdwn +++ b/howtos.mdwn @@ -9,7 +9,8 @@ is included in the section entitled ## Collection of brief !HOWTOs * [[Setup_a_GNU_System|hurd/running/gnu/setup]] (also known as GNU/Hurd) - * [[BuildGNUOnQemu]] Build a bootable qemu image of GNU System, aka build a bootable qemu image + * [[hurd/running/gnu/Create_an_image]] of the GNU System, bootable in qemu, + for example. * GNU/Hurd on qemu (external link) * [[HurdOnQemuOnWindows]] Setting up a GNU/Hurd system on Qemu on a Micorsoft Windows machine * [[HurdOnVMware]] Setting up Debian GNU/Hurd on VMware diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index e52ac062..322597ec 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -62,6 +62,7 @@ These are just some quick notes I am making late at night. Lets clean this up. * [[Universal_package_manager]] * How to [[set_up_GNU|setup]] and archiver for GNU + * [[Create_an_image]] ## Todo diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn new file mode 100644 index 00000000..c5fb8da3 --- /dev/null +++ b/hurd/running/gnu/create_an_image.mdwn @@ -0,0 +1,95 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +Creating a bootable qemu image from a root filesystem and bootloader + +1. Create a hard disk image + + qemu-img create -f qcow G + +2. Use a live CD (better to have a lighter OS like system rescue CD to make the + process faster) and the image created to boot. + + qemu -cdrom /dev/cdrom -hda -boot d + +3. Once system is booted use a partition editing tool (like fdisk, cfdisk, + parted, gparted, qtparted ...) to partition the image. + + cfdisk + + create the necessary partitions (root and swap partitions boot, home ... if + required) + +4. Create a file syatem for the root partiotion + + mke2fs /dev/hda1 + +5. Mount the partition + + mkdir disk + mount /dev/hda1 disk + +6. Copy the file system from the host machine to the mounted directory (use a + compressed file system to make the copying faster) + + Grab the GNU spapshot from ams' site + + + scp @: disk + +7. Uncompress the files + + cd disk + tar -jxvf + +8. Unmount the mounted partition + + cd .. + umount disk + +9. power off the guest OS. + + poweroff + +10. To make the file syatem bootable download a grub floppy image + + + +11. Run qemu to boot into your brand new system + + qemu -hda -fda grub.img -boot a + +Happy Hacking !! + + +Make your new system boot from the hard disk + +1. Mount your grub image + + mkdir floppy + mount -t ext2 -o loop grub.img floppy + +2. Use previous steps 2 and 5 to boot from a liveCD and mount the partition + + cd disk/boot + scp -r @:/boot/grub + +3. Poweroff the guest + + poweroff + +4. Boot new system using floppy image previous step 11 + + use install to hard disk option if you used the above grub image + + or go to grub command line and type + + root (hd0,0) + setup (hd0) + + Now you have a bootable system image. Enjoy Maadi !! diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index f40d71d8..93111e6f 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -32,6 +32,9 @@ Now run your image with floppy booting (`-boot a`) and finish the install (`./na **Important:** Older versions on gnumach needed that the `-M isapc` was passed to qemu. This is not needed anymore. +Also see another text about how to [[gnu/create_an_image]] for the +[[GNU_system|gnu]]. + # Mounting Disk Image on Host -- cgit v1.2.3 From f7cc93166ae25dc6936b7115f4196030c1eca288 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 8 Oct 2008 00:26:42 +0200 Subject: UNIX. --- capability.mdwn | 2 +- community/gsoc/project_ideas.mdwn | 12 ++++++------ destructive_interference.mdwn | 2 +- documentation.mdwn | 2 +- extensibility.mdwn | 2 +- hurd/faq/gramatically_speaking.mdwn | 2 +- hurd/faq/slash_usr_symlink.mdwn | 2 +- hurd/networking.mdwn | 2 +- hurd/ng/part2systemstructure.mdwn | 15 +++++++++++++-- hurd/ng/usecaseprivatekeys.mdwn | 6 +++++- hurd/ng/usecaseuserfilesystem.mdwn | 2 +- hurd/running/gnu.mdwn | 7 ++++++- hurd/running/gnu/gnu.mdwn | 7 ++++++- hurd/running/gnu/names.mdwn | 2 +- hurd/running/qemu.mdwn | 2 +- hurd/translator.mdwn | 2 +- ipc.mdwn | 2 +- mechanism.mdwn | 2 +- microkernel/mach/external_pager_mechanism.mdwn | 2 +- microkernel/mach/gnumach/projects.mdwn | 4 ++-- microkernel/mach/history.mdwn | 6 +++++- persistency.mdwn | 4 ++-- trust.mdwn | 2 +- unix.mdwn | 17 +++++++++++++++++ 24 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 unix.mdwn (limited to 'hurd/running/gnu.mdwn') diff --git a/capability.mdwn b/capability.mdwn index 8bb14f13..2d4d2ce8 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -27,7 +27,7 @@ sent a string to identify the file to B, the identifier lacks a than A intended. Be ensuring that [[designation]] and [[authorization]] are always bound together, these problems are avoided. -Unix file descriptors can be viewed as capabilities. Unix file +[[Unix]] file descriptors can be viewed as capabilities. Unix file descriptors do not survive reboot, that is, they are not [[persistent|persistency]]. To work around this, [[ACL]]s are used to recover authority. diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index 0dc5f152..c4b665b7 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -145,7 +145,7 @@ virtualization using so-called logical partitions. (Similar to Linux-vserver, OpenVZ etc.) While subhurd allow creating a complete second system instance, with an own set -of Hurd servers and UNIX daemons and all, there are also situations where it is +of Hurd servers and [[UNIX]] daemons and all, there are also situations where it is desirable to have a smaller subenvironment, living withing the main system and using most of its facilities -- similar to a chroot environment. A simple way to create such a subenvironment with a single command would be very helpful. @@ -279,7 +279,7 @@ ongoing. ## Fix File Locking -Over the years, UNIX has aquired a host of different file locking mechanisms. +Over the years, [[UNIX]] has aquired a host of different file locking mechanisms. Some of them work on the Hurd, while others are buggy or only partially implemented. This breaks many applications. @@ -745,7 +745,7 @@ alltogether, the current Hurd implementation is based on variant of the original CMU [[microkernel/Mach]]. Unfortunately, Mach was created about two decades ago, and is in turn based on -even older BSD code. Parts of the BSD kernel -- file systems, UNIX mechanisms +even older BSD code. Parts of the BSD kernel -- file systems, [[UNIX]] [[mechanism]]s like processes and signals, etc. -- were ripped out (to be implemented in [[userspace_servers|hurd/translator]] instead); while other mechanisms were added to allow implementing stuff in userspace. @@ -821,7 +821,7 @@ shell script that uses xmlfs to extract some interesting information from an ## Allow Using `unionfs` Early at Boot -In UNIX systems, traditionally most software is installed in a common directory +In [[UNIX]] systems, traditionally most software is installed in a common directory hierachy, where files from various packages live beside each other, grouped by function: user-invokable executables in `/bin`, system-wide configuration files in `/etc`, architecture specific static files in `/lib`, variable data in @@ -897,7 +897,7 @@ to do a detailed analysis of the problem. ## Lexical `..` Resolution -For historical reasons, UNIX filesystems have a real (hard) `..` link from each +For historical reasons, [[UNIX]] filesystems have a real (hard) `..` link from each directory pointing to its parent. However, this is problematic, because the meaning of "parent" really depends on context. If you have a symlink for example, you can reach a certain node in the filesystem by a different path. If @@ -926,7 +926,7 @@ suggestions welcome... :-) ) ## Secure `chroot` implementation -As the Hurd attempts to be (almost) fully UNIX-compatible, it also implements a +As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a `chroot()` system call. However, the current implementation is not really good, as it allows easily escaping the `chroot`, for example by use of [[passive_translators|hurd/translator]]. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index c41e5a36..1cda81a6 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -19,7 +19,7 @@ the Solitaire program is instantiated and given all of the user's authority. The program may delete all of the users files after publishing credit card and other sensitive information on the Internet. This type of interference is undesirable, however, generally practically -unavoidable due to the way programs work on Windows (and Unix, for that +unavoidable due to the way programs work on Windows (and [[Unix]], for that matter). The problem is that the callee has induced negative consequence for caller diff --git a/documentation.mdwn b/documentation.mdwn index 4ac335be..45bb5ffc 100644 --- a/documentation.mdwn +++ b/documentation.mdwn @@ -25,7 +25,7 @@ is included in the section entitled applied, comparisions to other systems. -# Unix Programming +# [[Unix]] Programming * *The C Programming Language* by Brian W. Kernighan and Dennis M. Ritchie, [order from diff --git a/extensibility.mdwn b/extensibility.mdwn index 1d6adc51..4ef70986 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -10,7 +10,7 @@ is included in the section entitled An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to -introduce new objects. UNIX is generally not an extensible system as it does +introduce new objects. [[UNIX]] is generally not an extensible system as it does not generally facilitate the hooking of system calls. For instance, there is no way to hook into the virtual file system. This has motivated the introduction of separate, parallel interfaces by both the GNOME and KDE projects to provide diff --git a/hurd/faq/gramatically_speaking.mdwn b/hurd/faq/gramatically_speaking.mdwn index f6073376..7aa3edac 100644 --- a/hurd/faq/gramatically_speaking.mdwn +++ b/hurd/faq/gramatically_speaking.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[meta title="Grammatically speaking, what is the Hurd?"]] -*Hurd*, as an acronym, stands for *Hird of Unix-Replacing Daemons*. *Hird*, in +*Hurd*, as an acronym, stands for *Hird of [[Unix]]-Replacing Daemons*. *Hird*, in turn, stands for *Hurd of Interfaces Representing Depth*. We treat *Hurd* as a title rather than as a proper name: it requires an diff --git a/hurd/faq/slash_usr_symlink.mdwn b/hurd/faq/slash_usr_symlink.mdwn index d78913fb..6fa6c58d 100644 --- a/hurd/faq/slash_usr_symlink.mdwn +++ b/hurd/faq/slash_usr_symlink.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[meta title="Why is `/usr' a symbolic link to `.'?"]] -The distinction between `/` and `/usr` has historical reasons. Back when Unix +The distinction between `/` and `/usr` has historical reasons. Back when [[Unix]] systems were booted from two tapes, a small root tape and a big user tape. Today, we like to use different partitions for these two spaces. The Hurd throws this historical garbage away. We think that we have found a more diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn index bc33769a..6ed031ed 100644 --- a/hurd/networking.mdwn +++ b/hurd/networking.mdwn @@ -16,7 +16,7 @@ where `N` is the numberic value fo the `PF_*` symbol. Right now User programs open those files, and use the `socket_create` [[RPC]] to make a new socket. With that socket, they can use the other `socket_*` RPCs and also -the `io_*` RPCs. The `socket_*` RPCs are essentially clones of the Unix +the `io_*` RPCs. The `socket_*` RPCs are essentially clones of the [[Unix]] syscalls in question. The only exception is `sockaddrs`, which are implemented as [[ports|libports]] diff --git a/hurd/ng/part2systemstructure.mdwn b/hurd/ng/part2systemstructure.mdwn index 4ce8026f..0f94ff2a 100644 --- a/hurd/ng/part2systemstructure.mdwn +++ b/hurd/ng/part2systemstructure.mdwn @@ -38,7 +38,12 @@ It is clear from this description that the child's existance is completely deter ## Canonical Process Destruction -Process destruction can be done either cooperatively, or forcibly. The difference corresponds approximately to the difference between SIGTERM and SIGKILL in Unix. To destroy a process cooperatively, a request message is sent to a special capability implemented by the child process. The child can then begin to tear down the program, and at some time send a request back to the parent process to ask for forced process destruction. +Process destruction can be done either cooperatively, or forcibly. The +difference corresponds approximately to the difference between SIGTERM and +SIGKILL in [[Unix]]. To destroy a process cooperatively, a request message is +sent to a special capability implemented by the child process. The child can +then begin to tear down the program, and at some time send a request back to +the parent process to ask for forced process destruction. Forced process destruction can be done by the parent process without any cooperation by the child process. The parent process simply destroys the primary container of the child (this means that the parent process should retain the primary container capability). @@ -84,7 +89,13 @@ I will now describe some common applications that need to be supported, and how ## System Services -Unix-style suid applications have been proposed as one application for alternative process construction mechanisms. However, suid applications in Unix are, from the perspective of the parent, not confined, only isolated. Thus, they are readily replaced by a system service that is created by the system software, and that runs as a sibling to any user process. Only the ability to invoke the system service needs to be given to the user, not the ability to instantiate it. +[[Unix]]-style suid applications have been proposed as one application for +alternative process construction mechanisms. However, suid applications in +Unix are, from the perspective of the parent, not confined, only isolated. +Thus, they are readily replaced by a system service that is created by the +system software, and that runs as a sibling to any user process. Only the +ability to invoke the system service needs to be given to the user, not the +ability to instantiate it. In fact, no gain can derived from letting the user instantiate system services. In Unix, system services run on durable resources, which the user can not revoke. Thus, the system service needs to acquire its resources from a container that is not derived from the user's primary container. diff --git a/hurd/ng/usecaseprivatekeys.mdwn b/hurd/ng/usecaseprivatekeys.mdwn index 612a8f25..3cb65af2 100644 --- a/hurd/ng/usecaseprivatekeys.mdwn +++ b/hurd/ng/usecaseprivatekeys.mdwn @@ -1,6 +1,10 @@ _Private Keys_ as used by SSH servers, clients and generally by any cryptographic software need to be stored and manipulated securely. These may get replaced with smartcards soon, but in the mean time it appears to be an interesting use case. -All Unix systems that I am aware of do not allow secrets to be protected in a manner that I would feel is appropiate. A users compromised web browser could either read your private key file or talk to the very popular ssh-agent program and get your secrets out (not sure how popular distributions are configured, but it can be done). +All [[Unix]] systems that I am aware of do not allow secrets to be protected in +a manner that I would feel is appropiate. A users compromised web browser +could either read your private key file or talk to the very popular ssh-agent +program and get your secrets out (not sure how popular distributions are +configured, but it can be done). The requirements so far are: diff --git a/hurd/ng/usecaseuserfilesystem.mdwn b/hurd/ng/usecaseuserfilesystem.mdwn index 6dce5670..4e4fdf35 100644 --- a/hurd/ng/usecaseuserfilesystem.mdwn +++ b/hurd/ng/usecaseuserfilesystem.mdwn @@ -3,7 +3,7 @@ These appear as _translators_ in the current Hurd and something similar needs to appear in the next hurd. * The user should be able to dynamically add and remove translators -* For some reason it seems appropiate to have seperate namespaces (VFS's) for each user (this is quite a departure from Unix. [[SamMason]]) +* For some reason it seems appropiate to have seperate namespaces (VFS's) for each user (this is quite a departure from [[Unix]]. [[SamMason]]) * translators can be used to expose the structure of an archive file * translators can be provide access to remote file systems diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 322597ec..2ae2f2ca 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -2,7 +2,12 @@ # The GNU Operating System -The GNU Operating System, or GNU System as it is more commonly known, will be a complete Unix-like operating system composed entirely of [free software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU System is one of the goals of the [GNU Project](http://www.gnu.org/), which was [launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by [Richard Stallman](http://www.stallman.org/). +The GNU Operating System, or GNU System as it is more commonly known, will be a +complete [[Unix]]-like operating system composed entirely of [free +software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU +System is one of the goals of the [GNU Project](http://www.gnu.org/), which was +[launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by +[Richard Stallman](http://www.stallman.org/). diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn index 22bb5161..2a3629d7 100644 --- a/hurd/running/gnu/gnu.mdwn +++ b/hurd/running/gnu/gnu.mdwn @@ -2,7 +2,12 @@ ## GNU, FSF & RMS -GNU stands for GNU's Not Unix. It is a project announced in 1983 by [[RichardStallman]] (RMS). The Free Software Foundation ([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent organization for GNU and many other projects. GNU and some non-GNU projects are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to SourceForge.net. +GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by +[[RichardStallman]] (RMS). The Free Software Foundation +([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent +organization for GNU and many other projects. GNU and some non-GNU projects +are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to +SourceForge.net.
[[History]]
diff --git a/hurd/running/gnu/names.mdwn b/hurd/running/gnu/names.mdwn index d470a632..fcab6a11 100644 --- a/hurd/running/gnu/names.mdwn +++ b/hurd/running/gnu/names.mdwn @@ -1,4 +1,4 @@ -The GNU stands for GNU's Not Unix. It is a project as described in [[GNU]]. +The GNU stands for GNU's Not [[Unix]]. It is a project as described in [[GNU]]. What can be confusing is the usage. GNU can stand for: diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index 3a9784f7..1cf149bd 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -1,4 +1,4 @@ -This page discusses things for Unix systems, there is a separate page for +This page discusses things for [[Unix]] systems, there is a separate page for [[Microsoft_Windows]] systems. diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 9cdd8a31..b9952931 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -26,7 +26,7 @@ that to access the indiviudal resources they use. This is primarily the [[backing_store]] and the node they attach to. Typically, a translator can only be attached to a node by the node's owner. -On Unix this is not possible because file systems +On [[Unix]] this is not possible because file systems and the virtual file system are implemented in the kernel and thus have absolute access to the machine. As the protocols do not require any special privilege diff --git a/ipc.mdwn b/ipc.mdwn index 0e8d674a..7c0e16b2 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -10,7 +10,7 @@ is included in the section entitled IPC stands for interprocess communication. -On Unix, interprocess communication can be achieved using pipes. +On [[Unix]], interprocess communication can be achieved using pipes. This is inefficient for large amounts of data as the data must be copied. This is generally not a problem as most services are provided by the Unix kernel and Unix is not designed to be diff --git a/mechanism.mdwn b/mechanism.mdwn index 6a96c656..c0a6b02c 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -20,7 +20,7 @@ As mechanisms determine the type of result, they necessarily impose some [[policy]] (rules). Mechanisms that are referred to as policy-free are those that minimally impose policy. -A process can be used to encapsulate a program instance. On Unix, +A process can be used to encapsulate a program instance. On [[Unix]], a process is associated with a UID. This UID, in part, determines what the process is authorized to do. On a [[microkernel]], the policy that controls what resources a process may access diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 7ed1ca57..608b6581 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -28,7 +28,7 @@ and the offset at which to install it. (The first time a task maps an object, Mach sends an initialization message to the server including a control capability, which it uses to supply pages to the kernel.) This is essentially -the same as mapping a file into an address space on Unix +the same as mapping a file into an address space on [[Unix]] using mmap. When a task faults, Mach checks to see if there is a memory diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 35b5c2ef..10ba0fe2 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -1,5 +1,5 @@ [[meta copyright="Copyright © 2005, 2006, 2007, 2008 - Free Software Foundation, Inc."]] +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 @@ -99,7 +99,7 @@ so that no duplicate efforts end up. See [[GDB_stubs]]. - * Make it run as a UNIX/Linux executable. + * Make it run as a [[UNIX]]/Linux executable. * Neal: diff --git a/microkernel/mach/history.mdwn b/microkernel/mach/history.mdwn index a27595c0..a8951737 100644 --- a/microkernel/mach/history.mdwn +++ b/microkernel/mach/history.mdwn @@ -8,7 +8,11 @@ Mach has quite a history. Everything actually started at the University of Roche One of the engineers behind the project was Richard Rashid. In 1979 he moved his socks to Carnegie Mellon University to continue his research on message passing operating systems. The result emerged in 1981 and was called Accent. -Accent kept running at CMU until 1984 but was by then being run over by UNIX. Rashid then decided to use an early embrace strategy and started designing the third generation OS project called Mach. By making Mach compatible with UNIX, Mach was supposed to gain a lot of available UNIX software. +Accent kept running at CMU until 1984 but was by then being run over by +[[UNIX]]. Rashid then decided to use an early embrace strategy and started +designing the third generation OS project called Mach. By making Mach +compatible with UNIX, Mach was supposed to gain a lot of available UNIX +software. Mach was a vast improvement over Accent. It incorporated parts commonly used today, such as: threads, better IPC, multiprocessor support and an advanced VM system. diff --git a/persistency.mdwn b/persistency.mdwn index 5bd4f524..17176708 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -9,8 +9,8 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] A persistent object is an object that survives reboot. -On Unix, files and directories are persistent but -processes and file descriptors are not. EROS is +On [[Unix]], files and directories are persistent but +processes and file descriptors are not. [[microkernel/EROS]] is an example of an orthogonally persistent system: processes and capabilities also survive reboot. To a process, it generally only looks as if it had not been diff --git a/trust.mdwn b/trust.mdwn index 46c762f0..f0d29a9c 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -18,7 +18,7 @@ user. When we say that a program trusts another, we mean that [[correctness]] of the former depends on the cooperation of the latter. For instance, when a user runs ssh, the user's intention is that all communication is encrypted. In this case, -the user trusts that the ssh binary respects this intent. In Unix, a program's +the user trusts that the ssh binary respects this intent. In [[Unix]], a program's [[tcb]] consists not only of the kernel (and all the drivers, file systems and protocol stacks that it contains) but every program running under the same UID; it is impossible to protect against diff --git a/unix.mdwn b/unix.mdwn new file mode 100644 index 00000000..b313010a --- /dev/null +++ b/unix.mdwn @@ -0,0 +1,17 @@ +[[meta copyright="Copyright © 2008 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]]."]]"""]] + +# External + + * Wikipedia page about [[wikipedia UNIX]]. + + * [*Standardizing + UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an + article by David Chisnall. -- cgit v1.2.3 From a9accad064758577799a0ef2fb8f6242ef815829 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 07:55:26 +0100 Subject: Remove old logos. --- hurd.mdwn | 2 -- hurd/logo.png | Bin 15125 -> 0 bytes hurd/running/debian.mdwn | 2 -- hurd/running/debian/logo.png | Bin 2463 -> 0 bytes hurd/running/gnu.mdwn | 2 -- hurd/running/gnu/gnu.mdwn | 2 -- hurd/running/gnu/logo.png | Bin 3112 -> 0 bytes microkernel/mach.mdwn | 2 -- microkernel/mach/logo.png | Bin 13617 -> 0 bytes microkernel/mach/mig.mdwn | 2 -- microkernel/mach/mig/logo.png | Bin 23622 -> 0 bytes 11 files changed, 12 deletions(-) delete mode 100644 hurd/logo.png delete mode 100644 hurd/running/debian/logo.png delete mode 100644 hurd/running/gnu/logo.png delete mode 100644 microkernel/mach/logo.png delete mode 100644 microkernel/mach/mig/logo.png (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd.mdwn b/hurd.mdwn index 2805ddfc..4bf43873 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - [[toc ]] # Introduction diff --git a/hurd/logo.png b/hurd/logo.png deleted file mode 100644 index a892b47d..00000000 Binary files a/hurd/logo.png and /dev/null differ diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn index f291b75b..f80c1cfc 100644 --- a/hurd/running/debian.mdwn +++ b/hurd/running/debian.mdwn @@ -1,7 +1,5 @@ [[meta title="Debian GNU/Hurd"]] -[[img logo.png]] - - Debian [[FAQ]] -- Frequently Asked Questions - [[After_install]] -- Do this to get networking, new console and X - [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/) diff --git a/hurd/running/debian/logo.png b/hurd/running/debian/logo.png deleted file mode 100644 index 068d9584..00000000 Binary files a/hurd/running/debian/logo.png and /dev/null differ diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 2ae2f2ca..26d93279 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - # The GNU Operating System The GNU Operating System, or GNU System as it is more commonly known, will be a diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn index 2a3629d7..3ee5f657 100644 --- a/hurd/running/gnu/gnu.mdwn +++ b/hurd/running/gnu/gnu.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - ## GNU, FSF & RMS GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by diff --git a/hurd/running/gnu/logo.png b/hurd/running/gnu/logo.png deleted file mode 100644 index 50c392cf..00000000 Binary files a/hurd/running/gnu/logo.png and /dev/null differ diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 7e63c724..594a74f9 100644 --- a/microkernel/mach.mdwn +++ b/microkernel/mach.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - Mach is a so-called first generation [[microkernel]]. It is the microkernel currently used by the [[Hurd]]. diff --git a/microkernel/mach/logo.png b/microkernel/mach/logo.png deleted file mode 100644 index 94951acf..00000000 Binary files a/microkernel/mach/logo.png and /dev/null differ diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index c620420a..cf6d95bb 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - The Mach Interface Generator (MIG) is an [[IDL]] compiler. Based on an interface definition, it creates stubs to [[invoke]] object methods and to demultiplex incoming messages. These stubs conveniently hide diff --git a/microkernel/mach/mig/logo.png b/microkernel/mach/mig/logo.png deleted file mode 100644 index cdfec179..00000000 Binary files a/microkernel/mach/mig/logo.png and /dev/null differ -- cgit v1.2.3 From 86aeaafdb9466b10575afde10821c7b307a70447 Mon Sep 17 00:00:00 2001 From: Tanami Date: Thu, 14 Jan 2010 17:25:28 +0000 Subject: small grammar/spelling changes --- hurd/running/gnu.mdwn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'hurd/running/gnu.mdwn') diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 26d93279..94012ef5 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -15,32 +15,32 @@ It is our wish and goal to establish a new direction for the GNU system distribu This is not intended to detract from Debian GNU/Hurd and we should help them where we can. -I really want this to be more of a community driven effort in the spirit of say Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going. +I really want this to be more of a community driven effort in the spirit of say, Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going. -These are just some quick notes I am making late at night. Lets clean this up. +These are just some quick notes I am making late at night. Let's clean this up. ## Motivations 1. There is a possibility that Debian drops support for GNU/Hurd. 2. Other GNU/Linux distributions do not support the Hurd infrastructure well. -3. Benefitting from the Hurd design and using a microkernel. +3. Benefiting from the Hurd design and using a microkernel. 4. Freedom. ## Community -1. Lets establish some ground rules. +1. Let's establish some ground rules. 2. We need infrastructure * Wiki for community documentation * Mailing lists like gnu-system-discuss exists for mostly technical items * IRC channels like #hug and ##hurd * Perhaps less formal and less intimidating channels and mailing lists would involve broader parts of the community 3. We need a community vision and direction. - * Lets work together for a common goal - * Lets establish goals and priorities and get resources on them. (More later) + * Let's work together for a common goal + * Let's establish goals and priorities and get resources on them. (More later) * Major goal to create a system making full use of Hurd features? * We should never hesitate to throw away existing stuff whenever it hinders us to make good use of Hurd features * However, we should try to reuse existing stuff (from Debian for example) as long as it doesn't limit our possibilities or impose considerable overhead - * Lets have fun. It's GNU and it's important but let's enjoy ourselves. + * Let's have fun. It's GNU and it's important but let's enjoy ourselves. ## Download -- cgit v1.2.3