107
108 This is really just a bit of a bootstrapping weirdness. Once that's done you can
109 go ahead and continue on.
110
111 As a part of this you should see an important two lines:
112
113 Cross-building enabled
114 Targeting arm on i386
115
116 If you don't, stop. illumos.sh is not configured correctly.
117
118
119 Once you have that you can get going. Start off with a resounding:
120
121 dmake setup
122
123 Following this, you can build the kernel as far as we have it for ARM
124
125 cd uts; dmake install
126
127 You now have a lovely unix and boot_archive pair in bcm2835/unix (raspberry
128 pi) and qvpb/unix (qemu versatilepb). These should be booted with a kernel
129 command line mimicing that of the boot_archive (regardless of the path of the
130 unix you actually provide). For example: kernel /platform/bcm2835/kernel/unix
131 -Bconsole=text
132
|
107
108 This is really just a bit of a bootstrapping weirdness. Once that's done you can
109 go ahead and continue on.
110
111 As a part of this you should see an important two lines:
112
113 Cross-building enabled
114 Targeting arm on i386
115
116 If you don't, stop. illumos.sh is not configured correctly.
117
118
119 Once you have that you can get going. Start off with a resounding:
120
121 dmake setup
122
123 Following this, you can build the kernel as far as we have it for ARM
124
125 cd uts; dmake install
126
127 You now have a lovely unix and boot_archive pair in bcm2835/unix (Raspberry
128 Pi) and qvpb/unix (qemu versatilepb).
129
130 Step 4) Boot
131
132 Now that you have the gate built, you can try to boot the kernel. This is
133 where things diverge between qemu and the Raspberry Pi.
134
135 Booting qemu is very easy:
136
137 qemu-system-arm \
138 -kernel $PROTO/platform/qvpb/kernel/loader \
139 -initrd $PROTO/platform/qvpb/kernel/initrd \
140 -machine versatilepb \
141 -cpu arm1176 \
142 -m 512 \
143 -no-reboot \
144 -nographic \
145 -append 'kernel /platform/qvpb/kernel/unix -Bconsole=uart'
146
147 The loader and kernel messages should appear in the same terminal.
148
149 Booting on real hardware is a bit more involved.
150
151 a) Create a FAT16 or FAT32 partition on the SD card. You'll want it to be
152 at least 40 MB.
153
154 b) Create a config.txt on the partition:
155
156 gpu_mem=64
157 kernel=loader
158 initramfs initrd 0x00800000
159
160 c) Create a cmdline.txt on the partition:
161
162 kernel /platform/bcm2835/kernel/unix -Bconsole=uart
163
164 d) Place Raspberry Pi firmware onto the partition. You can download
165 latest firmware from
166 https://github.com/raspberrypi/firmware/tree/master/boot. The firmware
167 from January 24th, 2015 is known to work.
168
169 0e52c8cdbfd21631746d6fcdc8f2750af39f4287 bootcode.bin
170 aba25d795eaddafd5c8ece3de18873b9928eb6f7 fixup_cd.dat
171 38e55d60f896738eec30d0ca4f62b68e48e99184 fixup.dat
172 4867e6eab84bb4138e812993112b6a05b7930b89 fixup_x.dat
173 fa993851acba366d9e37d59a1d9e9de84b19173f start_cd.elf
174 356060e0f44742d8835294a211b812efcac29f66 start.elf
175 b7f01f90d995a36c9d765fd1f4d95a5fcdfd7e41 start_x.elf
176
177 e) Copy $PROTO/platform/bcm2835/kernel/{loader,initrd} onto the partition.
|