summaryrefslogtreecommitdiff
path: root/community/weblogs/ArneBab/Hurd-showcase-qemu-image.mdwn
blob: af7cbab6e60acb909de7e424c98c665461a832c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
I’m currently preparing a qemu image for the Hurd which allows testing the capabilities of the Hurd with as little effort as possible. 

**Work in progress. These are my in-development notes.**

For that I want to use: 

* An up to date debian image (no longer online, but I have a copy here). 
* My [Hurd Intro](http://bitbucket.org/ArneBab/hurd_intro), 
* Translators from [hurd-extras](http://www.nongnu.org/hurdextras/) and the [incubator](https://git.savannah.gnu.org/cgit/hurd/incubator.git/), and naturally
* a lot of apt update; apt upgrade and apt dist-upgrade :) (all worked flawlessly). 

## Working

### Generally

    # ssh with public key
    ssh-keygen 
    
    # build tools
    apt install build-essential

### StoreIO

    # mount an iso image
    mount foo.iso bar -t iso9660fs
    # see myfile as device
    settrans foo /hurd/storeio myfile
    # so that means I can pack a complete chroot (300MB) into a file with storeio and ext2fs — giselher
    
    # nfs mount anywhere (TODO: check this with antrik)
    mount server:/home /home -t nfs
    settrans /home /hurd/nfs server:/home

## In Progress

### Hurdextras

    hg clone <hurdextras repo>

### httpfs

    # pkg-config is needed to avoid “PKG_CHECK_MODULES syntax error near unexpected token `HTTPFS,'”
    # pkg-config must be installed before you run autoreconf.
    apt install autoconf autoconf-archive libxml2-dev pkg-config
    autoreconf -i -f
    ./configure
    make
    make install
    
    settrans -ac gnu /usr/local/httpfs www.gnu.org/
    # (breaks, because libxml2 needs pthreads → work to do.)
    # (what we need: pthreads in translators. → see the [work of Barry](https://savannah.gnu.org/task/?func=detailitem&item_id=5487))
    # check: for i in `objdump -x /usr/local/bin/httpfs |grep NEEDED| sed s/.*NEEDED//`; do echo $i; objdump -x /usr/lib/$i | grep pthread; objdump -x /lib/$i | grep pthread; done

### Tarfs

    apt install zip libz-dev libbz2-dev
    git clone git://git.sv.gnu.org/hurd/incubator.git tarfs
    cd tarfs/
    git checkout tarfs/master
    cd tarfs
    make
    make install
    # works, though with warnings.
    
    settrans -ca new /hurd/tarfs -cz test/intro.tar.gz
    cp repos/intro/README new/
    settrans -g new
    tar -tf test/intro.tar.gz
    # works
    
    tar -cf test/intro.tar repos/intro 
    settrans -ac t /hurd/tarfs test/intro.tar
    # (settrans: /hurd/tarfs: Translator died :( ⇒ more work to do )

### nsmux

    git clone git://git.sv.gnu.org/hurd/incubator.git nsmux
    cd nsmux/
    git checkout -b nsmux origin/nsmux

    apt install autoconf autoconf-archive
    autoreconf -i -f
    ./configure
    make
    make install
    
    cd ../..
    mkdir test
    touch test/hello
    settrans -ca test2 /usr/local/bin/nsmux test
    # tar -cvf test/intro.tar repos/hurd_intro 
    cat test2/hello
    cat test2/hello,,hello
    # Hello, World!

### clisp

    git clone git://git.sv.gnu.org/hurd/incubator.git clisp
    cd clisp/
    git checkout -b clisp origin/clisp

    apt install texi2html
    make
    make install
    

### debugging Translators

    rpctrace