From ca763b70ea6250bcb4911d979461719b78e73c32 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 10 Jan 2013 23:31:29 +0100 Subject: hurd/running/gnu: Clean up. --- hurd/running/gnu/create_an_image.mdwn | 98 --------------- hurd/running/gnu/gnu.mdwn | 27 ---- hurd/running/gnu/history.mdwn | 7 -- hurd/running/gnu/manifesto.mdwn | 5 - hurd/running/gnu/names.mdwn | 8 -- hurd/running/gnu/richardstallman.mdwn | 6 - hurd/running/gnu/setup.mdwn | 84 ------------- hurd/running/gnu/softwareprojects.mdwn | 8 -- hurd/running/gnu/todo.mdwn | 6 - hurd/running/gnu/universal_package_manager.mdwn | 158 ------------------------ 10 files changed, 407 deletions(-) delete mode 100644 hurd/running/gnu/create_an_image.mdwn delete mode 100644 hurd/running/gnu/gnu.mdwn delete mode 100644 hurd/running/gnu/history.mdwn delete mode 100644 hurd/running/gnu/manifesto.mdwn delete mode 100644 hurd/running/gnu/names.mdwn delete mode 100644 hurd/running/gnu/richardstallman.mdwn delete mode 100644 hurd/running/gnu/setup.mdwn delete mode 100644 hurd/running/gnu/softwareprojects.mdwn delete mode 100644 hurd/running/gnu/todo.mdwn delete mode 100644 hurd/running/gnu/universal_package_manager.mdwn (limited to 'hurd/running/gnu') diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn deleted file mode 100644 index 98af99eb..00000000 --- a/hurd/running/gnu/create_an_image.mdwn +++ /dev/null @@ -1,98 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2012 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]]."]]"""]] - -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 -m 512 -cdrom /dev/cdrom -drive cache=writeback,index=0,media=disk,file= -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 system for the root partition - - 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 snapshot 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 system bootable download a grub floppy image - - - -11. Run qemu to boot into your brand new system - - qemu -m 512 -drive cache=writeback,index=0,media=disk,file= -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/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn deleted file mode 100644 index 3ee5f657..00000000 --- a/hurd/running/gnu/gnu.mdwn +++ /dev/null @@ -1,27 +0,0 @@ -## 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. - -
-
[[History]]
-
Background information about the GNU Project.
-
[[Names]]
-
A page describing the name GNU itself and it's usage.
-
[[Manifesto]]
-
A founding document that still influences the system's technical design and moral philosophy.
-
FAQ Link
-
What is the relation between GNU and Hurd?
-
Assisting
-
If you would like to help the GNU movement visit the official site at http://www.gnu.org.
-
[[SoftwareProjects]]
-
Information about other GNU projects.
-
gnu-system-discuss
-
Mailing list for discussion about the GNU system.
-
- -[[TODO]]. diff --git a/hurd/running/gnu/history.mdwn b/hurd/running/gnu/history.mdwn deleted file mode 100644 index f321c961..00000000 --- a/hurd/running/gnu/history.mdwn +++ /dev/null @@ -1,7 +0,0 @@ -The GNU project has a long history. For software projects, it is exceptionally long. For social movements it is quite short. Although, its history is incomplete, and is being made now (to which you could contribute). - -* [Announcement](http://www.gnu.org/gnu/initial-announcement.html): The original announcement made in 1983 by [[RichardStallman]]. -* [The GNU Project](http://www.gnu.org/gnu/gnu-history.html): A summary by [[RichardStallman]]. -* [History of the GNU Project](http://www.gnu.org/gnu/thegnuproject.html): About the GNU Project, by [[RichardStallman]]. - -Page started from links at [[GNU]]. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/manifesto.mdwn b/hurd/running/gnu/manifesto.mdwn deleted file mode 100644 index c2a3294f..00000000 --- a/hurd/running/gnu/manifesto.mdwn +++ /dev/null @@ -1,5 +0,0 @@ -Written early in the life of the GNU project, the GNU manifesto still influences the design of the GNU system. - -* [The GNU Manifesto](http://www.gnu.org/gnu/manifesto.html) - -Started page. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/names.mdwn b/hurd/running/gnu/names.mdwn deleted file mode 100644 index fcab6a11..00000000 --- a/hurd/running/gnu/names.mdwn +++ /dev/null @@ -1,8 +0,0 @@ -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: - -* an entire system as envisioned in 1983. GNU/Hurd is a synonym. -* GNU components when used with the Linux kernel: GNU/Linux This term has been adopted by the [Debian project](http://www.debian.org) but is not recognized as widely as the FSF would like. - --- [[Main/GrantBow]] - 03 Mar 2004 diff --git a/hurd/running/gnu/richardstallman.mdwn b/hurd/running/gnu/richardstallman.mdwn deleted file mode 100644 index d6688850..00000000 --- a/hurd/running/gnu/richardstallman.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -Richard Stallman (or ''RMS'') is the found of the GNU project, the Free Software Foundation and author of numerous GNU software packages. More useful information about Richard is available from his Wikipedia entry or his personal Web site. - -* [Wikipedia: Richard Stallman](http://en.wikipedia.org/wiki/Richard_Stallman/): Entry at Wikipedia -* [Stallman dot org](http://www.stallman.org/): Personal Web site. - -Page started. This seems like the appropriate Wiki to have the page. -- [[Main/AaronHawley]] - 17 Feb 2006 diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn deleted file mode 100644 index 2fb30c7b..00000000 --- a/hurd/running/gnu/setup.mdwn +++ /dev/null @@ -1,84 +0,0 @@ -[[!meta copyright="Copyright © 2007, 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]]."]]"""]] - -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 [gnu-system-discuss](http://lists.gnu.org/mailman/listinfo/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/softwareprojects.mdwn b/hurd/running/gnu/softwareprojects.mdwn deleted file mode 100644 index 4790c5c9..00000000 --- a/hurd/running/gnu/softwareprojects.mdwn +++ /dev/null @@ -1,8 +0,0 @@ -Some of the GNU software effects the Hurd development directly or indirectly. Here's a place for notes about these changes. The official sources are the GNU software [Directory](http://www.gnu.org/directory/) (sponsored by the UN!), [Projects](http://www.gnu.org/projects/), [Packaging](http://www.gnu.org/software/packaging/) and [savannah](http://savannah.gnu.org/) pages, but this page is for Hurd related notes about them. - -
-
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/todo.mdwn b/hurd/running/gnu/todo.mdwn deleted file mode 100644 index e2dc2e89..00000000 --- a/hurd/running/gnu/todo.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -There are varying things to be done for the operating system requiring a variety of effort, and skills. The following are todo lists with a focus on meeting needs for releasing the GNU system. - -* [Alfred Szmidt's todo list](http://lists.gnu.org/archive/html/gnu-system-discuss/2006-06/msg00056.html) - Post to gnu-system-discuss on 21 Jun 2006. -* [Hurd Task list](http://savannah.gnu.org/task/?group=hurd) - Maintained on the GNU Savannah list. - -Page started. -- [[Main/AaronHawley]] - 29 Jun 2006 diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn deleted file mode 100644 index bf1b92e0..00000000 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ /dev/null @@ -1,158 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009 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]]."]]"""]] - -## 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 choice to continue building 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 combination. - -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? - - * Installation of a package is just drag the package (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 more complex than the earlier scheme but it is more exciting and we can look at this scheme seriously once we have the simple scheme working. - -All packages are installed at -`/packages/binary//`. - -For example 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 specify 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|setup]] - -ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] - -iii. Read about translators - -iv. Try out these cool [[translator_examples|translator/examples]] - -v. Add your name below and give a shout in the list. - - -## Comments?? - -Add your comments here - -## Interested? - -To join the project just list your name below. - - 1. PraveenA - 2. IsaacPraveen - 3. VikramVincent - 4. MaheshM - 5. Nidhin Raghavan - 6. Ajish.B - 7. Ambili.B - 8. Abhradip Mukherjee - 9. Ermenegildo Fiorito - 10. Oltion Doda - 11. Russell James -- cgit v1.2.3