On 2006/09/23 02:36, Bertrand CHERRIER wrote: > would you mind sharing how you did it ? > I'm very interested !!
I don't mind sharing, but reading installboot(8) is a prerequisite, because you need to understand what changes you're making with boot blocks or you are likely to become unstuck. So I won't include the command lines to type :-) I would not have chosen to do this if I didn't have working serial console access, also the box is on a masterswitch which gives me a bit more confidence to do this remotely. And I don't mind too much if this box is down until I can travel to fix it if I have to (about 4h by train, the most civilised way to travel to colo sites in the UK unless you have to carry kit!) In my case I've run amd64 on the same type of motherboard before; if you haven't, don't forget that the amd64 kernel might not run well on the box you're trying to change arch on. Also check that any devices you rely on are supported on amd64; some are not. I fetched the amd64 /usr/mdec files to /usr/mdec.amd64 (in this case from another amd64 box, but you could untar them from baseXX.tgz). I kept a copy of the i386 ones in /usr/mdec.i386 as well. I copied amd64 boot to /boot.amd, amd64 bsd.rd to /bsd.rd.amd64, then I used i386 installboot(8) to install amd64 biosboot and have it use the boot.amd bootloader. Then I edited boot.conf with 'set image bsd.rd.amd64' and rebooted into the installer and did a usual upgrade. (Without booting into bsd.rd there is a lot more mess, because you have to keep things like reboot, tar, gunzip, ld.so, libz, libc all working ok). I suppose yaifo is another alternative to bsd.rd here (but you have to hope the network comes up..) I was doing this on a box with 512mb DiskOnModule and I didn't have space to keep a local copy of the install files; given the space I would choose to do this in case there's any trouble getting the network to work. If you have any packages installed (I didn't), stop rc.local from running anything that's not in base since it will be the wrong arch. Also check over any important users, making sure that shells are from base not from packages. When you're done with upgrading base, you'll need to remove and reinstall your packages. If you haven't done a remote upgrade before (this is not the ideal way to start!), practice a lot before you try this. Have it clear in your mind what steps you need to take. Like the other recent thread about upgrading between versions, do practice on an similarly configured box locally if it's at all possible. If you have another way to do the changeover (say, reinstall from CD media at the console), it would probably be better to use it. But if you're going to have a long journey anyway, and you don't mind the box being down until you get there if it goes wrong, and you want a chance to avoid the trip, then maybe it's worth a try. But do plan for it to go wrong, that way you can't be disappointed!